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 消耗峰值告警 |
坑与注意
- 数据不落本地:默认 Phoenix 把 trace 数据发送到阿里云/云端,敏感应用需确认数据合规。建议企业版或自托管。
- instrumentation 版本匹配:OpenTelemetry 生态各 instrumentation 包版本需与主库匹配,否则可能丢数据。
- Jupyter Notebook 友好:在 Notebook 环境下 Phoenix 有专用 API(
px.Session),直接px.launch()即可开面板。 - 采样率:生产环境 trace 量可能很大,建议通过
sampler参数做采样。 - 中文文档偏少:主文档和示例多为英文,部分冷门框架的集成文档不够完整。
与同类对比
| 方案 | 优势 | 劣势 |
|---|---|---|
| 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 花了多少、答案质量几何。