SuperAPI AI 工具集

phoenix-observability

智能体与模型

查看项目

更新于 10-14 12:52

技能介绍

用途

Phoenix 是一个开源的人工智能可观测性与评估平台,面向 LLM 应用,提供追踪、评估、数据集、实验和实时监控。根据官方说明,适用场景包括:用详细 trace 调试 LLM 应用问题、在数据集上运行系统化评估、实时监控生产 LLM 系统、构建用于对比提示词与模型的实验流水线,以及希望自托管、避免供应商锁定的可观测性需求。

主要能力

  • Tracing(追踪):基于 OpenTelemetry 的链路采集,支持任意 LLM 框架。
  • Evaluation(评估):提供 LLM-as-judge 评估器进行质量评估。
  • Datasets(数据集):用于回归测试的版本化测试集。
  • Experiments(实验):对比提示词、模型和配置。
  • Playground:跨多个模型进行交互式提示词测试。
  • 开源:支持使用 PostgreSQL 或 SQLite 自托管。

官方也列出可考虑替代方案:LangSmith(以 LangChain 为先的托管平台)、Weights & Biases(聚焦深度学习实验跟踪)、Arize Cloud(带企业特性的托管版 Phoenix)、MLflow(面向通用 ML 生命周期与模型注册)。

使用方式

安装:

pip install arize-phoenix

可选依赖:

pip install arize-phoenix[embeddings] pip install arize-phoenix-otel pip install arize-phoenix-evals pip install arize-phoenix-client

启动 Phoenix 服务端。在 notebook 中可使用 ThreadServer 模式:

import phoenix as px session = px.launch_app() session.view() print(session.url)

命令行服务端(生产环境):

phoenix serve

配合 PostgreSQL:

export PHOENIX_SQL_DATABASE_URL="postgresql://user:pass@host/db" phoenix serve --port 6006

基础追踪示例:

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) from openai import OpenAI client = OpenAI() response = client.chat.completions.create(model="gpt-4o", messages=[{"role": "user", "content": "Hello!"}])

核心概念上,一个 trace 表示完整执行流程,span 表示其中的单个操作。可通过 OpenTelemetry tracer 创建自定义 span,并自动嵌套子 span,同时用属性记录输入输出。

项目用于组织相关 trace,可通过环境变量 PHOENIX_PROJECT_NAME 设置,或在 register() 中指定 project_name。

框架插桩支持 OpenAI、LangChain、LlamaIndex、Anthropic 等,通过对应的 OpenInference Instrumentor 完成。

评估方面,Phoenix 提供内置评估器(如 HallucinationEvaluator、RelevanceEvaluator、ToxicityEvaluator)和 llm_classify,也可定义自定义评估器,并通过 run_evals 对 span 数据运行评估,再用 log_evaluations 写回结果。

数据集与实验方面,可使用 Client 创建数据集、添加示例,然后通过 run_experiment 指定数据集、任务函数、评估器和实验名来运行实验,并查看聚合指标。

Client API 支持查询 span 与 trace 的 DataFrame、记录用户反馈(log_annotation)、导出数据等。

生产部署支持 Docker:

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

也可配合 PostgreSQL 运行 phoenix serve,并通过环境变量配置端口、绑定地址、gRPC/OTLP 端口、数据库 URL、工作目录、认证开关与 JWT 密钥等。启用认证时需设置 PHOENIX_ENABLE_AUTH、PHOENIX_SECRET,以及可选的 PHOENIX_ADMIN_SECRET。

适用场景与实践建议

官方建议按环境分离项目(dev/staging/prod)、添加元数据(用户 ID、会话 ID)、在 CI/CD 中定期运行自动评估、对数据集版本化、通过仪表盘跟踪 token 用量与成本,以及在生产部署中使用 PostgreSQL 自托管。

限制与常见问题

资料提到常见问题包括 trace 不显示(需检查 endpoint 并强制 flush)、notebook 中内存偏高(使用后关闭 session 与 app)、数据库连接问题(验证 PostgreSQL 连接并查看调试日志)。Phoenix 版本为 12.0.0+,许可证为 Apache 2.0。官方文档、代码仓库与 Docker Hub 地址在资料中给出,可按需查阅。资料未提供收费、价格或具体效果指标等信息。