ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Opik:开源 LLM 可观测性与评估平台实战指南——从追踪、评估到自托管部署

Opik:开源 LLM 可观测性与评估平台实战指南——从追踪、评估到自托管部署 Opik开源 LLM 可观测性与评估平台实战指南——从追踪、评估到自托管部署【免费下载链接】comet-llmDebug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards.项目地址: https://gitcode.com/GitHub_Trending/co/comet-llm本文以仓库根目录 readme_CN.md 为骨架结合 opik.sh、deployment/docker-compose/docker-compose.yaml 与 Python SDK 源码完整讲解 Opik 的能力边界、快速上手路径、自托管部署方案与 LLM 评估实践。读完本文你将能够独立完成 Opik 的本地部署与配置、用track记录智能体追踪、用 LLM 作为评判者的指标与数据集/实验体系评估 LLM 应用并把评估接入 CI/CD。Opik 是 Comet 打造的开源 LLM 可观测性与评估平台覆盖 LLM 应用从开发阶段第一条追踪到生产监控的完整生命周期面向构建 LLM 应用和 AI 智能体的团队。它采用 Apache-2.0 许可可以免费自托管完整平台包含服务器后端与 Web 应用而不仅是客户端 SDK数据可完全留在自有环境内。核心能力总览Opik 围绕 LLM 应用的完整生命周期提供六大能力AI 智能体追踪与可观测性对 LLM 调用、对话日志和智能体活动进行深度追踪为多步骤智能体和工具调用提供完整的追踪树Trace Tree。LLM 评估提供数据集、实验以及 LLM 作为评判者LLM-as-a-Judge的指标用于幻觉检测、内容审核和 RAG 评估。提示与智能体优化Opik Agent Optimizer SDK用于改进提示和智能体。生产就绪的监控可扩展的仪表盘和在线评估规则用于在生产环境中持续观测反馈评分、追踪数量与 token 用量。Opik Guardrails帮助实施安全且负责任的 AI 实践。CI/CD 评估PyTest 集成可在每次提交时测试 LLM 流水线。从开发与追踪角度看Opik 支持在开发和生产环境中跟踪所有 LLM 调用与追踪并附带详细上下文提供丰富的第三方集成可通过 Python SDK 或 UI 为追踪和 span 添加反馈评分注解annotate并内置提示 Playground 用于试验提示与模型。从评估与测试角度看它支持使用数据集和实验自动化 LLM 应用评估利用 LLM 作为评判者的指标处理幻觉检测、内容审核以及 RAG 评估答案相关性、上下文精确度等并通过 PyTest 集成把评估嵌入 CI/CD。从生产监控与优化角度看Opik 专为规模化记录生产追踪而设计可在仪表盘中监控反馈评分、追踪数量和 token 用量借助带 LLM 评判指标的在线评估规则识别生产问题并结合 Agent Optimizer 与 Guardrails 在生产中持续改进和保护应用。快速开始三行代码接入追踪Opik 的入门路径极短。首先安装 Python SDK 并进行配置pip install opik opik configureopik configure命令会引导你完成 SDK 配置对于自托管实例提示输入 Opik 服务器地址对于 Comet.com 云端提示输入 API 密钥和工作区。从源码看该命令实现在 sdks/python/src/opik/cli/configure.py底层调用 sdks/python/src/opik/configurator/configure.py 中的configure()方法将配置写入用户主目录下的~/.opik.config文件。除了命令行交互你也可以在代码中直接调用opik.configure(use_localTrue)指向本地自托管实例或直接提供 Comet.com 的 API 密钥和工作区详情。配置完成后用track装饰器包裹任意函数即可开始记录追踪from opik import track track def my_function(input: str) - str: return input此后每次对my_function的调用都会被记录到 Opik包括嵌套调用——这正是它适用于完整智能体和流水线追踪而不仅是单次 LLM 调用的关键设计。从源码看track装饰器的核心实现在 sdks/python/src/opik/decorator/base_track_decorator.py它通过包装函数调用并向上传播父级 span 上下文来构建完整的追踪树。Python 之外Opik 还提供 TypeScript SDK 与更多配置选项。连接你的编码智能体MCPOpik 支持让 Claude Code、Cursor、VS Code Copilot、Codex 或 opencode 等编码智能体直接在聊天中读取你的追踪、为输出打分并运行评估。只需要uv工具无需安装 SDK一条命令即可完成设置uvx opik mcp configure该命令面向自托管部署同样适用Opik Cloud 上的其他 MCP 客户端可用npx add-mcp https://www.comet.com/opik/api/v1/mcp --name opik-mcp完成接入。MCP 服务器的配置逻辑位于 sdks/python/src/opik/cli/mcp.py它负责在各类 AI 客户端中注册 Opik MCP 服务端点。Opik 服务器安装三种方式按需选择方式一Comet.com 云端最简单无需任何设置即可立即访问 Opik适合快速上手和免运维场景。适合需要托管服务、不想自己维护基础设施的团队。方式二Docker Compose 自托管本地开发与测试这是让本地 Opik 实例运行起来的最简单方式仓库根目录提供了新的opik.shLinux/Mac与opik.ps1Windows安装脚本。Linux 或 Mac 环境git clone https://github.com/comet-ml/opik.git cd opik ./opik.shWindows 环境PowerShellgit clone https://github.com/comet-ml/opik.git cd opik powershell -ExecutionPolicy ByPass -c .\opik.ps1安装脚本选项详解opik.sh和opik.ps1支持一系列选项用于控制启动哪些服务组合# 启动完整 Opik 套件默认行为 ./opik.sh # 仅启动基础设施服务数据库、缓存等 ./opik.sh --infra # 启动基础设施 后端服务 ./opik.sh --backend # 任意模式下启用 Guardrails ./opik.sh --guardrails # Guardrails 完整 Opik 套件 ./opik.sh --backend --guardrails # Guardrails 基础设施 后端 # 无 GPU 环境下使用 CPU 专用镜像构建 ./opik.sh --guardrails-cpu # 启动前从源码构建容器镜像 ./opik.sh --build # 检查所有容器是否健康 ./opik.sh --verify # 停止所有容器 ./opik.sh --stop # 停止所有容器并删除全部 Opik 数据卷 # 警告所有 Opik 数据将永久丢失 ./opik.sh --clean # 查看全部可用选项 ./opik.sh --help从 opik.sh 源码可以看出这套脚本的设计逻辑它通过 Docker Compose profiles 组合不同服务层级——基础设施MySQL、Redis、ClickHouse、ZooKeeper、MinIO默认随 Compose 启动--infra、--backend、--local-be、--local-be-fe四种 profile 参数互斥脚本会在同时传入多个时直接报错退出--guardrails与--guardrails-cpu是可叠加的附加 profile。脚本启动时会自动为每个容器执行健康检查轮询每 1 秒一次、最多重试 60 次并在全部健康后于主目录生成~/.opik.config其中写入[opik] url_override http://localhost:5173/api/ workspace default启动完成后在浏览器访问 localhost:5173 即可使用 UI。使用--help或--info选项可以排查问题。仓库中的 Dockerfile 已确保容器以非 root 用户运行以增强安全性。直接使用 docker compose如果不想用脚本也可以在仓库根目录直接执行cd deployment/docker-compose docker compose -f docker-compose.yaml --profile opik up -d如需指定版本先export OPIK_VERSION版本号默认拉取latest镜像。各服务 profile 的关系如下基础设施服务MySQL、Redis、ClickHouse、ZooKeeper、MinIO 等始终默认启动backendprofile 追加后端与 Python 后端opikprofile 为完整套件不含 Guardrailsguardrails为可选附加opik-otel在完整套件基础上追加 Jaeger 与 OpenTelemetry Collector 用于平台自身可观测性。详细说明见 deployment/docker-compose/README.md。架构组成见 deployment/docker-compose/docker-compose.yaml完整套件包含mysql状态库存储项目、数据集等元数据、clickhouse分析库存储 traces/spans配套clickhouse-init初始化配置、redis缓存与 RQ 任务队列、zookeeperClickHouse 分布式协调、minioS3 兼容对象存储用于附件与mc初始化 bucket上层为backendJava 后端启动时依次执行run_db_migrations.sh、provision_agent_insights_readonly_user.sh与entrypoint.sh、python-backendPython 评估/代码执行后端、frontendNginx Web UI暴露 5173 端口以及可选的demo-data-generator默认开启自动生成演示数据。方式三Kubernetes Helm 自托管可扩展部署对于生产环境或更大规模的自托管部署可以使用仓库 deployment/helm_chart/opik 下的 Helm chart 将 Opik 安装到 Kubernetes 集群上。chart 的values.yaml提供了镜像、副本数、数据库连接、存储等完整的可调参数适合需要横向扩展与高可用的团队。Opik 客户端 SDK 与 OpenTelemetryOpik 提供一套客户端库和一个 REST API 用于与 Opik 服务器交互包括面向 Python 和 TypeScript 的 SDK以及第一方 OpenTelemetry 支持任何具有 OpenTelemetry SDK 的语言包括 Java、Ruby 和 .NET都可以将追踪数据发送到 Opik。OpenTelemetry 接入路径在 sdks/python/src/opik/integrations/otel 中实现它把 OpenTelemetry 的 span 桥接为 Opik 的 trace 模型。Python SDK 快速开始安装软件包pip 或 uv 两种方式pip install opik # 或 uv pip install opik运行opik configure完成配置后即可开始记录追踪。如果你没有使用任何第三方框架也可以直接用track装饰器记录追踪import opik opik.configure(use_localTrue) # 指向本地自托管实例 opik.track def my_llm_function(user_question: str) - str: # 你的 LLM 代码 return Hellotrack装饰器可以与任何官方集成结合使用也可用于追踪嵌套的函数调用从而为多步骤智能体构建完整追踪树。通过集成记录追踪记录追踪最简单的方式是使用 Opik 的直接集成。仓库 sdks/python/src/opik/integrations 中即可看到 Python 侧已实现的部分集成目录包括openai、anthropic、langchain、litellm、llama_index、haystack、crewai、dspy、bedrock、groq、mistral、guardrails等。文档列出的完整集成矩阵覆盖按名称集成描述ADK记录 Google Agent Development Kit 的追踪AG2记录 AG2 LLM 调用的追踪Agent Spec记录 Agent Spec 调用的追踪AIsuite记录 aisuite LLM 调用的追踪Agno记录 Agno 智能体编排框架调用的追踪Anthropic记录 Anthropic LLM 调用的追踪Autogen记录 Autogen 智能体化工作流的追踪Bedrock记录 Amazon Bedrock LLM 调用的追踪BeeAI (Python / TypeScript)记录 BeeAI 智能体框架调用的追踪BytePlus / Cloudflare Workers AI / Cohere / DeepSeek / Fireworks AI记录对应 LLM 调用的追踪CrewAI记录 CrewAI 调用的追踪Cursor记录 Cursor 对话的追踪Dify记录 Dify 智能体运行的追踪DSPy记录 DSPy 运行的追踪Flowise AI记录 Flowise AI 可视化 LLM 构建器的追踪Gemini (Python / TypeScript)记录 Google Gemini LLM 调用的追踪Groq记录 Groq LLM 调用的追踪Guardrails记录 Guardrails AI 校验的追踪Haystack / Harbor / Instructor记录对应框架调用或基准评估试验的追踪LangChain (Python / JS/TS) / LangGraph / Langflow记录 LangChain 生态执行的追踪LiteLLM / LiveKit Agents / LlamaIndex / Mastra记录对应框架调用的追踪Microsoft Agent Framework (Python / .NET)记录 Microsoft Agent Framework 调用的追踪Mistral AI / n8n / Novita AI / Ollama记录对应框架调用的追踪OpenAI (Python / JS/TS) / OpenAI Agents记录 OpenAI 系列调用的追踪OpenClaw / OpenRouter / OpenTelemetry / OpenWebUI记录对应调用的追踪Pipecat / Predibase / Pydantic AI / Ragas记录对应框架调用或评估的追踪Semantic Kernel / Smolagents / Spring AI / Strands Agents记录对应框架调用的追踪Together AI / TrueFoundry / Vercel AI SDK / VoltAgent记录对应框架调用的追踪WatsonX / xAI Grok记录对应 LLM 调用的追踪表中还包含近期新增的 Google ADK、Autogen、AG2 和 Flowise AI 等。如果你使用的框架未在列表中可以通过提交 issue 或提交集成 PR 的方式为项目做贡献。未使用任何框架时track装饰器始终是兜底方案。LLM 作为评判者的指标Python Opik SDK 内置了大量 LLM 作为评判者的指标用于评估 LLM 应用质量。使用方式极为简单导入相关指标并调用score函数from opik.evaluation.metrics import Hallucination metric Hallucination() score metric.score( inputWhat is the capital of France?, outputParis, context[France is a country in Europe.] ) print(score)从源码看Hallucination类实现在 sdks/python/src/opik/evaluation/metrics/llm_judges/hallucination/metric.py它通过另一个 LLM 判断输出是否基于给定上下文的事实性检测到幻觉时返回 1.0否则返回 0.0并给出reason说明。构造参数支持自定义model字符串模型名或OpikBaseModel子类实例默认使用LiteLLMChatModel、name指标名默认hallucination_metric、few_shot_examples少样本示例默认使用内置示例、track是否记录指标本身、seed与temperature用于可复现的模型生成。该指标属于 sdks/python/src/opik/evaluation/metrics/base_metric.py 中BaseMetric的派生体系评估结果由 sdks/python/src/opik/evaluation/metrics/score_result.py 中的结果对象承载。除 LLM 评判指标外Opik 还包含大量预构建的启发式heuristic指标源码位于 sdks/python/src/opik/evaluation/metrics/heuristics包括bleu、bertscore、chrf、contains、equals、is_json、levenshtein_ratio等并支持基于BaseMetric创建自定义指标覆盖无 LLM 参与的轻量评估场景。评估你的 LLM 应用Opik 允许在开发阶段通过**数据集Datasets和实验Experiments**评估 LLM 应用数据集管理用于评估的输入输出样本集合是实验的输入基础。实验在数据集上运行你的 LLM 应用或被评估的函数批量计算各项指标得分并汇总对比。Opik 仪表盘为实验提供了增强的图表并能更好地处理大型追踪便于横向比较不同提示词、模型或参数组合的效果。评估相关的核心实现位于 sdks/python/src/opik/evaluation其中evaluation_result.py定义实验评估结果模型evaluate相关的编排逻辑会将数据集样本、应用函数与指标绑定执行并产出结构化报告。更重要的是你可以使用PyTest 集成将评估作为 CI/CD 流水线的一部分运行——在每次提交时自动测试 LLM 流水线把幻觉率上升答案相关性下降这类质量问题挡在合并之前实现面向 LLM 应用的持续集成。与同类工具的定位对比Opik 与 LangSmith、ArizePhoenix 和 Arize AX、Weights BiasesWeave、Langfuse 和 Braintrust 同处 LLM 可观测性 / AI 智能体评估赛道。关键能力对比如下能力OpikLangSmithPhoenixArize AXWeights Biases (Weave)LangfuseBraintrust开源是Apache-2.0完整平台否源码可用Elastic License 2.0未获 OSI 批准否开源 SDK/工具包自管平台需商业许可MIT 许可的核心平台商业企业模块否自托管部署是仅企业版是仅企业版Weave 本身仅企业版是核心版仅企业版提供免费层云端或自托管是两者皆有是云端是自托管是云端是云端是两者皆有是云端智能体 / 多步骤追踪是是是是是是是LLM 作为评判者评估是是是是是是是提示管理是是部分支持部分支持部分支持是是框架无关是部分围绕 LangChain 构建是是是是是Opik 的差异化定位在于完整的可观测性、评估和优化平台采用 Apache-2.0 许可无需商业许可即可自托管部署对比之下部分同类平台的自托管部署需要企业版计划同时框架无关不会将团队锁定到单一智能体生态系统中支持自有 SDK、OpenTelemetry 以及面向特定框架的集成三种接入路径。常见问题速答Opik 是开源的吗是采用 Apache-2.0 许可。服务器、Web 应用以及核心的可观测性和评估功能均可无需商业许可自托管。可以自托管 Opik 吗可以。支持 Docker Compose本地与 Kubernetes/Helm生产两种自托管方案。支持 AI 智能体追踪吗支持。可捕获包含 LLM 调用、工具执行、检索步骤和其他智能体活动的多步骤追踪。支持 LLM 评估吗支持。涵盖数据集、实验、基于代码的指标、LLM 作为评判者的评估以及在线评估。是否绑定特定智能体框架否。Opik 框架无关支持自有 SDK、OpenTelemetry 及特定框架集成。深度阅读指引继续深入可以在当前仓库中找到以下资源安装脚本 opik.sh 与 opik.ps1、Compose 编排与全部环境变量 deployment/docker-compose/docker-compose.yaml、Compose 开发指引 deployment/docker-compose/README.md、Kubernetes 部署参数 deployment/helm_chart/opik/values.yaml、Python SDK 源码 sdks/python/src/opik、TypeScript SDK 源码 sdks/typescript/src/opik以及 Java 后端源码 apps/opik-backend/src/main/java 与 Python 后端源码 apps/opik-python-backend/src/opik_backend。【免费下载链接】comet-llmDebug, evaluate, and monitor your LLM applications, RAG systems, and agentic workflows with comprehensive tracing, automated evaluations, and production-ready dashboards.项目地址: https://gitcode.com/GitHub_Trending/co/comet-llm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表