Arize-ai/phoenix
GitHub: Arize-ai/phoenix
Phoenix 是一款开源的 AI 可观测性与评估平台,为 LLM 应用提供全链路追踪、性能评估、数据集实验和 Prompt 管理能力。
Stars: 10558 | Forks: 985
Phoenix 是一个开源的 AI 可观测性平台,专为实验、评估和故障排除而设计。它提供:
- [**_Tracing_**](https://arize.com/docs/phoenix/tracing/llm-traces) - 使用基于 OpenTelemetry 的埋点追踪你的 LLM 应用程序的 runtime。
- [**_Evaluation_**](https://arize.com/docs/phoenix/evaluation/llm-evals) - 利用 LLM 通过响应和检索评估来对你的应用程序性能进行基准测试。
- [**_Datasets_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets) - 创建带有版本控制的示例数据集,用于实验、评估和 fine-tuning。
- [**_Experiments_**](https://arize.com/docs/phoenix/datasets-and-experiments/overview-datasets#experiments) - 跟踪并评估对 prompts、LLM 和检索的更改。
- [**_Playground_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts)- 优化 prompts,比较模型,调整参数,并重放已追踪的 LLM 调用。
- [**_Prompt Management_**](https://arize.com/docs/phoenix/prompt-engineering/overview-prompts/prompt-management)- 使用版本控制、标签和实验来系统化地管理和测试 prompt 更改。
- [**_PXI (Phoenix Intelligence)_**](https://arize.com/docs/phoenix/pxi) - 内置于 Phoenix 中的 AI 工程代理,用于调试 traces、迭代 prompts 以及导航产品。
Phoenix 与供应商和语言无关,开箱即支持主流的框架([OpenAI Agents SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-agents-sdk), [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/python/claude-agent-sdk), [LangGraph](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain), [Vercel AI SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/vercel-ai-sdk), [Mastra](https://arize.com/docs/phoenix/integrations/typescript/mastra), [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai), [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex), [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy))和 LLM 提供商([OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai), [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic), [Google GenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/google-genai), [Google ADK](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/google-adk-tracing), [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock), [OpenRouter](https://arize.com/docs/phoenix/integrations/python/openrouter), [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) 等)。有关自动埋点的详细信息,请查看 [OpenInference](https://github.com/Arize-ai/openinference) 项目。
Phoenix 几乎可以在任何地方运行,包括你的本地机器、Jupyter notebook、容器化部署或云端。
## 安装说明
通过 `pip` 或 `conda` 安装 Phoenix
```
pip install arize-phoenix
```
Phoenix 容器镜像可通过 [Docker Hub](https://hub.docker.com/r/arizephoenix/phoenix) 获取,并可以使用 Docker 或 Kubernetes 进行部署。Arize AI 还在 [app.phoenix.arize.com](https://app.phoenix.arize.com/) 提供了云实例。
## 包
`arize-phoenix` 包包含了整个 Phoenix 平台。但是,如果你已经部署了 Phoenix 平台,则可以使用轻量级的 Python 子包和 TypeScript 包与该平台配合使用。
### Python 子包
| Package | Version & Docs | Description |
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [arize-phoenix-otel](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-otel) | [](https://pypi.org/project/arize-phoenix-otel/) [](https://arize-phoenix.readthedocs.io/projects/otel/en/latest/index.html) | 为 OpenTelemetry 原语提供了一个带有 Phoenix 感知默认值的轻量级封装 |
| [arize-phoenix-client](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-client) | [](https://pypi.org/project/arize-phoenix-client/) [](https://arize-phoenix.readthedocs.io/projects/client/en/latest/index.html) | 通过其 OpenAPI REST 接口与 Phoenix server 交互的轻量级 client |
| [arize-phoenix-evals](https://github.com/Arize-ai/phoenix/tree/main/packages/phoenix-evals) | [](https://pypi.org/project/arize-phoenix-evals/) [](https://arize-phoenix.readthedocs.io/projects/evals/en/latest/index.html) | 用于评估 LLM 应用程序的工具,包括 RAG 相关性、回答相关性等 |
### TypeScript 子包
| Package | Version & Docs | Description |
| --------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [@arizeai/phoenix-otel](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-otel) | [](https://www.npmjs.com/package/@arizeai/phoenix-otel) [](https://arize-ai.github.io/phoenix/) | 为 OpenTelemetry 原语提供了一个带有 Phoenix 感知默认值的轻量级封装 |
| [@arizeai/phoenix-client](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-client) | [](https://www.npmjs.com/package/@arizeai/phoenix-client) [](https://arize-ai.github.io/phoenix/) | 用于 Arize Phoenix API 的 client |
| [@arizeai/phoenix-evals](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-evals) | [](https://www.npmjs.com/package/@arizeai/phoenix-evals) [](https://arize-ai.github.io/phoenix/) | 用于 LLM 应用程序的 TypeScript 评估库 (alpha 版本) |
| [@arizeai/phoenix-mcp](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-mcp) | [](https://www.npmjs.com/package/@arizeai/phoenix-mcp) [](./js/packages/phoenix-mcp/README.md) | Arize Phoenix 的 MCP server 实现,提供访问 Phoenix 功能的统一接口 |
| [@arizeai/phoenix-cli](https://github.com/Arize-ai/phoenix/tree/main/js/packages/phoenix-cli) | [](https://www.npmjs.com/package/@arizeai/phoenix-cli) [](https://arize.com/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-cli) | 用于获取 traces、数据集和实验的 CLI,可与 Claude Code、Cursor 及其他编程代理配合使用 |
## Tracing 集成
Phoenix 基于 OpenTelemetry 构建,与供应商、语言和框架无关。有关 tracing 集成和应用程序示例的详细信息,请参阅 [OpenInference](https://github.com/Arize-ai/openinference) 项目。
**Python 集成**
| | Integration | Package | Version |
|:---:|---|---|---|
| 
| [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai) | `openinference-instrumentation-openai` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai) |
| 
| [OpenAI Agents](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-agents-sdk) | `openinference-instrumentation-openai-agents` | [](https://pypi.python.org/pypi/openinference-instrumentation-openai-agents) |
|
| [LlamaIndex](https://arize.com/docs/phoenix/tracing/integrations-tracing/llamaindex) | `openinference-instrumentation-llama-index` | [](https://pypi.python.org/pypi/openinference-instrumentation-llama-index) |
| | [DSPy](https://arize.com/docs/phoenix/tracing/integrations-tracing/dspy) | `openinference-instrumentation-dspy` | [](https://pypi.python.org/pypi/openinference-instrumentation-dspy) |
|
| [AWS Bedrock](https://arize.com/docs/phoenix/tracing/integrations-tracing/bedrock) | `openinference-instrumentation-bedrock` | [](https://pypi.python.org/pypi/openinference-instrumentation-bedrock) |
|
| [LangChain](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `openinference-instrumentation-langchain` | [](https://pypi.python.org/pypi/openinference-instrumentation-langchain) |
|
| [MistralAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/mistralai) | `openinference-instrumentation-mistralai` | [](https://pypi.python.org/pypi/openinference-instrumentation-mistralai) |
|
| [Google GenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/google-gen-ai) | `openinference-instrumentation-google-genai` | [](https://pypi.python.org/pypi/openinference-instrumentation-google-genai) |
|
| [Google ADK](https://arize.com/docs/phoenix/integrations/llm-providers/google-gen-ai/google-adk-tracing) | `openinference-instrumentation-google-adk` | [](https://pypi.python.org/pypi/openinference-instrumentation-google-adk) |
| | [Guardrails](https://arize.com/docs/phoenix/tracing/integrations-tracing/guardrails) | `openinference-instrumentation-guardrails` | [](https://pypi.python.org/pypi/openinference-instrumentation-guardrails) |
|
| [VertexAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/vertexai) | `openinference-instrumentation-vertexai` | [](https://pypi.python.org/pypi/openinference-instrumentation-vertexai) |
|
| [CrewAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/crewai) | `openinference-instrumentation-crewai` | [](https://pypi.python.org/pypi/openinference-instrumentation-crewai) |
| | [Haystack](https://arize.com/docs/phoenix/tracing/integrations-tracing/haystack) | `openinference-instrumentation-haystack` | [](https://pypi.python.org/pypi/openinference-instrumentation-haystack) |
| | [LiteLLM](https://arize.com/docs/phoenix/tracing/integrations-tracing/litellm) | `openinference-instrumentation-litellm` | [](https://pypi.python.org/pypi/openinference-instrumentation-litellm) |
| 
| [Groq](https://arize.com/docs/phoenix/tracing/integrations-tracing/groq) | `openinference-instrumentation-groq` | [](https://pypi.python.org/pypi/openinference-instrumentation-groq) |
| | [Instructor](https://arize.com/docs/phoenix/tracing/integrations-tracing/instructor) | `openinference-instrumentation-instructor` | [](https://pypi.python.org/pypi/openinference-instrumentation-instructor) |
| ![]()
| [Anthropic](https://arize.com/docs/phoenix/tracing/integrations-tracing/anthropic) | `openinference-instrumentation-anthropic` | [](https://pypi.python.org/pypi/openinference-instrumentation-anthropic) |
|
| [Smolagents](https://huggingface.co/docs/smolagents/en/tutorials/inspect_runs) | `openinference-instrumentation-smolagents` | [](https://pypi.python.org/pypi/openinference-instrumentation-smolagents) |
| | [Agno](https://arize.com/docs/phoenix/tracing/integrations-tracing/agno) | `openinference-instrumentation-agno` | [](https://pypi.python.org/pypi/openinference-instrumentation-agno) |
| 
| [MCP](https://arize.com/docs/phoenix/tracing/integrations-tracing/model-context-protocol-mcp) | `openinference-instrumentation-mcp` | [](https://pypi.python.org/pypi/openinference-instrumentation-mcp) |
|
| [Pydantic AI](https://arize.com/docs/phoenix/integrations/python/pydantic) | `openinference-instrumentation-pydantic-ai` | [](https://pypi.python.org/pypi/openinference-instrumentation-pydantic-ai) |
| | [Autogen AgentChat](https://arize.com/docs/phoenix/integrations/frameworks/autogen/autogen-tracing) | `openinference-instrumentation-autogen-agentchat` | [](https://pypi.python.org/pypi/openinference-instrumentation-autogen-agentchat) |
| | [Portkey](https://arize.com/docs/phoenix/integrations/portkey) | `openinference-instrumentation-portkey` | [](https://pypi.python.org/pypi/openinference-instrumentation-portkey) |
| | [Agent Spec](https://arize.com/docs/phoenix/tracing/integrations-tracing/agentspec) | `openinference-instrumentation-agentspec` | [](https://pypi.python.org/pypi/openinference-instrumentation-agentspec) |
|
| [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/python/claude-agent-sdk) | `openinference-instrumentation-claude-agent-sdk` | [](https://pypi.python.org/pypi/openinference-instrumentation-claude-agent-sdk) |
## Span Processors
通过添加统一数据的 span processors,跨其他埋点库规范化和转换数据。
| Package | Description | Version |
| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`openinference-instrumentation-openlit`](./python/instrumentation/openinference-instrumentation-openlit) | OpenInference Span Processor for OpenLIT traces. | [](https://pypi.python.org/pypi/openinference-instrumentation-openlit) |
| [`openinference-instrumentation-openllmetry`](./python/instrumentation/openinference-instrumentation-openllmetry) | OpenInference Span Processor for OpenLLMetry (Traceloop) traces. | [](https://pypi.python.org/pypi/openinference-instrumentation-openllmetry) |
### JavaScript 集成
| | Integration | Package | Version |
|:---:|---|---|---|
| 
| [OpenAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/openai-node-sdk) | `@arizeai/openinference-instrumentation-openai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-openai) |
| 
| [OpenAI Agents](https://arize.com/docs/phoenix/integrations/typescript/openai-agents) | `@arizeai/openinference-instrumentation-openai-agents` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-openai-agents) |
|
| [LangChain.js](https://arize.com/docs/phoenix/tracing/integrations-tracing/langchain) | `@arizeai/openinference-instrumentation-langchain` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-langchain) |
| 
| [Vercel AI SDK](https://arize.com/docs/phoenix/tracing/integrations-tracing/vercel-ai-sdk) | `@arizeai/openinference-vercel` | [](https://www.npmjs.com/package/@arizeai/openinference-vercel) |
| | [BeeAI](https://arize.com/docs/phoenix/tracing/integrations-tracing/beeai) | `@arizeai/openinference-instrumentation-beeai` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-beeai) |
|
| [Claude Agent SDK](https://arize.com/docs/phoenix/integrations/typescript/claude-agent-sdk) | `@arizeai/openinference-instrumentation-claude-agent-sdk` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-claude-agent-sdk) |
| 
| [Mastra](https://arize.com/docs/phoenix/integrations/typescript/mastra) | `@mastra/arize` | [](https://www.npmjs.com/package/@mastra/arize) |
| 
| [MCP](https://arize.com/docs/phoenix/integrations/typescript/mcp) | `@arizeai/openinference-instrumentation-mcp` | [](https://www.npmjs.com/package/@arizeai/openinference-instrumentation-mcp) |
### Java 集成
| | Integration | Package | Version |
|:---:|---|---|---|
|
| [LangChain4j](https://github.com/Arize-ai/openinference/tree/main/java/instrumentation/openinference-instrumentation-langchain4j) | `openinference-instrumentation-langchain4j` | [](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-langchain4j) |
| | SpringAI | `openinference-instrumentation-springAI` | [](https://central.sonatype.com/artifact/com.arize/openinference-instrumentation-springAI) |
|
| [Arconia](https://docs.arconia.io/arconia/latest/observability/semantic-conventions/openinference/) for Spring AI | `io.arconia:arconia-openinference-semantic-conventions` | [](https://central.sonatype.com/artifact/io.arconia/arconia-openinference-ai-semantic-conventions) |
### Go 集成
| | Integration | Package | Version |
|:---:|---|---|---|
| 
| [OpenAI](https://github.com/Arize-ai/openinference/tree/main/go/openinference-instrumentation-openai-go) | `github.com/Arize-ai/openinference/go/openinference-instrumentation-openai-go` | [](https://pkg.go.dev/github.com/Arize-ai/openinference/go/openinference-instrumentation-openai-go) |
| 
| [Anthropic](https://github.com/Arize-ai/openinference/tree/main/go/openinference-instrumentation-anthropic-sdk-go) | `github.com/Arize-ai/openinference/go/openinference-instrumentation-anthropic-sdk-go` | [](https://pkg.go.dev/github.com/Arize-ai/openinference/go/openinference-instrumentation-anthropic-sdk-go) |
### 平台
| | Platform | Description | Docs |
|:---:|---|---|---|
| | [BeeAI](https://docs.beeai.dev/observability/agents-traceability) | 带有内置可观测性的 AI 代理框架 | [集成指南](https://docs.beeai.dev/observability/agents-traceability) |
|
| [Dify](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) | 开源 LLM 应用程序开发平台 | [集成指南](https://docs.dify.ai/en/guides/monitoring/integrate-external-ops-tools/integrate-phoenix) |
| | [Envoy AI Gateway](https://github.com/envoyproxy/ai-gateway) | 基于 Envoy Proxy 构建的、用于 AI 工作负载的 AI Gateway | [集成指南](https://github.com/envoyproxy/ai-gateway/tree/main/cmd/aigw#opentelemetry-setup-with-phoenix) |
| | [LangFlow](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) | 用于构建多代理和 RAG 应用程序的可视化框架 | [集成指南](https://arize.com/docs/phoenix/tracing/integrations-tracing/langflow) |
| | [LiteLLM Proxy](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) | 用于 LLM 的代理服务器 | [集成指南](https://docs.litellm.ai/docs/observability/phoenix_integration#using-with-litellm-proxy) |
| | [Flowise](https://arize.com/docs/phoenix/integrations/platforms/flowise) | 用于构建 LLM 应用程序的可视化框架 | [集成指南](https://arize.com/docs/phoenix/integrations/platforms/flowise) |
| | [Prompt Flow](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow) | Microsoft 的 prompt flow 编排工具 | [集成指南](https://arize.com/docs/phoenix/integrations/platforms/prompt-flow) |
|
| [NVIDIA NeMo](https://arize.com/docs/phoenix/integrations/python/nvidia) | 用于企业级代理的 NVIDIA NeMo Agent Toolkit | [集成指南](https://arize.com/docs/phoenix/integrations/python/nvidia) |
| | [Graphite](https://arize.com/docs/phoenix/integrations/python/graphite) | 带有可视化构建器的多代理 LLM 工作流框架 | [集成指南](https://arize.com/docs/phoenix/integrations/python/graphite) |
## 编程代理技能
此代码仓库包含[技能](https://docs.anthropic.com/en/docs/claude-code/skills),可教导编程代理如何使用 Phoenix。它们位于 [`.agents/skills/`](.agents/skills/) 中,可与 Claude Code、Cursor 及其他兼容工具一起使用。
| Skill | Description |
| ----- | ----------- |
| [phoenix-cli](.agents/skills/phoenix-cli/) | 使用 Phoenix CLI 调试 LLM 应用程序 — 获取 traces、分析错误、查看实验并查询 API |
| [phoenix-evals](.agents/skills/phoenix-evals/) | 使用 Phoenix 构建并运行用于 AI/LLM 应用程序的评估器 |
| [phoenix-tracing](.agents/skills/phoenix-tracing/) | 用于追踪 LLM 应用程序的 OpenInference 语义约定和埋点 |
## 安全与隐私
我们非常重视数据安全和隐私。有关更多详细信息,请参阅我们的[安全与隐私文档](https://arize.com/docs/phoenix/self-hosting/security/privacy)。
### 遥测
默认情况下,Phoenix 会收集基本的网络分析数据(例如,页面浏览量、UI 交互),以帮助我们了解 Phoenix 的使用情况并改进产品。**我们绝不会收集你的任何 trace 数据、评估结果或任何敏感信息。**
你可以通过设置环境变量来选择退出遥测:`PHOENIX_TELEMETRY_ENABLED=false`
## 破坏性更改
有关破坏性更改的列表,请参阅[迁移指南](./MIGRATION.md)。
## 版权、专利与许可
版权所有 2025 Arize AI, Inc. 保留所有权利。
此代码的部分内容受一项或多项美国专利保护。请参阅 [IP_NOTICE](https://github.com/Arize-ai/phoenix/blob/main/IP_NOTICE)。
此软件根据 Elastic License 2.0 (ELv2) 的条款获得许可。请参阅 [LICENSE](https://github.com/Arize-ai/phoenix/blob/main/LICENSE)。











标签:API集成, DLL 劫持, SOC Prime, 人工智能, 可观测性, 大语言模型, 子域名突变, 开发工具, 用户代理, 用户模式Hook绕过, 评估平台, 请求拦截, 逆向工具