Arize Phoenix
Integrate Agno with Arize Phoenix to send traces and evaluate your agent's performance.
Integrating Agno with Arize Phoenix
Arize Phoenix is the open-source observability and evaluation platform from Arize AI for tracing, evaluating, and debugging LLM applications and AI agents. By integrating Agno with Arize Phoenix, you can use OpenInference to send traces and understand your agent's runtime behavior.
Phoenix is a good fit for local development, OSS workflows, and self-hosted experimentation. Teams that need the full-featured platform for production AI observability and evaluation can use Arize AX, available as managed cloud or enterprise self-hosted deployment. For examples of how traces turn into evaluation workflows, see Arize's agent evaluation guide and LLM evaluation guide.
Set OpenAI Key
Set your OPENAI_API_KEY as an environment variable. You can get one from OpenAI.
export OPENAI_API_KEY=sk-***Prerequisites
-
Install Dependencies
Ensure you have the necessary packages installed:
uv pip install agno arize-phoenix openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp yfinance -
Setup Arize Phoenix Account
- Create an account at Arize Phoenix.
- Obtain your API key and copy the collector endpoint for your Phoenix instance from its settings.
-
Set Environment Variables
Configure your environment with the Arize Phoenix API key:
export PHOENIX_API_KEY="your-key" export PHOENIX_COLLECTOR_ENDPOINT="your-instance-collector-endpoint"
Sending Traces to Arize Phoenix
Example: Using Arize Phoenix with OpenInference
Instrument your Agno agent with OpenInference and send traces to Arize Phoenix.
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.yfinance import YFinanceTools
from phoenix.otel import register
# register reads PHOENIX_API_KEY and the instance-specific
# PHOENIX_COLLECTOR_ENDPOINT from the environment.
# Configure the Phoenix tracer
tracer_provider = register(
project_name="agno-stock-price-agent", # Default is 'default'
auto_instrument=True, # Automatically use the installed OpenInference instrumentation
)
# Create and configure the agent
agent = Agent(
name="Stock Price Agent",
model=OpenAIResponses(id="gpt-5.2"),
tools=[YFinanceTools()],
instructions="You are a stock price agent. Answer questions in the style of a stock analyst.",
debug_mode=True,
)
# Use the agent
agent.print_response("What is the current price of Tesla?")Now open your Phoenix instance and view the traces created by your agent. You can visualize the execution flow, monitor performance, and debug issues directly from the Arize Phoenix dashboard.

Example: Local Collector Setup
For local development, you can run a local collector using
phoenix serveimport os
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.yfinance import YFinanceTools
from phoenix.otel import register
# Set the local collector endpoint
os.environ["PHOENIX_COLLECTOR_ENDPOINT"] = "http://localhost:6006"
# Configure the Phoenix tracer
tracer_provider = register(
project_name="agno-stock-price-agent", # Default is 'default'
auto_instrument=True, # Automatically use the installed OpenInference instrumentation
)
# Create and configure the agent
agent = Agent(
name="Stock Price Agent",
model=OpenAIResponses(id="gpt-5.2"),
tools=[YFinanceTools()],
instructions="You are a stock price agent. Answer questions in the style of a stock analyst.",
debug_mode=True,
)
# Use the agent
agent.print_response("What is the current price of Tesla?")Notes
- Environment Variables: Ensure your environment variables are correctly set for the API key and collector endpoint.
- Local Development: Use
phoenix serveto start a local collector for development purposes.