> ## 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

## 概述

此示例演示了如何使用 OpenInference 为您的 Agno Agent 添加代理，并将追踪信息发送到 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?")
```

## 用法

<Steps>
  <Step title="安装依赖项">
    ```bash theme={null}
    pip install agno openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp
    ```
  </Step>

  <Step title="设置环境变量">
    ```bash theme={null}
    export LANGSMITH_API_KEY=<your-key>
    export LANGSMITH_TRACING=true
    export LANGSMITH_ENDPOINT=https://eu.api.smith.langchain.com  # or https://api.smith.langchain.com for US
    export LANGSMITH_PROJECT=<your-project-name>
    ```
  </Step>

  <Step title="运行代理">
    <CodeGroup>
      ```bash Mac theme={null}
      python cookbook/observability/langsmith_via_openinference.py
      ```

      ```bash Windows theme={null}
      python cookbook/observability/langsmith_via_openinference.py
      ```
    </CodeGroup>
  </Step>
</Steps>

## 注意事项

* **数据区域**: 根据您的数据区域选择合适的 `LANGSMITH_ENDPOINT`。
