凤凰AI观测平台Skill:让 LLM 应用的每一次调用都可追踪、可评估、可监控
- 一句话认识它:这是一个把开源 AI 观测平台 Phoenix 封装成可被 AI 技能直接调用的工具,围绕 LLM 应用的「追踪 — 评估 — 实验 — 监控」闭环提供落地指导与代码范式。
- 核心能力:基于 OpenTelemetry 的追踪采集、LLM 作为裁判的自动评估、版本化数据集、提示与模型对比实验,以及可自托管的生产监控。
- 适合谁用:正在调试 RAG、智能体、对话机器人的应用开发者,需要做提示词/模型选型的算法工程师,以及要把 LLM 质量纳入 CI/CD 的 ML 平台工程师。
- 最大差异点:开源、可自托管、支持 PostgreSQL 持久化,不绑定单一厂商;同时兼容 OpenAI、LangChain、LlamaIndex、Anthropic 等主流框架。
- 安装门槛:一条
pip install arize-phoenix即可起步,本地默认地址为http://localhost:6006。
该技能叫什么?如何一键安装 AI 技能提升开发效率?
技能基础信息
| 项目 | 内容 |
|---|---|
| 中文名 | 凤凰AI观测平台Skill |
| 英文名 | phoenix-observability |
| 技能ID | 12391 |
| 定位 | 开源 AI 观测与评估平台(Phoenix / Arize)的 AI 技能封装 |
| 依赖 | arize-phoenix>=12.0.0 |
| 许可 | 开源(具体许可条款以官方说明为准) |
它解决什么问题?
大模型应用有一个普遍的痛点:出了问题看不见、改完之后说不清。提示词改了效果变差、模型换了回答跑偏、RAG 检索到了错误上下文、线上偶发幻觉——这些在传统日志里几乎是黑盒。开发者往往只能靠打印 print() 和肉眼比对输出来猜,效率极低。
凤凰AI观测平台Skill 把这套「可观测性」能力工程化:它给出标准化的追踪接入方式(OpenTelemetry + OpenInference 仪表化)、评估器用法、数据集与实验流程,以及生产部署参数,让 AI 助手或开发者可以在统一范式下完成 LLM 应用的诊断与优化。
一键安装的思路与步骤
- 安装前提:准备好 Python 环境,并确保可以访问 Python 包仓库;若计划用于生产,建议额外准备一个 PostgreSQL 实例用于持久化存储。
- 安装核心包与可选扩展:
pip install arize-phoenix
# 按需安装扩展能力
pip install arize-phoenix[embeddings] # 嵌入分析
pip install arize-phoenix-otel # OpenTelemetry 配置
pip install arize-phoenix-evals # 评估框架
pip install arize-phoenix-client # 轻量级 REST 客户端
- 启动观测服务:在笔记本或脚本中调用
px.launch_app()启动;生产环境使用命令行phoenix serve,默认监听 6006 端口。 - 验证是否生效:打开
http://localhost:6006查看 Phoenix UI;接入追踪后发起一次模型调用,若在 UI 中能看到对应的追踪与跨度,说明链路打通。若追踪未出现,可检查endpoint是否写为http://localhost:6006/v1/traces,并调用force_flush()强制刷新。
由于该技能的具体安装入口(例如技能市场中的安装命令、客户端版本要求)以技能详情为准,文中未列出的命令与链接请以官方说明为准。
该技能的主要功能和特点
- 全链路追踪(Tracing):以「追踪 = 一次完整执行流程,跨度 = 流程中的单个操作」为模型,基于 OpenTelemetry 采集数据,兼容任意 LLM 框架。父子跨度自动嵌套,可以把「检索上下文 → 生成回答」的完整过程串起来看。
- 自动评估(Evals):提供 LLM 作为裁判的评估能力,内置幻觉、相关性、毒性等评估器,也支持用模板 +
llm_classify定义自定义评估标准(例如「有帮助 / 无帮助」二分类)。 - 版本化数据集(Datasets):把测试集当作工程资产管理,支持创建数据集、添加样例、持续迭代,用于回归测试和实验对比。
- 实验(Experiments):用同一个数据集跑不同提示词、不同模型、不同配置,通过自定义评估器打分并聚合指标,让「改哪个更好」有数据支撑,而不是靠感觉。
- 游乐场(Playground):交互式提示测试,支持多种模型并排比较。
- 轻量客户端 API:用
Client直接查询跨度 DataFrame、按条件过滤、导出数据到 pandas、回写人工反馈标注。 - 可自托管的生产部署:支持 Docker 一键运行、PostgreSQL 持久化、环境变量配置端口/存储/认证,适合对内网数据敏感的团队。
- 与普通工具相比强在哪:普通日志只能记录文本,无法表达调用层级与耗时关系;Phoenix 把「结构化追踪 + 评估指标 + 数据集实验」放在同一个平台里,形成从发现问题到验证修复的闭环,且开源不锁定供应商。
如何使用该技能?
第 1 步:启动服务
import phoenix as px
session = px.launch_app()
print(session.url) # http://localhost:6006
生产环境改用命令行:phoenix serve --port 6006。
第 2 步:接入追踪
from phoenix.otel import register
from openinference.instrumentation.openai import OpenAIInstrumentor
tracer_provider = register(
project_name="my-llm-app",
endpoint="http://localhost:6006/v1/traces"
)
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
不同框架只需替换仪表化类:LangChainInstrumentor、LlamaIndexInstrumentor、AnthropicInstrumentor。接入后无需改动业务代码,原有调用自动被记录。
第 3 步:埋自定义跨度
with tracer.start_as_current_span("process_query") as span:
span.set_attribute("input.value", query)
with tracer.start_as_current_span("retrieve_context"):
context = retriever.search(query)
with tracer.start_as_current_span("generate_response"):
response = llm.generate(query, context)
span.set_attribute("output.value", response)
第 4 步:跑一次评估
from phoenix.evals import OpenAIModel, HallucinationEvaluator
eval_model = OpenAIModel(model="gpt-4o")
results = HallucinationEvaluator(eval_model).evaluate(
input="What is the capital of France?",
output="The capital of France is Paris.",
reference="Paris is the capital of France."
)
输出说明:评估结果会给出标签与解释,可再用 client.log_evaluations() 写回 Phoenix,在 UI 中与追踪关联查看。
第 5 步:建数据集 + 跑实验
先 client.create_dataset(name="qa-test-set", ...) 创建数据集并 add_examples_to_dataset() 添加样例;然后定义任务函数 my_model 与评估函数 accuracy_evaluator,调用 run_experiment(dataset_name="qa-test-set", task=my_model, evaluators=[accuracy_evaluator], experiment_name="baseline-v1"),最后通过 results.aggregate_metrics['accuracy'] 读取平均准确率。
第 6 步:查询与反馈
spans_df = client.get_spans_dataframe(
project_name="my-app",
filter_condition="span_kind == 'LLM'",
limit=1000
)
client.log_annotation(span_id="abc123", name="user_rating",
annotator_kind="HUMAN", score=0.8, label="有帮助")
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| 凤凰AI观测平台(phoenix-observability / Phoenix) | 开源 LLM 观测与评估平台 | 追踪、评估、数据集、实验、游乐场、自托管监控 | 中低,pip install arize-phoenix 即可本地跑;生产需 PostgreSQL |
需要自托管、要求数据不出内网、要打通调试到评估闭环的团队 | 优势:开源、无供应商锁定、框架兼容广;不足:需自行运维服务与数据库 |
| LangSmith | 托管式 LLM 应用管理平台 | 追踪、评估、提示管理、与 LangChain 深度集成 | 低,注册即用 | 重度使用 LangChain 生态、希望零运维的团队 | 优势:开箱即用、链路顺畅;不足:以托管为主,深度绑定 LangChain 生态 |
| Weights & Biases | 深度学习实验跟踪平台 | 实验记录、指标可视化、模型与数据集管理 | 中,需要熟悉实验管理概念 | 传统 ML/深度学习训练过程追踪 | 优势:实验管理成熟;不足:对 LLM 追踪与提示级评估的原生支持不如专用观测平台 |
| Arize Cloud | Phoenix 的商业托管版本 | 企业级功能、托管运维 | 低,SaaS 接入 | 需要 SLA、企业治理能力且不希望自运维的组织 | 优势:省运维、企业特性;不足:为商业服务,与自托管开源路线取舍不同 |
选择建议:如果数据敏感、追求成本可控与可迁移性,优先考虑自托管的凤凰AI观测平台;如果团队已经深度使用特定框架且不想运维,托管方案更省心。
该技能的典型应用场景与实际体验情况
场景一:RAG 应用开发者的幻觉定位
角色是 AI 应用开发者,痛点是「回答错了但不知道是检索错了还是生成错了」。做法是给检索与生成分别建跨度,接入后打开 UI 逐层下钻。实际体验:门槛低,register() + 一个 Instrumentor 就能看到全链路;注意自定义跨度里最好显式写 input.value / output.value,否则 UI 里字段展示不完整。
场景二:提示词与模型选型对比
角色是算法工程师或产品负责人,痛点是「A 提示词和 B 提示词谁更好,说不清」。做法是建一个固定数据集,把不同提示写成不同 task 跑实验,用准确率等聚合指标对比。实际体验:把主观争论变成可复现的数字,适合反复迭代;注意评估器本身也是 LLM,需要关注裁判模型的成本与一致性。
场景三:CI/CD 中的回归测试
角色是 ML 平台工程师,痛点是「改了模型版本,老问题又回来了」。做法是把数据集版本化,在流水线里跑 run_experiment 并对比基线。实际体验:能有效拦截质量回退;注意需要控制评估样本量以免拖慢流水线。
场景四:生产环境监控与人工反馈
角色是运维或运营团队,痛点是线上偶发问题难复现。做法是 phoenix serve 部署到服务器,配置 PHOENIX_SQL_DATABASE_URL 指向 PostgreSQL,把用户点赞/点踩通过 log_annotation 回写。实际体验:用 Docker 一条命令即可拉起,生产建议务必开启持久化,否则默认 SQLite 临时存储可能导致数据丢失;对外网暴露时记得启用 PHOENIX_ENABLE_AUTH。
该技能能为用户带来的价值
- 把「猜」变成「看」:追踪让 LLM 调用的每一步可视化,排障路径从翻日志、加打印,变为在 UI 中按项目、按跨度筛选定位,显著压缩定位问题的时间。
- 把「感觉」变成「指标」:内置评估器让幻觉、相关性、毒性等问题有了可量化口径,配合实验聚合指标,模型与提示的选型决策可以留痕、可复现。
- 降低观测能力的使用门槛:技能给出了从安装、启动、接入、评估到生产部署的完整代码范式,开发者不必从零折腾 OpenTelemetry 配置,照抄即可跑通。
- 降低长期成本与风险:开源自托管意味着无供应商锁定,数据留在自有基础设施中;PostgreSQL 持久化与认证配置让它可以承载真实生产流量。
- 可沉淀的组织资产:版本化的数据集、可归档的实验结果与人工标注记录,会随项目推进不断积累,形成团队自己的质量基线。
常见问题 FAQ
Q1:这个技能怎么安装?需要付费吗?
A:技能自身的安装入口以技能市场的官方说明为准;底层依赖是开源的 Phoenix,通过 pip install arize-phoenix 安装即可,可自由自托管。它的许可为开源(具体条款以官方说明为准)。需要注意的是,评估环节若使用商业模型作为裁判,会产生相应的模型调用费用。
Q2:接入会不会要求我改写项目代码?
A:通常不需要。只需在应用启动处调用 register() 配置 OpenTelemetry,再对 OpenAI、LangChain、LlamaIndex、Anthropic 等框架执行一次 Instrumentor().instrument(),原有调用就会被自动追踪。只有希望把业务中的关键步骤(如检索、重排)单独呈现时,才需要额外埋自定义跨度。
Q3:追踪数据在 UI 里看不到怎么办?
A:优先检查三点:endpoint 是否为 http://localhost:6006/v1/traces;project_name 是否与 UI 中筛选的项目一致;必要时调用 force_flush() 强制刷新缓冲中的跨度。生产环境还应确认 PHOENIX_SQL_DATABASE_URL 指向的数据库连接正常。
Q4:适合谁用?什么情况下该选别的方案? A:适合需要调优和监控 LLM 应用的应用开发者、算法工程师与 ML 平台团队。如果团队已深度绑定 LangChain 且完全不想运维,可考虑 LangSmith;如果更看重通用深度学习实验管理,可考虑 Weights & Biases 或 MLflow;如果希望要企业级托管能力,可考虑 Arize Cloud。
Q5:生产部署要注意什么?
A:建议使用 PostgreSQL 持久化(PHOENIX_SQL_DATABASE_URL),按环境用不同项目名隔离追踪,通过 PHOENIX_PORT、PHOENIX_HOST、PHOENIX_GRPC_PORT 等环境变量规划端口,对外暴露时启用 PHOENIX_ENABLE_AUTH 并设置足够长度的 PHOENIX_SECRET。Docker 方式可用 arizephoenix/phoenix:latest 镜像快速拉起。