LangSmith 可以使用其内置的 OpenTelemetry 检测功能来捕获 PydanticAI 生成的追踪。本指南向您展示如何从 PydanticAI 代理自动捕获追踪并将其发送到 LangSmith 进行监控和分析。
安装
安装所需的包:
pip install langsmith pydantic-ai opentelemetry-exporter-otlp
uv add langsmith pydantic-ai opentelemetry-exporter-otlp
设置
1. 配置环境变量
设置您的 API 密钥 和项目名称:
2. 配置 OpenTelemetry 集成
在您的 PydanticAI 应用中,配置 LangSmith OpenTelemetry 集成:
from langsmith.integrations.otel import configure
from pydantic_ai import Agent
# Configure LangSmith tracing
configure(project_name="pydantic-ai-demo")
# Instrument all PydanticAI agents
Agent.instrument_all()
3. 创建并运行您的 PydanticAI 代理
配置完成后,您的 PydanticAI 代理将自动发送追踪到 LangSmith:
from langsmith.integrations.otel import configure
from pydantic_ai import Agent
# Configure LangSmith tracing
configure(project_name="pydantic-ai-demo")
# Instrument all PydanticAI agents
Agent.instrument_all()
# Create and run an agent
agent = Agent('openai:gpt-5.5')
result = agent.run_sync('What is the capital of France?')
print(result.output)
#> Paris
高级用法
自定义元数据和标签
您可以使用 OpenTelemetry span 属性向追踪添加自定义元数据:
from opentelemetry import trace
from pydantic_ai import Agent
from langsmith.integrations.otel import configure
configure(project_name="pydantic-ai-metadata")
Agent.instrument_all()
tracer = trace.get_tracer(__name__)
agent = Agent('openai:gpt-5.5')
with tracer.start_as_current_span("pydantic_ai_workflow") as span:
span.set_attribute("langsmith.metadata.user_id", "user_123")
span.set_attribute("langsmith.metadata.workflow_type", "question_answering")
span.set_attribute("langsmith.span.tags", "pydantic-ai,production")
result = agent.run_sync('Explain quantum computing in simple terms')
print(result.output)