Skip to content

Latest commit

 

History

History
317 lines (236 loc) · 30.4 KB

File metadata and controls

317 lines (236 loc) · 30.4 KB

注意:此文件使用AI进行机器翻译。欢迎对翻译进行改进!

Comet Opik logo
Opik

开源 AI 可观测性、评估与优化平台

Opik 帮助您构建、测试并优化生成式 AI 应用,使其从原型到生产环境运行得更好。从 RAG 聊天机器人到代码助手再到复杂的智能体系统,Opik 提供全面的跟踪、评估,以及自动化的提示与工具优化,消除 AI 开发中的猜测。

Python SDK License Build

官网Slack 社区Twitter更新日志文档


Opik platform screenshot (thumbnail)

🚀 什么是 Opik?

Opik(由 Comet 开发)是一款开源平台,旨在简化整个 LLM 应用生命周期。它让开发者能够评估、测试、监控和优化模型及智能体系统。主要功能包括:

  • 全面可观测性:深度跟踪 LLM 调用、对话日志及智能体活动。
  • 高级评估:强大的提示评估、LLM-as-a-judge 及实验管理。
  • 生产就绪:可扩展的监控仪表板和在线评估规则。
  • Opik Agent Optimizer:用于提升提示和智能体的专用 SDK 与优化器。
  • Opik Guardrails:帮助您实施安全且负责任的 AI 实践。

主要功能包括:

  • 开发与跟踪:

    • 在开发和生产环境中跟踪所有 LLM 调用和详细跟踪信息 (快速开始)
    • 丰富的第三方集成:原生支持 Google ADK、Autogen、Flowise AI 等主流框架 (集成列表)
    • 通过 Python SDKUI 为跟踪和跨度添加反馈分数注释
    • Prompt Playground 中试验提示和模型
  • 评估与测试:

  • 生产监控与优化:

    • 高吞吐量生产跟踪:支持每日 4,000 万+ 跟踪记录
    • Opik 仪表板 中监控反馈分数、跟踪计数和令牌使用量
    • 使用 在线评估规则 和 LLM-as-a-Judge 指标检测生产问题
    • 利用 Opik Agent OptimizerOpik Guardrails 持续改进和保护您的 LLM 应用

Tip

如果您需要 Opik 当前尚不支持的功能,请提交新的 功能请求 🚀


🛠️ Opik 服务端安装

几分钟内即可运行 Opik 服务端,选择最适合您的方案:

方案 1:Comet.com 云(最简易 & 推荐)

无需维护,立即体验 Opik。适合快速启动和无忧维护。

👉 创建免费 Comet 帐号

方案 2:自托管(完全掌控)

在您自己的环境中部署 Opik,本地开发可选 Docker Compose,大规模生产推荐 Kubernetes & Helm。

Docker Compose(本地开发 & 测试)

最简方式启动本地 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。详情请见 本地部署指南

Kubernetes & Helm(大规模生产)

适用于生产或大规模自托管场景,通过 Helm Chart 在 Kubernetes 集群中安装 Opik:

Kubernetes

Important

版本 1.7.0 变更:请查看 更新日志 以了解重要更新和破坏性变更。

💻 Opik 客户端 SDK

Opik 提供一系列客户端库和 REST API 与 Opik 服务端交互,包含 Python、TypeScript 和 Ruby(通过 OpenTelemetry)SDK,方便集成到各类工作流中。详细 API 与 SDK 参考见 客户端参考文档

Python 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 记录跟踪!

📝 日志跟踪与集成

最简单的跟踪方式是使用直接集成,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 装饰器可与任何集成结合使用,亦可用于跟踪嵌套函数调用。

🧑‍⚖️ 作为裁判的 LLM

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 还提供多种预构建启发式指标,并支持创建自定义指标。更多信息请参阅同一 指标文档

🔍 评估您的应用

在开发过程中,可使用 DatasetsExperiments 进行评估。Opik 仪表板提供增强的实验图表并改进大规模跟踪处理。您还可以使用 PyTest 集成 将评估纳入 CI/CD 流程。

⭐ 在 GitHub 上给我们加星

如果您觉得 Opik 有用,请在 GitHub 上给我们加星!您的支持有助于我们壮大社区并持续改进产品。

Star History Chart

🤝 贡献指南

贡献 Opik 的方式有很多:

更多详情请参阅 CONTRIBUTING.md