> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# LangSmith

> 集成 Agno 与 LangSmith，发送追踪信息并深入了解您的代理性能。

## 集成 Agno 与 LangSmith

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

## 先决条件

1. **创建 LangSmith 账户**

   * 在 [LangSmith](https://smith.langchain.com) 注册一个账户。
   * 从 LangSmith 控制面板获取您的 API 密钥。

2. **设置环境变量**

   使用 LangSmith API 密钥和其他必要的设置配置您的环境：

   ```bash theme={null}
   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. **安装依赖项**

   确保您已安装必要的软件包：

   ```bash theme={null}
   pip install openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp
   ```

## 发送追踪信息到 LangSmith

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

```python theme={null}
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 代理的全面可观测性和监控。
