
【模型测试】ai-eval-system在线评测系统v0.2预览版本介绍 原创
ai-eval-system
这是一个基于OpenCompass的模型评测系统,该系统提供了前端页面UI以方便用户自助开展评测工作。
项目地址
https://github.com/domonic18/ai-eval-system
版本发布
v0.2:
- 支持API方式进行Dify平台应用的评测
- 优化评测任务创建时的交互过程,包括API_URL等信息的输入、数据集的选择、评测信息的确认
- 优化评测任务页面的显示,区分我的评测和全部评测
- 优化评测任务终止时使用Celery原生方法不稳定的问题
- 服务进行Docker化,方便快速部署
v0.1:
- 支持基于OpenCompass的B/S架构的模型评测
- 支持API方式提交评测任务
- 支持评测任务的队列管理功能,包括创建、排队、运行、终止等
- 支持评测过程的日志的实时监控
- 支持评测结果的导出
系统功能
1. 创建评测任务
a.注册并登录系统
b.顶部菜单→在线评测→创建评测
c.选择自定义API类型
d.在编辑框内输入要测评的API_URL、API_KEY、MODEL_NAME
e.点击下一步,选择预置的数据集,例如:demo_math_chat_gen
f. 点击下一步,开始评测即可。
2. 查看评测进程
a.创建评测任务之后
b.在评测记录列表中,点击日志按钮,可以实时查看任务执行的日志情况
3. 查看评测结果
a.当评测任务执行完毕之后
b.在评测记录列表中,点击结果按钮,可以查看评测执行结果
c.点击"下载完整结果",可以将执行任务的完整记录下载分析
说明:
-
predictions
目录中的日志为对应评测数据集的详细记录,其中:-
origin_prompt
是测试的问题描述。-
prediction
是模型预测的答案。-
gold
是该问题的标准答案。
测试Dify平台上的应用
第一步:顶部菜单→在线评测→创建评测
第二步:选择 新建API方式
-> Dify接入
第三步:获取Dify应用信息。获取方法如下:
- 访问自己搭建Dify平台,例如:
https://guanghua.bj33smarter.com/
。 - 选择要测试的应用,例如:
DeepSeek聊天
- 选择
访问API
- 获取该应用的
Dify URL
和Dify API KEY
第四步:在评测系统中,输入Dify平台Dify URL
和Dify API KEY
,Dify应用类型选择Chat
,然后下一步选择要测试的模型。
备注:
- Dify平台上的应用类型为:
聊天助手
、Agent
两类应用,经过测试可用,在选择应用类型时都选择Chat
类型。 -
workflow
类型应用还未进行测试,可能存在不可用问题。
备注:目前仅预置了几个最为常见的评测数据集,后续需要根据实际业务场景配置或自定义数据集,如果大家有需求及建议,欢迎随时与我沟通。
提交评测任务。确认信息无误之后,点击提交评测即可。
评测过程中,如果想查看提交给Dify应用的问题以及回答,可以通过Dify平台的日志功能查看。
项目架构
系统架构流程
1. 分层架构设计
- 前端层:Vue3 + WebSocket(实时状态)
- 服务层:
a.API服务:FastAPI(RESTful API)
b.异步任务引擎:Celery + Redis(分布式任务队列)
c.核心评测引擎:OpenCompass封装层(Python API调用)
- 持久层:
a.MySQL(关系型数据)
c.Redis(缓存/消息中间件)
2. 关键技术组件
FastAPI: 提供高性能API服务,支持异步请求处理和自动API文档生成
SQLAlchemy: ORM框架,实现数据模型与数据库的映射
Celery: 分布式任务队列,处理长时间运行的评测任务
Redis: 作为Celery的消息代理和后端存储,同时提供缓存功能
OpenCompass: 核心评测引擎,提供模型性能评估能力
3. 目录结构
快速部署
你可以通过Docker方式快速部署,也可以通过开发者模式进行部署运行。
Docker方式部署(推荐)
1. 拉取代码
2. 配置环境变量
编辑.env文件,配置数据库连接信息
3. 启动服务
4. 访问系统
待docker容器启动完毕后,访问系统
开发模式运行
这种模式下,适用于开发者本地调试场景下。
1. 创建虚拟环境
2. 安装依赖
备注:
- 1. 安装过程如果比较慢,可以在在pip命令后添加-i {镜像地址}
- 2. 清华源地址:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
3. 启动mysql和redis
4. 启动FastAPI服务器
服务器将在 http://localhost:8000 启动,可以通过访问 http://localhost:8000/docs 查看API文档。
5. 启动Celery Worker
这将启动Celery Worker处理异步评测任务。
6. 启动前端服务
前端服务将在 http://localhost:5173 启动,可以通过访问 http://localhost:5173 查看评测系统UI。
本文转载自公众号一起AI技术 作者:热情的Dongming
