사전 요구 사항
Weave에 트레이스를 전송하려면 OTEL 의존성을 설치하고 OTEL 익스포터를 설정해야 합니다. 필수 OTEL 의존성을 설치하세요:Weave에서 OTEL 트레이싱 설정
PydanticAI에서 Weave로 트레이스를 보내려면TracerProvider와 OTLPSpanExporter로 OTEL을 설정하세요. 익스포터에는 인증 및 프로젝트 식별에 필요한 올바른 엔드포인트와 HTTP 헤더를 지정하세요.
API 키나 프로젝트 정보 같은 민감한 환경 변수는 환경 파일(예: .env)에 저장하고 os.environ으로 불러오세요. 이렇게 하면 자격 증명을 코드베이스와 분리해 안전하게 보관할 수 있습니다.
필수 설정
- 엔드포인트:
https://trace.wandb.ai/otel/v1/traces - 헤더:
Authorization: W&B API 키를 사용한 기본 인증.project_id: W&B entity와 프로젝트 이름 (예:myteam/myproject).
예시 설정
다음 코드 스니펫은 PydanticAI 애플리케이션에서 OTEL 트레이스를 Weave로 전송하기 위해 OTLP span 익스포터와 트레이서 프로바이더를 설정하는 방법을 보여줍니다.tracer_provider를 PydanticAI 에이전트에 전달하여 OTEL 트레이스를 Weave로 라우팅할 수 있습니다.
PydanticAI 에이전트를 OTEL로 트레이스
PydanticAI 에이전트를 트레이스하고 트레이스 데이터를 Weave로 전송하려면, 트레이서 프로바이더로 설정된InstrumentationSettings 객체를 Agent Constructor에 전달하세요. 이렇게 하면 모든 에이전트와 도구 Call이 OTEL 설정에 따라 트레이스됩니다.
다음 예시는 트레이싱이 활성화된 기본 에이전트를 만드는 방법을 보여줍니다. 핵심 단계는 에이전트를 초기화할 때 instrument 인수를 설정하는 것입니다:

PydanticAI 도구를 OTEL로 트레이스하기
Weave는 OTEL로 계측된 모든 PydanticAI 오퍼레이션을 트레이스할 수 있으며, 에이전트와 도구 Call을 모두 포함합니다. 즉, 에이전트가 도구(예:@agent.tool_plain으로 데코레이트된 함수)를 호출할 때, 도구 입력, 출력, 모델의 추론을 포함한 전체 상호작용이 Weave에서 캡처되어 시각화됩니다.
다음 예시는 system 프롬프트와 도구가 있는 에이전트를 만드는 방법을 보여줍니다. 에이전트와 도구 모두에 대해 트레이싱이 자동으로 활성화됩니다:

모든 에이전트에 기본적으로 계측 적용
애플리케이션의 모든 PydanticAI 에이전트에 OTel 트레이싱을 적용하려면Agent.instrument_all() 방법을 사용하세요. 이렇게 하면 instrument 매개변수를 명시적으로 지정하지 않은 모든 에이전트에 대해 기본 InstrumentationSettings 인스턴스를 설정합니다.