技能使用指南

phoenix-observability(凤凰AI观测平台)Skill 是什么?

phoenix-observability(凤凰AI观测平台)Skill 帮你把 LLM 应用的追踪、评估、数据集实验与生产监控一次打通:一条 pip 命令起步,兼容 OpenAI、LangChain、LlamaIndex 等框架,开源可自托管。想知道怎么安装、怎么用、和 LangSmith 等方案怎么选?点开全文看完整上手步骤与对比表格。

凤凰AI观测平台Skillphoenix-observability
8 个章节 约 17 分钟阅读 AI 智能生成

凤凰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 应用的诊断与优化。

一键安装的思路与步骤

  1. 安装前提:准备好 Python 环境,并确保可以访问 Python 包仓库;若计划用于生产,建议额外准备一个 PostgreSQL 实例用于持久化存储。
  2. 安装核心包与可选扩展:
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 客户端
  1. 启动观测服务:在笔记本或脚本中调用 px.launch_app() 启动;生产环境使用命令行 phoenix serve,默认监听 6006 端口。
  2. 验证是否生效:打开 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 镜像快速拉起。