readme_CN.md
<h1 align="center" style="border-bottom: none"> <div> <a href="https://www.comet.com/site/products/opik/?from=llm&utm_source=opik&utm_medium=github&utm_content=header_img&utm_campaign=opik"><picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/comet-ml/opik/refs/heads/main/apps/opik-documentation/documentation/static/img/logo-dark-mode.svg"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/comet-ml/opik/refs/heads/main/apps/opik-documentation/documentation/static/img/opik-logo.svg">注意:此文件使用AI进行机器翻译。欢迎对翻译进行改进!
</picture></a>
Opik:开源的 LLM 可观测性、评估与 AI 智能体追踪
</div>
<a href="#-llm-as-a-judge-metrics">🧑⚖️ LLM 作为评判者</a> • <a href="#-evaluating-your-llm-application">🔍 评估你的应用</a> • <a href="#-star-us-on-github">⭐ 为我们点亮 Star</a> • <a href="#-contributing">🤝 参与贡献</a>
</div><a id="-what-is-opik"></a>
Opik 覆盖了 LLM 应用的完整生命周期,从开发阶段的第一条追踪到生产监控,服务于构建 LLM 应用和 AI 智能体的团队。核心能力包括:
核心功能包括:
开发与追踪:
评估与测试:
生产监控与优化:
适用人群: 构建 LLM 驱动智能体的机器学习工程师、从原型走向生产的 AI 团队,以及需要可在自有环境中运行的开源、可自托管可观测性的工程团队。
为什么开源在这里很重要: Opik 采用 Apache-2.0 许可,可免费自托管:是完整平台,包含后端,而不仅仅是客户端 SDK。该仓库包含服务器后端、Web 应用、追踪、数据集、实验、评估、提示管理、在线评估和智能体优化等组件,全部采用 Apache-2.0 许可。你可以在自己的基础设施内运行 LLM 可观测性,数据不会离开你的环境,也无需进行企业销售洽谈。
[!TIP] 如果你需要 Opik 目前尚未提供的功能,请提交新的功能请求 🚀
<a id="-quick-start"></a>
安装 Python SDK 并进行配置:
pip install opik
opik configure
用 @track 装饰器包裹任意函数即可开始记录追踪:
from opik import track
@track
def my_function(input: str) -> str:
return input
现在,每次对 my_function 的调用都会被记录到 Opik,包括嵌套调用,因此它适用于完整的智能体和流水线追踪,而不仅仅是单次 LLM 调用。有关 TypeScript SDK 和其他设置选项,请参阅快速开始指南。
<a id="-how-opik-compares"></a>
Opik 与 LangSmith、Arize(Phoenix 和 Arize AX)、Weights & Biases(Weave)、Langfuse 和 Braintrust 一同竞争于 LLM 可观测性 / AI 智能体评估 这一领域。
| 能力 | Opik | LangSmith | Phoenix | Arize AX | Weights & Biases (Weave) | Langfuse | Braintrust |
|---|---|---|---|---|---|---|---|
| 开源 | 是,Apache-2.0(完整平台) | 否 | 源码可用(Elastic License 2.0,未获 OSI 批准) | 否 | 开源 SDK/工具包;自管平台需商业许可 | MIT 许可的核心平台;商业企业模块 | 否 |
| 自托管部署 | 是 | 仅企业版 | 是 | 仅企业版 | Weave 本身仅企业版 | 是,核心版 | 仅企业版 |
| 提供免费层(云端或自托管) | 是,两者皆有 | 是,云端 | 是,自托管 | 是,云端 | 是,云端 | 是,两者皆有 | 是,云端 |
| 智能体 / 多步骤追踪 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
| LLM 作为评判者评估 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
| 提示管理 | 是 | 是 | 部分支持 | 部分支持 | 部分支持 | 是 | 是 |
| 框架无关 | 是 | 部分,围绕 LangChain 构建 | 是 | 是 | 是 | 是 | 是 |
团队为何选择 Opik: Opik 完整的可观测性、评估和优化平台采用 Apache-2.0 许可,可免费自托管。与那些自托管部署需要企业版计划的封闭平台不同,Opik 无需商业许可即可部署,而且它框架无关,不会将你锁定到单一的智能体生态系统中。有关自托管和许可在各替代方案之间的差异,请参阅上表。
<a id="-frequently-asked-questions"></a>
Opik 采用 Apache 2.0 许可。其服务器、Web 应用以及核心的可观测性和评估功能均可在无需商业许可的情况下自托管。
可以。你可以按照文档中的自托管选项在本地或你自己的基础设施中部署 Opik。
支持。Opik 可捕获包含 LLM 调用、工具执行、检索步骤和其他智能体活动的多步骤追踪。
支持。Opik 支持数据集、实验、基于代码的指标、LLM 作为评判者的评估以及在线评估。
否。Opik 框架无关,支持其自有 SDK、OpenTelemetry 以及针对特定框架的集成。
<a id="%EF%B8%8F-opik-server-installation"></a>
几分钟内即可让你的 Opik 服务器运行起来。选择最适合你需求的方式:
无需任何设置即可立即访问 Opik。适合快速上手和省心维护。
在你自己的环境中部署 Opik。可在用于本地设置的 Docker 与用于可扩展性的 Kubernetes 之间进行选择。
这是让本地 Opik 实例运行起来的最简单方式。请注意新的 ./opik.sh 安装脚本:
在 Linux 或 Mac 环境下:
# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git
# Navigate to the repository
cd opik
# Start the Opik platform
./opik.sh
在 Windows 环境下:
# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git
# Navigate to the repository
cd opik
# Start the Opik platform
powershell -ExecutionPolicy ByPass -c ".\\opik.ps1"
用于开发的服务配置文件(Service Profiles)
Opik 安装脚本现已支持针对不同开发场景的服务配置文件:
# Start full Opik suite (default behavior)
./opik.sh
# Start only infrastructure services (databases, caches etc.)
./opik.sh --infra
# Start infrastructure + backend services
./opik.sh --backend
# Enable guardrails with any profile
./opik.sh --guardrails # Guardrails with full Opik suite
./opik.sh --backend --guardrails # Guardrails with infrastructure + backend
使用 --help 或 --info 选项来排查问题。Dockerfile 现已确保容器以非 root 用户运行,以增强安全性。一切启动并运行后,你现在就可以在浏览器中访问 localhost:5173 了!有关详细说明,请参阅本地部署指南。
对于生产环境或更大规模的自托管部署,可以使用我们的 Helm chart 将 Opik 安装到 Kubernetes 集群上。点击徽章查看完整的使用 Helm 的 Kubernetes 安装指南。
[!IMPORTANT] 1.7.0 版本变更:请查看更新日志,了解重要更新和破坏性变更。
<a id="-opik-client-sdk"></a>
Opik 提供一套客户端库和一个 REST API 用于与 Opik 服务器交互。这包括面向 Python、TypeScript 和 Ruby(通过 OpenTelemetry)的 SDK,可无缝集成到你的工作流中。有关详细的 API 和 SDK 参考,请参阅 Opik 客户端参考文档。
要开始使用 Python SDK:
安装该软件包:
# install using pip
pip install opik
# or install with uv
uv pip install opik
运行 opik configure 命令配置 Python SDK,它会提示你输入 Opik 服务器地址(用于自托管实例)或你的 API 密钥和工作区(用于 Comet.com):
opik configure
[!TIP] 你也可以在 Python 代码中调用
opik.configure(use_local=True),将 SDK 配置为在本地自托管安装上运行,或直接提供 Comet.com 的 API 密钥和工作区详情。有关更多配置选项,请参阅 Python SDK 文档。
现在你已准备好使用 Python SDK 开始记录追踪了。
<a id="-logging-traces-with-integrations"></a>
记录追踪最简单的方式是使用我们的某个直接集成。Opik 支持种类繁多的框架,包括近期新增的 Google ADK、Autogen、AG2 和 Flowise AI:
| 集成 | 描述 | 文档 |
|---|---|---|
| ADK | 记录 Google Agent Development Kit (ADK) 的追踪 | 文档 |
| AG2 | 记录 AG2 LLM 调用的追踪 | 文档 |
| Agent Spec | 记录 Agent Spec 调用的追踪 | 文档 |
| AIsuite | 记录 aisuite LLM 调用的追踪 | 文档 |
| Agno | 记录 Agno 智能体编排框架调用的追踪 | 文档 |
| Anthropic | 记录 Anthropic LLM 调用的追踪 | 文档 |
| Autogen | 记录 Autogen 智能体化工作流的追踪 | 文档 |
| Bedrock | 记录 Amazon Bedrock LLM 调用的追踪 | 文档 |
| BeeAI (Python) | 记录 BeeAI Python 智能体框架调用的追踪 | 文档 |
| BeeAI (TypeScript) | 记录 BeeAI TypeScript 智能体框架调用的追踪 | 文档 |
| BytePlus | 记录 BytePlus LLM 调用的追踪 | 文档 |
| Cloudflare Workers AI | 记录 Cloudflare Workers AI 调用的追踪 | 文档 |
| Cohere | 记录 Cohere LLM 调用的追踪 | 文档 |
| CrewAI | 记录 CrewAI 调用的追踪 | 文档 |
| Cursor | 记录 Cursor 对话的追踪 | 文档 |
| DeepSeek | 记录 DeepSeek LLM 调用的追踪 | 文档 |
| Dify | 记录 Dify 智能体运行的追踪 | 文档 |
| DSPY | 记录 DSPy 运行的追踪 | 文档 |
| Fireworks AI | 记录 Fireworks AI LLM 调用的追踪 | 文档 |
| Flowise AI | 记录 Flowise AI 可视化 LLM 构建器的追踪 | 文档 |
| Gemini (Python) | 记录 Google Gemini LLM 调用的追踪 | 文档 |
| Gemini (TypeScript) | 记录 Google Gemini TypeScript SDK 调用的追踪 | 文档 |
| Groq | 记录 Groq LLM 调用的追踪 | 文档 |
| Guardrails | 记录 Guardrails AI 校验的追踪 | 文档 |
| Haystack | 记录 Haystack 调用的追踪 | 文档 |
| Harbor | 记录 Harbor 基准评估试验的追踪 | 文档 |
| Instructor | 记录使用 Instructor 进行的 LLM 调用的追踪 | 文档 |
| LangChain (Python) | 记录 LangChain LLM 调用的追踪 | 文档 |
| LangChain (JS/TS) | 记录 LangChain JavaScript/TypeScript 调用的追踪 | 文档 |
| LangGraph | 记录 LangGraph 执行的追踪 | 文档 |
| Langflow | 记录 Langflow 可视化 AI 构建器的追踪 | 文档 |
| LiteLLM | 记录 LiteLLM 模型调用的追踪 | 文档 |
| LiveKit Agents | 记录 LiveKit Agents AI 智能体框架调用的追踪 | 文档 |
| LlamaIndex | 记录 LlamaIndex LLM 调用的追踪 | 文档 |
| Mastra | 记录 Mastra AI 工作流框架调用的追踪 | 文档 |
| Microsoft Agent Framework (Python) | 记录 Microsoft Agent Framework 调用的追踪 | 文档 |
| Microsoft Agent Framework (.NET) | 记录 Microsoft Agent Framework .NET 调用的追踪 | 文档 |
| Mistral AI | 记录 Mistral AI LLM 调用的追踪 | 文档 |
| n8n | 记录 n8n 工作流执行的追踪 | 文档 |
| Novita AI | 记录 Novita AI LLM 调用的追踪 | 文档 |
| Ollama | 记录 Ollama LLM 调用的追踪 | 文档 |
| OpenAI (Python) | 记录 OpenAI LLM 调用的追踪 | 文档 |
| OpenAI (JS/TS) | 记录 OpenAI JavaScript/TypeScript 调用的追踪 | 文档 |
| OpenAI Agents | 记录 OpenAI Agents SDK 调用的追踪 | 文档 |
| OpenClaw | 记录 OpenClaw 智能体运行的追踪 | 文档 |
| OpenRouter | 记录 OpenRouter LLM 调用的追踪 | 文档 |
| OpenTelemetry | 记录 OpenTelemetry 支持的调用的追踪 | 文档 |
| OpenWebUI | 记录 OpenWebUI 对话的追踪 | 文档 |
| Pipecat | 记录 Pipecat 实时语音智能体调用的追踪 | 文档 |
| Predibase | 记录 Predibase LLM 调用的追踪 | 文档 |
| Pydantic AI | 记录 PydanticAI 智能体调用的追踪 | 文档 |
| Ragas | 记录 Ragas 评估的追踪 | 文档 |
| Semantic Kernel | 记录 Microsoft Semantic Kernel 调用的追踪 | 文档 |
| Smolagents | 记录 Smolagents 智能体的追踪 | 文档 |
| Spring AI | 记录 Spring AI 框架调用的追踪 | 文档 |
| Strands Agents | 记录 Strands agents 调用的追踪 | 文档 |
| Together AI | 记录 Together AI LLM 调用的追踪 | 文档 |
| Vercel AI SDK | 记录 Vercel AI SDK 调用的追踪 | 文档 |
| VoltAgent | 记录 VoltAgent 智能体框架调用的追踪 | 文档 |
| WatsonX | 记录 IBM watsonx LLM 调用的追踪 | 文档 |
| xAI Grok | 记录 xAI Grok LLM 调用的追踪 | 文档 |
[!TIP] 如果你使用的框架未列在上表中,欢迎提交 issue 或提交一个包含该集成的 PR。
如果你没有使用上述任何框架,也可以使用 track 函数装饰器来记录追踪:
import opik
opik.configure(use_local=True) # Run locally
@opik.track
def my_llm_function(user_question: str) -> str:
# Your LLM code here
return "Hello"
[!TIP] track 装饰器可以与我们的任何集成结合使用,也可用于追踪嵌套的函数调用。
<a id="-llm-as-a-judge-metrics"></a>
Python Opik SDK 包含许多 LLM 作为评判者的指标,帮助你评估 LLM 应用。请在指标文档中了解更多。
要使用它们,只需导入相关指标并使用 score 函数:
from opik.evaluation.metrics import Hallucination
metric = Hallucination()
score = metric.score(
input="What is the capital of France?",
output="Paris",
context=["France is a country in Europe."]
)
print(score)
Opik 还包含许多预构建的启发式指标,并支持创建你自己的指标。请在指标文档中了解更多。
<a id="-evaluating-your-llm-application"></a>
Opik 允许你在开发阶段通过数据集和实验评估你的 LLM 应用。Opik 仪表盘为实验提供了增强的图表,并能更好地处理大型追踪。你还可以使用我们的 PyTest 集成将评估作为 CI/CD 流水线的一部分运行。
<a id="-star-us-on-github"></a>
如果你觉得 Opik 有用,请考虑给我们点个 star!你的支持将帮助我们壮大社区并持续改进产品。
<a id="-contributing"></a>
为 Opik 做贡献的方式有很多:
要了解有关如何为 Opik 做贡献的更多信息,请参阅我们的贡献指南。