概览

本示例演示了如何使用 OpenInference 对 Agno 代理进行仪器化,并将跟踪发送到本地 Arize Phoenix 收集器。

代码

import os

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

# 设置 Arize Phoenix 的本地收集器端点
os.environ["PHOENIX_COLLECTOR_ENDPOINT"] = "http://localhost:6006"

# 配置 Phoenix Tracer
tracer_provider = register(
    project_name="agno-stock-price-agent",  # 默认为 'default'
    auto_instrument=True,  # 自动使用已安装的 OpenInference 仪器化
)

# 创建并配置代理
agent = Agent(
    name="Stock Price Agent",
    model=OpenAIChat(id="gpt-4o-mini"),
    tools=[YFinanceTools()],
    instructions="你是一个股票价格代理。请以股票分析师的风格回答问题。",
    debug_mode=True,
)

# 使用代理
agent.print_response("特斯拉目前的股价是多少?")

使用

1

安装依赖项

pip install agno arize-phoenix openai openinference-instrumentation-agno opentelemetry-sdk opentelemetry-exporter-otlp
2

启动本地收集器

运行以下命令启动本地收集器:

phoenix serve
3

运行代理

python cookbook/observability/arize_phoenix_via_openinference_local.py