集成 Agno 与 LangSmith

LangSmith 提供了一个全面的平台,用于追踪和监控 AI 模型调用。通过将 Agno 与 LangSmith 集成,您可以使用 OpenInference 发送追踪信息,并深入了解您的代理性能。

先决条件

  1. 创建 LangSmith 账户
    • LangSmith 注册一个账户。
    • 从 LangSmith 控制面板获取您的 API 密钥。
  2. 设置环境变量 使用 LangSmith API 密钥和其他必要的设置配置您的环境:
    export LANGSMITH_API_KEY=<your-key>
    export LANGSMITH_TRACING=true
    export LANGSMITH_ENDPOINT=https://eu.api.smith.langchain.com  # 或美国地区使用 https://api.smith.langchain.com
    export LANGSMITH_PROJECT=<your-project-name>
    
  3. 安装依赖项 确保您已安装必要的软件包:
    pip install openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp
    

发送追踪信息到 LangSmith

此示例演示了如何使用 OpenInference 为您的 Agno 代理进行仪器配置,并将追踪信息发送到 LangSmith。
import os

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
from openinference.instrumentation.agno import AgnoInstrumentor
from opentelemetry import trace as trace_api
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import SimpleSpanProcessor

# 设置 LangSmith 的端点和标头
endpoint = "https://eu.api.smith.langchain.com/otel/v1/traces"
headers = {
    "x-api-key": os.getenv("LANGSMITH_API_KEY"),
    "Langsmith-Project": os.getenv("LANGSMITH_PROJECT"),
}

# 配置追踪器提供程序
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(
    SimpleSpanProcessor(OTLPSpanExporter(endpoint=endpoint, headers=headers))
)
trace_api.set_tracer_provider(tracer_provider=tracer_provider)

# 开始仪器化 agno
AgnoInstrumentor().instrument()

# 创建并配置代理
agent = Agent(
    name="Stock Market Agent",
    model=OpenAIChat(id="gpt-4o-mini"),
    tools=[DuckDuckGoTools()],
    markdown=True,
    debug_mode=True,
)

# 使用代理
agent.print_response("What is news on the stock market?")

注意事项

  • 环境变量: 确保您的 API 密钥、端点和项目名称的环境变量已正确设置。
  • 数据区域: 根据您使用的数据区域选择合适的 LANGSMITH_ENDPOINT
通过遵循这些步骤,您可以有效地将 Agno 与 LangSmith 集成,从而实现对 AI 代理的全面可观测性和监控。