Arize-ai/phoenix · 上手攻略

  • 仓库:Arize-ai/phoenix
  • 链接:https://github.com/Arize-ai/phoenix
  • 分类:ai(主分类:evaluation)
  • 作者:Tom
  • 更新:2026-07-11

这是什么

Phoenix 是 Arize 开源的可观测性平台,专为 LLM 应用设计,提供追踪(Tracing)评估(Evaluation)数据集管理实验对比四大核心能力。

在 LLM 应用开发中,最大的痛点之一是「看不见内部」——你不知道 RAG 检索到了什么文档、Token 消耗了多少、哪次调用拖慢了整体响应。Phoenix 用 OpenTelemetry 标准在每个关键节点打点,让你像看分布式系统一样看 LLM 应用。

核心定位:LangChain、LlamaIndex、OpenAI Agents SDK 等主流框架的「透视镜」,同时支持 Vercel AI SDK、 CrewAI、Mastra、 DSPy 等。


解决什么问题

  • 排查 LLM 应用 Bug:看 RAG 检索了哪些文档、Embedding 用的是什么内容
  • 评估应用质量:用 LLM-as-a-Judge 自动打分(答案相关性、检索相关性等)
  • 对比实验:同一应用换不同 Prompt / 模型 / 检索策略,对比效果差异
  • 成本分析:Token 消耗明细、延迟分布
  • Prompt 管理:版本化管控系统提示词,配合 A/B 测试

快速安装

pip 安装(本地使用)

pip install arize-phoenix

Docker 部署

docker pull arizephoenix/phoenix
docker run -p 6006:6006 arizephoenix/phoenix

访问 http://localhost:6006 打开 Phoenix Web UI。

云端托管

Ariz e AI 提供免费云端实例:app.phoenix.arize.com(注册即可用,适合快速体验)。


核心用法

1. 快速追踪(Tracing)——以 OpenAI 为例

Phoenix 的追踪基于 OpenTelemetry,安装对应 instrumentation 包后自动埋点:

pip install openinference-instrumentation-openai
# 方式一:自动埋点(最简)
from phoenix.trace.openai import OpenAIInstrumentor

OpenAIInstrumentor().instrument()

# 之后所有 OpenAI 调用自动追踪
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "解释 RAG"}]
)
# 方式二:使用 arize-phoenix 客户端手动发送 trace
import openai
from phoenix.trace import Span

client = openai.OpenAI()
# Phoenix 会自动记录每次 API 调用的输入/输出/延迟/Token 消耗

2. 追踪 LlamaIndex 应用

pip install openinference-instrumentation-llama-index
from phoenix.trace LlamaIndexInstrumentor

LlamaIndexInstrumentor().instrument()

# 之后 LlamaIndex 的每一步——检索、生成——全部被记录

3. 追踪 LangChain 应用

pip install openinference-instrumentation-langchain
from phoenix.trace.langchain import LangChainInstrumentor

LangChainInstrumentor().instrument()

4. 运行评估(Evaluation)

Phoenix 提供 LLM-as-a-Judge 评估能力:

pip install arize-phoenix-evals
from phoenix.evals import run_evals, llm_eval

# 评估 RAG 答案质量
eval_results = run_evals(
    eval_name="answer_relevance",
    dataframe=df_with_responses,
    model="gpt-4o"
)

5. Prompt 管理

在 Phoenix UI 中可以: - 创建 Prompt 版本(带 Tag) - 对比两个版本的输出差异 - 将 Prompt 接入 CI/CD 流程

6. MCP Server 接入

Phoenix 提供 MCP Server,可被 Claude Code、Cursor 等 AI 编码工具直接调用:

npx @arizeai/phoenix-cli@latest serve

典型适用场景

场景 价值
RAG 应用调试 看到每条检索的文档内容、相关性分数、Embedding 文本
Prompt 迭代 版本对比,找最优 Prompt
模型选型 同一任务对比不同模型输出质量与成本
应用上线前评估 构建评估数据集,批量打分
生产环境监控 延迟异常、Token 消耗峰值告警

坑与注意

  1. 数据不落本地:默认 Phoenix 把 trace 数据发送到阿里云/云端,敏感应用需确认数据合规。建议企业版或自托管。
  2. instrumentation 版本匹配:OpenTelemetry 生态各 instrumentation 包版本需与主库匹配,否则可能丢数据。
  3. Jupyter Notebook 友好:在 Notebook 环境下 Phoenix 有专用 API(px.Session),直接 px.launch() 即可开面板。
  4. 采样率:生产环境 trace 量可能很大,建议通过 sampler 参数做采样。
  5. 中文文档偏少:主文档和示例多为英文,部分冷门框架的集成文档不够完整。

与同类对比

方案 优势 劣势
Phoenix 框架覆盖最广(20+)、开源免费、Jupyter 原生、评估能力强 需自托管或接受云端数据
Weave(Weights & Biases) 与 W&B 生态绑定紧,实验管理更强 仅限 LLM 应用,框架覆盖较少
LangSmith LangChain 官方,生态无缝 收费贵,主要面向 LangChain
OpenTelemetry + Jaeger 通用标准,不绑定厂商 需自己搭 UI,无 LLM 专用分析视图
G retel Fuses 专注 RAG 评估 功能相对单一

结论:需要免费、开源、框架无关的 LLM 可观测性 → Phoenix。已有 W&B 生态或需要强实验管理 → Weave。


一句话推荐

如果你在做 LLM 应用(不管用 LangChain、LlamaIndex 还是自研),Phoenix 是目前最值得引入的可观测层——安装一个 pip install arize-phoenix,立刻看清 RAG 检索了什么、Token 花了多少、答案质量几何。