Arize Phoenix Local Via OpenInference

Send stock-agent traces to a self-hosted Phoenix collector at localhost:6006 under a named project.

Demonstrates instrumenting an Agno agent and sending traces to a local Phoenix instance.

arize_phoenix_via_openinference_local.py
"""
Arize Phoenix Local Via OpenInference
=====================================

Demonstrates instrumenting an Agno agent and sending traces to a local Phoenix instance.
"""

import os

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.yfinance import YFinanceTools
from phoenix.otel import register

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------
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 Agent
# ---------------------------------------------------------------------------
agent = Agent(
    name="Stock Price Agent",
    model=OpenAIChat(id="gpt-5.2"),
    tools=[YFinanceTools()],
    instructions="You are a stock price agent. Answer questions in the style of a stock analyst.",
)


# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    agent.print_response("What is the current price of Tesla?")

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno arize-phoenix openai openinference-instrumentation-agno yfinance

Export your OpenAI API key

export OPENAI_API_KEY="your_openai_api_key_here"

Start Phoenix

Start the local Phoenix receiver on port 6006 and leave it running in a separate terminal:

python -m phoenix.server.main serve

Run the example

Save the code above as arize_phoenix_via_openinference_local.py, then run:

python arize_phoenix_via_openinference_local.py

Full source: cookbook/observability/arize_phoenix_via_openinference_local.py