Opik: 评估、测试和监控 LLM 应用
GitHub:https://github.com/comet-ml/opik
更多AI开源软件:发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI
Opik 是一个用于评估、测试和监控 LLM 应用程序的开源平台。由 Comet 建造。
从 RAG 聊天机器人到代码助手,再到复杂的代理管道等等,通过跟踪、评估和仪表板构建运行得更好、更快、更便宜的 LLM 系统。
主要功能
-
开发者:
- 描图:在开发和生产期间跟踪所有 LLM 调用和跟踪(快速入门、集成)
- 附注:通过使用 Python SDK 或 UI 记录反馈分数来注释您的 LLM 调用。
- 操场:在 prompt playground 中尝试不同的提示和模型。
-
评估:自动化 LLM 申请的评估过程:
- 数据集和实验:存储测试用例并运行实验(数据集、评估您的 LLM 应用程序)
- LLM 作为判断指标:使用 Opik 的 LLM 作为复杂问题的判断指标,例如幻觉检测、审核和 RAG 评估(答案相关性、上下文精度
- CI/CD 集成:使用我们的 PyTest 集成将评估作为 CI/CD 管道的一部分运行
-
生产监控:
- 记录您的所有生产跟踪:Opik 旨在支持大量跟踪,从而轻松监控您的生产应用程序。即使是小型部署,每天也可以提取超过 4000 万条跟踪!
- 监控控制面板:在 Opik 控制面板中查看您的反馈分数、跟踪计数和令牌随时间的变化。
- 在线评估指标:使用 LLM 作为 Judge 指标轻松对所有生产跟踪进行评分,并借助 Opik 的在线评估指标识别生产 LLM 应用程序的任何问题
安装和使用
🛠️ 安装
Opik 可作为完全开源的本地安装使用,也可以使用 Comet.com 作为托管解决方案。 开始使用 Opik 的最简单方法是在 comet.com 创建一个免费的 Comet 帐户。
如果您想自托管 Opik,可以通过克隆存储库并使用 Docker Compose 启动平台来实现:
在 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"
使用 或 选项对问题进行故障诊断。--help--info
一切准备就绪并运行后,您现在可以在浏览器上访问 localhost:5173!
🏁 开始使用
要开始使用,您需要先安装 Python SDK:
pip install opik
安装 SDK 后,您可以通过运行以下命令对其进行配置:opik configure
opik configure
这将允许您通过设置正确的本地服务器地址在本地配置 Opik,或者如果您使用的是云平台,则通过设置 API 密钥
提示
您还可以从 Python 代码中调用该方法,以将 SDK 配置为在本地安装上运行。opik.configure(use_local=True)
现在,您可以开始使用 Python 开发工具包记录跟踪了。
📝 日志记录跟踪
最简单的入门方法是使用我们的集成之一。Opik 支持:
集成 | 描述 | 文档 |
---|---|---|
开放人工智能 | 所有 OpenAI LLM 调用的日志跟踪 | 文档 |
LiteLLM | 使用 OpenAI 格式调用任何 LLM 模型 | 文档 |
LangChain 语言链 | 所有 LangChain LLM 调用的日志跟踪 | 文档 |
草垛 | 所有 Haystack 调用的日志跟踪 | 文档 |
人 | 所有 Anthropic LLM 调用的日志跟踪 | 文档 |
基岩 | 所有 Bedrock LLM 调用的日志跟踪 | 文档 |
船员人工智能 | 所有 CrewAI 调用的日志记录 | 文档 |
深度seek | 所有 DeepSeek LLM 调用的日志跟踪 | 文档 |
DSPy | 所有 DSPy 运行的日志跟踪 | 文档 |
双子座 | 所有 Gemini LLM 调用的日志跟踪 | 文档 |
格罗克 | 所有 Groq LLM 调用的日志跟踪 | 文档 |
护栏 | 所有 Guardrails 验证的日志跟踪 | 文档 |
教练 | 使用 Instructor 进行的所有 LLM 调用的日志跟踪 | 文档 |
语言图 | 所有 LangGraph 执行的日志跟踪 | 文档 |
骆驼指数 | 所有 LlamaIndex LLM 调用的日志跟踪 | 文档 |
奥拉马 | 所有 Ollama LLM 调用的日志跟踪 | 文档 |
Predibase | 微调和提供开源大型语言模型 | 文档 |
Pydantic 人工智能 | 微调和提供开源大型语言模型 | 文档 |
拉格斯 | PydanticAI 是一个 Python 代理框架,旨在构建生产应用程序 | 文档 |
屈臣氏 | 所有 watsonx LLM 调用的日志跟踪 | 文档 |
提示
如果您使用的框架未在上面列出,请随时打开一个 issue 或提交 PR 与集成。
如果您没有使用上述任何框架,您还可以使用函数 decorator 来记录跟踪:track
import opikopik.configure(use_local=True) # Run locally@opik.track
def my_llm_function(user_question: str) -> str:# Your LLM code herereturn "Hello"
提示
track decorator 可以与我们的任何集成结合使用,也可以用于跟踪嵌套函数调用。
🧑 ⚖️ LLM as a Judge 指标
Python Opik SDK 包含许多 LLM 作为判断指标,以帮助您评估 LLM 应用程序。在指标文档中了解更多信息。
要使用它们,只需导入相关指标并使用函数:score
from opik.evaluation.metrics import Hallucinationmetric = Hallucination()
score = metric.score(input="What is the capital of France?",output="Paris",context=["France is a country in Europe."]
)
print(score)