LangSmith
Send Agno traces to a LangSmith project with OpenInference and OpenTelemetry.
Send Agno agent traces to LangSmith through its OpenTelemetry endpoint.
Prerequisites
-
Create a LangSmith Account
- Sign up for an account at LangSmith.
- Obtain your API key from the LangSmith dashboard.
-
Set Environment Variables
export LANGSMITH_API_KEY="your-key" export LANGSMITH_ENDPOINT=https://eu.api.smith.langchain.com # or https://api.smith.langchain.com for US export LANGSMITH_PROJECT="your-project-name" export OPENAI_API_KEY="your-openai-key" -
Install Dependencies
uv pip install -U agno openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp
Sending Traces to LangSmith
import os
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.hackernews import HackerNewsTools
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 = os.environ["LANGSMITH_ENDPOINT"].rstrip("/")
endpoint = f"{langsmith_endpoint}/otel/v1/traces"
headers = {
"x-api-key": os.environ["LANGSMITH_API_KEY"],
"Langsmith-Project": os.environ["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)
AgnoInstrumentor().instrument()
agent = Agent(
name="Stock Market Agent",
model=OpenAIResponses(id="gpt-5.2"),
tools=[HackerNewsTools()],
markdown=True,
debug_mode=True,
)
agent.print_response("What is news on the stock market?")Run the Example
Save the code as langsmith_tracing.py, then run:
python langsmith_tracing.pyData Region
Set LANGSMITH_ENDPOINT to the endpoint for your LangSmith data region. The code appends /otel/v1/traces to that value.