专业的编程技术博客社区

网站首页 > 博客文章 正文

Star 8K的开源 LLM 评估框架 Opik

baijin 2025-05-26 13:38:20 博客文章 5 ℃ 0 评论

为什么要评估

例如开发RAG应用时,不评估是不知道效果好不好的,我们可以使用Ragas来进行评估,但是它知识一个评估框架,打印到控制台,历史记录没法追溯,只能当时分析。那有没有一个可以可视化并且可追溯的评估框架或者平台呢? 有,就是今天的主人公Opik。

什么是Opik

Opik 作为一个从2024年9月开源的LLM评估平台,仅仅9个月就斩获了8K个star,势头还是挺猛的,据说它从 RAG 聊天机器人到代码助手,再到复杂的代理流水线等,构建高效、快速且低成本的 LLM 系统,具备追踪、评估和仪表板功能。

可以在以下方面使用 Opik:

  • 开发:
  • 追踪: 在开发和生产过程中跟踪所有 LLM 调用和追踪 (快速入门、集成)
  • 注释: 通过 Python SDK 或 UI 来记录反馈分数,对 LLM 调用进行注释。
  • 沙盒: 在 提示沙盒 中试用不同的提示和模型。
  • 评估:
  • 数据集与实验: 存储测试用例并运行实验 (数据集、评估您的 LLM 应用)
  • LLM 评审指标: 使用 Opik 提供的 LLM 评审指标来处理幻觉检测 (幻觉检测)、内容审核 (审核) 和 RAG 评估 (答案相关性、上下文准确性) 等复杂问题。
  • CI/CD 集成: 使用我们的 PyTest 集成 将评估过程集成到 CI/CD 流程中。

平台架构

看起来挺复杂的,组成组件也挺多,想了解的可以查看他们的架构文档:
https://www.comet.com/docs/opik/self-host/architecture

安装和启动平台

linux/macos

# Clone the Opik repository
git clone https://github.com/comet-ml/opik.git

# Navigate to the opik folder

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 opik folder
cd opik

# Start the Opik platform
powershell -ExecutionPolicy ByPass -c ".\opik.ps1"

停止平台

# linux/macos
root of the Opik repository you cloned
./opik.sh --stop

# windows
powershell -ExecutionPolicy ByPass -c ".\opik.ps1 --stop"

通过docker方式部署平台

# Navigate to the opik/deployment/docker-compose directory
cd opik/deployment/docker-compose

# Start, upgrade or restart the Opik platform
docker-compose up --detach

# 停止和删除
# Navigate to docker compose folder
cd deployment/docker-compose

# Remove the Opik containers and volumes
docker-compose down --volumes

问题

Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: TLS handshake timeout

出现这样的错误当然是网络问题了: 增加国内镜像: 编辑或创建/etc/docker/daemon.json文件,添加或修改镜像源地址:

       {
         "registry-mirrors": ["https://registry.docker-cn.com ", "http://hub-mirror.c.163.com "]
       }

重启生效:

       systemctl daemon-reload
       systemctl restart docker

那如果是用Docker Desktop,则在这里修改配置文件:

然后应用和重启。

启动成功了:

使用

上面都是启动平台,启动之后就能够通过http://localhost:5173来访问页面了。

初始访问效果是这样的:

然后我们需要在程序中引入Opik的Python SDK来和部署的Opik平台使用:

pip install opik

opik configure --use_local

这将创建一个~/.opik.config文件来存储本地 Opik 实例的 URL。如果是docker部署,然后修改了端口映射,就需要来修改这个配置文件。可选哈,也可在代码中配置服务器地址。

在LangChain中调用

Opik 与 LangChain 无缝集成,可以轻松记录和跟踪基于 LangChain 的应用程序。

这是我前面写的一个RAG应用,增加Opik的集成。

只需要初始化和在callbacks中传递即可。

from opik.integrations.langchain import OpikTracer
import os

os.environ["OPIK_URL_OVERRIDE"] = "http://localhost:5173/api"

# 初始化tracer
opik_tracer = OpikTracer()


from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="qwen-turbo",
    api_key="sk-a9f4a3b8f304xxxxxxx",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    callbacks=[opik_tracer]
)

本次RAG的大模型交互详细记录就可以看到了:

更多Opik功能介绍,敬请关注。

关闭官方收集使用情况报告

使用情况统计报告默认是启用的。可以通过将OPIK_USAGE_REPORT_ENABLED环境变量设置为 false, 来选择退出发送统计报告。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表