Documentation Index
Fetch the complete documentation index at: https://docs-v1.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This example demonstrates how to instrument your Agno agent with OpenInference and send traces to LangSmith.
Code
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
# Set the endpoint and headers for 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"),
}
# Configure the tracer provider
tracer_provider = TracerProvider()
tracer_provider.add_span_processor(
SimpleSpanProcessor(OTLPSpanExporter(endpoint=endpoint, headers=headers))
)
trace_api.set_tracer_provider(tracer_provider=tracer_provider)
# Start instrumenting agno
AgnoInstrumentor().instrument()
# Create and configure the agent
agent = Agent(
name="Stock Market Agent",
model=OpenAIChat(id="gpt-4o-mini"),
tools=[DuckDuckGoTools()],
markdown=True,
debug_mode=True,
)
# Use the agent
agent.print_response("What is news on the stock market?")
Usage
Install Dependencies
pip install agno openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp arize-otel
Set Environment Variables
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>
Run the Agent
python cookbook/observability/langsmith_via_openinference.py
Notes
- Data Regions: Choose the appropriate
LANGSMITH_ENDPOINT based on your data region.