用途
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 地址在资料中给出,可按需查阅。资料未提供收费、价格或具体效果指标等信息。