注意:此文件使用AI进行机器翻译。欢迎对翻译进行改进!
Español | Français | Deutsch | Русский | العربية | हिन्दी | Türkçe
Opik 帮助您构建、测试并优化生成式 AI 应用,使其从原型到生产环境运行得更好。从 RAG 聊天机器人到代码助手再到复杂的智能体系统,Opik 提供全面的跟踪、评估,以及自动化的提示与工具优化,消除 AI 开发中的猜测。
官网 • Slack 社区 • Twitter • 更新日志 • 文档
🧑⚖️ 作为裁判的 LLM • 🔍 评估您的应用 • ⭐ 在 GitHub 上给我们加星 • 🤝 贡献指南
Opik(由 Comet 开发)是一款开源平台,旨在简化整个 LLM 应用生命周期。它让开发者能够评估、测试、监控和优化模型及智能体系统。主要功能包括:
- 全面可观测性:深度跟踪 LLM 调用、对话日志及智能体活动。
- 高级评估:强大的提示评估、LLM-as-a-judge 及实验管理。
- 生产就绪:可扩展的监控仪表板和在线评估规则。
- Opik Agent Optimizer:用于提升提示和智能体的专用 SDK 与优化器。
- Opik Guardrails:帮助您实施安全且负责任的 AI 实践。
主要功能包括:
-
开发与跟踪:
- 在开发和生产环境中跟踪所有 LLM 调用和详细跟踪信息 (快速开始)
- 丰富的第三方集成:原生支持 Google ADK、Autogen、Flowise AI 等主流框架 (集成列表)
- 通过 Python SDK 或 UI 为跟踪和跨度添加反馈分数注释
- 在 Prompt Playground 中试验提示和模型
-
评估与测试:
-
生产监控与优化:
Tip
如果您需要 Opik 当前尚不支持的功能,请提交新的 功能请求 🚀
几分钟内即可运行 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.shOn 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 变更:请查看 更新日志 以了解重要更新和破坏性变更。
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 configureTip
您也可以在代码中调用 opik.configure(use_local=True) 来配置本地自托管,或直接在代码中提供 API key 和 workspace。更多配置选项请参阅 Python SDK 文档。
现在您可以使用 Python SDK 记录跟踪!
最简单的跟踪方式是使用直接集成,Opik 支持多种框架,包括 Google ADK、Autogen、AG2 和 Flowise AI 等:
| 集成 | 描述 | 文档 |
|---|---|---|
| ADK | 记录 Google Agent Development Kit (ADK) 的跟踪 | 文档 |
| AG2 | 记录 AG2 LLM 调用的跟踪 | 文档 |
| 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 调用的跟踪 | 文档 |
| 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 装饰器可与任何集成结合使用,亦可用于跟踪嵌套函数调用。
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 还提供多种预构建启发式指标,并支持创建自定义指标。更多信息请参阅同一 指标文档。
在开发过程中,可使用 Datasets 和 Experiments 进行评估。Opik 仪表板提供增强的实验图表并改进大规模跟踪处理。您还可以使用 PyTest 集成 将评估纳入 CI/CD 流程。
如果您觉得 Opik 有用,请在 GitHub 上给我们加星!您的支持有助于我们壮大社区并持续改进产品。
贡献 Opik 的方式有很多:
- 提交 错误报告 和 功能请求
- 审阅文档并提交 Pull Requests 改进文档
- 在演讲或文章中介绍 Opik 并告诉我们
- 为热门 功能请求 投票表示支持
更多详情请参阅 CONTRIBUTING.md。