시작하기
시작하려면 스크립트 시작 부분에서 간단히weave.init()
를 호출하세요. weave.init()의 인수는 추적을 구성하는 데 도움이 되는 프로젝트 이름입니다.
호출 메타데이터 추적
LangChain 호출의 메타데이터를 추적하려면weave.attributes
컨텍스트 관리자를 사용할 수 있습니다. 이 컨텍스트 관리자를 사용하면 체인이나 단일 요청과 같은 특정 코드 블록에 대한 사용자 정의 메타데이터를 설정할 수 있습니다.

추적
개발 및 프로덕션 단계에서 LLM 애플리케이션의 추적을 중앙 데이터베이스에 저장하는 것이 중요합니다. 이러한 추적은 가치 있는 데이터셋을 제공하여 애플리케이션을 디버깅하고 개선하는 데 필수적입니다. Weave는 LangChain 애플리케이션에 대한 추적을 자동으로 캡처합니다. 프롬프트 템플릿, 체인, LLM 호출, 도구 및 에이전트 단계를 포함하여 LangChain 라이브러리를 통해 이루어진 모든 호출을 추적하고 로깅합니다. Weave 웹 인터페이스에서 추적을 볼 수 있습니다.
수동으로 호출 추적하기
자동 추적 외에도WeaveTracer
콜백이나 weave_tracing_enabled
컨텍스트 관리자를 사용하여 수동으로 호출을 추적할 수 있습니다. 이러한 방법은 LangChain 애플리케이션의 개별 부분에서 요청 콜백을 사용하는 것과 유사합니다.
Note: Weave는 기본적으로 Langchain Runnables를 추적하며 이는 weave.init()
를 호출할 때 활성화됩니다. 환경 변수 WEAVE_TRACE_LANGCHAIN
를 "false"
로 설정하여 weave.init()
를 호출하기 전에 이 동작을 비활성화할 수 있습니다. 이를 통해 애플리케이션의 특정 체인이나 개별 요청의 추적 동작을 제어할 수 있습니다.
Using WeaveTracer
You can pass the WeaveTracer
callback to individual LangChain components to trace specific requests.
Using weave_tracing_enabled
Context Manager
Alternatively, you can use the weave_tracing_enabled
context manager to enable tracing for specific blocks of code.
구성
Upon callingweave.init
, tracing is enabled by setting the environment variable WEAVE_TRACE_LANGCHAIN
를 "true"
로 설정하여 추적이 활성화됩니다. 이를 통해 Weave는 LangChain 애플리케이션에 대한 추적을 자동으로 캡처할 수 있습니다. 이 동작을 비활성화하려면 환경 변수를 "false"
로 설정하세요.
LangChain 콜백과의 관계
자동 로깅
The automatic logging provided byweave.init()
는 LangChain 애플리케이션의 모든 구성 요소에 생성자 콜백을 전달하는 것과 유사합니다. 이는 프롬프트 템플릿, 체인, LLM 호출, 도구 및 에이전트 단계를 포함한 모든 상호 작용이 전체 애플리케이션에서 전역적으로 추적된다는 것을 의미합니다.
수동 로깅
수동 로깅 방법(WeaveTracer
와 weave_tracing_enabled
)은 LangChain 애플리케이션의 개별 부분에서 요청 콜백을 사용하는 것과 유사합니다. 이러한 방법은 애플리케이션의 어떤 부분이 추적되는지에 대한 더 세밀한 제어를 제공합니다:
- 생성자 콜백: 전체 체인이나 구성 요소에 적용되어 모든 상호 작용을 일관되게 로깅합니다.
- 요청 콜백:특정 요청에 적용되어 특정 호출에 대한 상세한 추적을 가능하게 합니다.
모델 및 평가
다양한 사용 사례에 대한 애플리케이션에서 LLM을 구성하고 평가하는 것은 프롬프트, 모델 구성, 추론 매개변수와 같은 여러 구성 요소가 있어 어렵습니다.weave.Model
를 사용하면 시스템 프롬프트나 사용하는 모델과 같은 실험 세부 정보를 캡처하고 구성하여 다양한 반복을 비교하기 쉽게 만들 수 있습니다.
다음 예제는 Langchain 체인을 WeaveModel
로 래핑하는 방법을 보여줍니다:

serve
, 및 Evaluations
와 함께 사용할 수도 있습니다.
평가
평가는 모델의 성능을 측정하는 데 도움이 됩니다.weave.Evaluation
클래스를 사용하면 모델이 특정 작업이나 데이터셋에서 얼마나 잘 수행되는지 캡처하여 다양한 모델과 애플리케이션의 반복을 비교하기 쉽게 만들 수 있습니다. 다음 예제는 우리가 생성한 모델을 평가하는 방법을 보여줍니다:

알려진 문제
- 비동기 호출 추적 - Langchain의
AsyncCallbackManager
구현에 버그가 있어 비동기 호출이 올바른 순서로 추적되지 않습니다. 이를 수정하기 위해 PR을 제출했습니다. 따라서 Langchain Runnables에서ainvoke
,astream
및abatch
메서드를 사용할 때 추적에서 호출 순서가 정확하지 않을 수 있습니다.