readme_CN.md
<div align="center"><b><a href="README.md">English</a> | <a href="readme_CN.md">简体中文</a> | <a href="readme_JP.md">日本語</a> | <a href="readme_PT_BR.md">Português (Brasil)</a> | <a href="readme_KO.md">한국어</a> <a href="readme_ES.md">Español</a> | <a href="readme_FR.md">Français</a> | <a href="readme_DE.md">Deutsch</a> | <a href="readme_RU.md">Русский</a> | <a href="readme_AR.md">العربية</a> | <a href="readme_HI.md">हिन्दी</a> | <a href="readme_TR.md">Türkçe</a></b></div> <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
</div>
<a href="#🧑⚖-作为裁判的-llm">🧑⚖️ 作为裁判的 LLM</a> • <a href="#-评估您的应用">🔍 评估您的应用</a> • <a href="#-在-github-上给我们加星">⭐ 在 GitHub 上给我们加星</a> • <a href="#🤝-贡献指南">🤝 贡献指南</a>
</div><a id="-什么是-opik"></a>
Opik(由 Comet 开发)是一款开源平台,旨在简化整个 LLM 应用生命周期。它让开发者能够评估、测试、监控和优化模型及智能体系统。主要功能包括:
主要功能包括:
开发与跟踪:
评估与测试:
生产监控与优化:
[!TIP]
如果您需要 Opik 当前尚不支持的功能,请提交新的 功能请求 🚀
<a id="-opik-服务端安装"></a>
几分钟内即可运行 Opik 服务端,选择最适合您的方案:
无需维护,立即体验 Opik。适合快速启动和无忧维护。
在您自己的环境中部署 Opik,本地开发可选 Docker Compose,大规模生产推荐 Kubernetes & Helm。
最简方式启动本地 Opik 实例,使用全新 .opik.sh 安装脚本:
On Linux or Mac Environment:
# 克隆 Opik 仓库
git clone https://github.com/comet-ml/opik.git
# 进入仓库目录
cd opik
# 启动 Opik 平台
./opik.sh
On Windows Environment:
# 克隆 Opik 仓库
git clone https://github.com/comet-ml/opik.git
# 进入仓库目录
cd opik
# 启动 Opik 平台
powershell -ExecutionPolicy ByPass -c ".\\opik.ps1"
开发服务配置文件
Opik 安装脚本现在支持针对不同开发场景的服务配置文件:
# 完整 Opik 套件(默认行为)
./opik.sh
# 仅基础设施服务(数据库、缓存等)
./opik.sh --infra
# 基础设施 + 后端服务
./opik.sh --backend
# 在任何配置文件中启用守护栏
./opik.sh --guardrails # 完整 Opik 套件 + 守护栏
./opik.sh --backend --guardrails # 基础设施 + 后端 + 守护栏
使用 --help 或 --info 查看更多选项。Dockerfile 已确保容器以非 root 用户运行以增强安全性。启动成功后,打开浏览器访问 localhost:5173。详情请见 本地部署指南。
适用于生产或大规模自托管场景,通过 Helm Chart 在 Kubernetes 集群中安装 Opik:
[!IMPORTANT] 版本 1.7.0 变更:请查看 更新日志 以了解重要更新和破坏性变更。
<a id="-opik-客户端-sdk"></a>
Opik 提供一系列客户端库和 REST API 与 Opik 服务端交互,包含 Python、TypeScript 和 Ruby(通过 OpenTelemetry)SDK,方便集成到各类工作流中。详细 API 与 SDK 参考见 客户端参考文档。
安装包:
# 使用 pip 安装
pip install opik
# 或使用 uv 安装
uv pip install opik
运行 opik configure,并按提示输入 Opik 服务端地址(自托管)或 API key 与 workspace(Comet.com):
opik configure
[!TIP]
您也可以在代码中调用opik.configure(use_local=True)来配置本地自托管,或直接在代码中提供 API key 和 workspace。更多配置选项请参阅 Python SDK 文档。
现在您可以使用 Python SDK 记录跟踪!
<a id="-日志跟踪与集成"></a>
最简单的跟踪方式是使用直接集成,Opik 支持多种框架,包括 Google ADK、Autogen、AG2 和 Flowise AI 等:
| 集成 | 描述 | 文档 |
|---|---|---|
| ADK | 记录 Google Agent Development Kit (ADK) 的跟踪 | 文档 |
| AG2 | 记录 AG2 LLM 调用的跟踪 | 文档 |
| aisuite | 记录 aisuite LLM 调用的跟踪 | 文档 |
| Agent Spec | 记录 Agent Spec 调用的跟踪 | 文档 |
| Agno | 记录 Agno 智能体编排框架调用的跟踪 | 文档 |
| Anthropic | 记录 Anthropic LLM 调用的跟踪 | 文档 |
| Autogen | 记录 Autogen 智能体工作流的跟踪 | 文档 |
| Bedrock | 记录 Amazon Bedrock LLM 调用的跟踪 | 文档 |
| BeeAI (Python) | 记录 BeeAI Python 智能体框架调用的跟踪 | 文档 |
| BeeAI (TypeScript) | 记录 BeeAI TypeScript 智能体框架调用的跟踪 | 文档 |
| BytePlus | 记录 BytePlus LLM 调用的跟踪 | 文档 |
| CrewAI | 记录 CrewAI 调用的跟踪 | 文档 |
| Cloudflare Workers AI | 记录 Cloudflare Workers AI 调用的跟踪 | 文档 |
| Cohere | 记录 Cohere LLM 调用的跟踪 | 文档 |
| Cursor | 记录 Cursor 对话的跟踪 | 文档 |
| DeepSeek | 记录 DeepSeek LLM 调用的跟踪 | 文档 |
| Dify | 记录 Dify 智能体运行的跟踪 | 文档 |
| DSPy | 记录 DSPy 运行的跟踪 | 文档 |
| Flowise AI | 记录 Flowise AI 可视化 LLM 应用的跟踪 | 文档 |
| Fireworks AI | 记录 Fireworks 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 智能体框架调用的跟踪 | 文档 |
| 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 工作流执行的跟踪 | 文档 |
| LlamaIndex | 记录 LlamaIndex LLM 调用的跟踪 | 文档 |
| Ollama | 记录 Ollama LLM 调用的跟踪 | 文档 |
| OpenAI (Python) | 记录 OpenAI LLM 调用的跟踪 | 文档 |
| OpenAI (JS/TS) | 记录 OpenAI JavaScript/TypeScript 调用的跟踪 | 文档 |
| OpenAI Agents | 记录 OpenAI Agents SDK 调用的跟踪 | 文档 |
| OpenClaw | 记录 OpenClaw 智能体运行的跟踪 | 文档 |
| Novita AI | 记录 Novita AI LLM 调用的跟踪 | 文档 |
| OpenRouter | 记录 OpenRouter LLM 调用的跟踪 | 文档 |
| OpenTelemetry | 记录 OpenTelemetry 支持的调用跟踪 | 文档 |
| OpenWebUI | 记录 OpenWebUI 对话的跟踪 | 文档 |
| Pipecat | 记录 Pipecat 实时语音智能体调用的跟踪 | 文档 |
| Predibase | 记录 Predibase LLM 调用的跟踪 | 文档 |
| Pydantic AI | 记录 PydanticAI 智能体调用的跟踪 | 文档 |
| Ragas | 记录 Ragas 评估的跟踪 | 文档 |
| Smolagents | 记录 Smolagents 智能体调用的跟踪 | 文档 |
| Semantic Kernel | 记录 Microsoft Semantic Kernel 调用的跟踪 | 文档 |
| 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) # 本地运行
@opik.track
def my_llm_function(user_question: str) -> str:
# 在此处编写您的 LLM 代码
return "你好"
[!TIP]
track装饰器可与任何集成结合使用,亦可用于跟踪嵌套函数调用。
<a id="🧑⚖-作为裁判的-llm"></a>
Python Opik SDK 包含多种 LLM-as-a-judge 指标,可帮助您评估 LLM 应用。详情请参阅 指标文档。
使用示例:
from opik.evaluation.metrics import Hallucination
metric = Hallucination()
score = metric.score(
input="法国的首都是哪里?",
output="巴黎",
context=["法国是欧洲的一个国家。"]
)
print(score)
Opik 还提供多种预构建启发式指标,并支持创建自定义指标。更多信息请参阅同一 指标文档。
<a id="-评估您的应用"></a>
在开发过程中,可使用 Datasets 和 Experiments 进行评估。Opik 仪表板提供增强的实验图表并改进大规模跟踪处理。您还可以使用 PyTest 集成 将评估纳入 CI/CD 流程。
<a id="-在-github-上给我们加星"></a>
如果您觉得 Opik 有用,请在 GitHub 上给我们加星!您的支持有助于我们壮大社区并持续改进产品。
<a id="🤝-贡献指南"></a>
贡献 Opik 的方式有很多:
更多详情请参阅 CONTRIBUTING.md。