project
One-Eval - 北大开源的自动化大模型评测框架
One-Eval 是北京大学 OpenDCAI 团队开源的自动化 Agent 驱动大模型评测框架,基于 DataFlow 与 LangGraph 构建,主打 NL2Eval(自然语言转评测)能力。
One-Eval是什么
One-Eval 是北京大学 OpenDCAI 团队开源的自动化 Agent 驱动大模型评测框架,基于 DataFlow 与 LangGraph 构建,主打 NL2Eval(自然语言转评测)能力。用户只需用自然语言描述评测目标,系统可自动完成基准推荐、数据下载、推理执行、指标匹配、打分及多维度报告生成,实现从需求到报告的全链路自动化。
One-Eval的主要功能
- NL2Eval 智能解析:用户输入自然语言需求,Agent 自动解析意图并规划评测路径。
- Bench Gallery 基准库:内置 GSM8K、MATH、MMLU、C-Eval、IFEval、HumanEval 等主流评测基准的元信息管理。
- 端到端自动执行:自动完成数据下载、模型推理、答案评分、统计分析与报告生成。
- 人机协同干预:支持在关键节点中断、审查、编辑与重跑,实时调整评测策略。
- 异构数据统一接口:通过 DataFlow 引擎标准化不同数据集的格式与列映射。
One-Eval的技术原理
- Agent 图编排架构:基于 LangGraph 构建状态机工作流,将评测拆解为 NL2Bench → BenchResolve → Metrics & Reporting 三大阶段。
- DataFlow 算子系统:底层采用 DataFlow 引擎处理数据准备与流式计算,实现异构数据集的统一接入与转换。
- Local-first + HuggingFace 双源解析:优先加载本地预置配置,缺失时自动调用 HuggingFace 工具搜索、下载并结构化数据集元信息。
- 可追踪状态管理:每一步执行状态持久化,支持断点恢复、回溯重跑与失败数据分析。
如何使用One-Eval
- 环境准备:通过 Conda 或 uv 创建虚拟环境并执行
pip install -e .安装依赖。 - 启动后端:运行
uvicorn one_eval.server.app:app --host 0.0.0.0 --port 8000启动 FastAPI 服务。 - 启动前端:进入
one-eval-web目录执行npm install && npm run dev,访问localhost:5173。 - 配置参数:在 Web 界面设置 API Key、目标模型及 HuggingFace Token,保存后可开始交互式评测。
- 发起评测:在输入框用自然语言描述需求,如”评测模型在数学推理任务上的表现”,Agent 自动执行并生成报告。
- 开发者模式:直接运行
python -m one_eval.graph.workflow_all "评测目标"通过命令行触发完整工作流。
One-Eval的关键信息和使用要求
- 开发团队:北京大学 OpenDCAI 实验室。
- 开源协议:完全开源,代码托管于 GitHub 可直接获取。
- 技术栈:后端基于 Python 3.11 与 FastAPI,前端采用 React + Vite,核心工作流依赖 LangGraph 进行图编排,底层数据处理由 DataFlow 算子系统驱动。
- 支持模型:兼容任意提供 OpenAI 标准接口的服务商,包括 OpenRouter、硅基流动、火山引擎以及自部署的 vLLM 等。
- 硬件要求:本地运行仅需常规开发机配置即可,实际推理阶段的计算与 Token 消耗完全取决于用户所选用的外部模型 API。
- 使用门槛:使用前需配置有效的 API Key 用于模型调用,同时需要 HuggingFace Token 以下载与加载部分评测数据集。
One-Eval的核心优势
- 零脚本评测:告别手动下载数据与编写配置,自然语言可发起全链路评测。
- 可扩展架构:基于 DataFlow 算子与 LangGraph 状态管理,私有数据集与自定义指标可轻松接入。
- 人机闭环:关键节点支持人工审查与干预,兼顾自动化与可控性。
- 多维度报告:自动生成分数统计、模型排名、失败案例分析与可操作建议。
- 全链路追踪:评测过程完全可追溯,每个节点的输入输出与状态变更均可审计。
One-Eval的项目地址
- GitHub仓库:https://github.com/OpenDCAI/One-Eval
- arXiv技术论文:https://arxiv.org/pdf/2603.09821
One-Eval的同类竞品对比
| 对比维度 | One-Eval | OpenCompass | EleutherAI LM Harness |
|---|---|---|---|
| 开发团队 | 北京大学 OpenDCAI 实验室 | 上海人工智能实验室 | EleutherAI 社区 |
| 核心定位 | Agent 驱动、NL2Eval 自动化评测 | 中文社区主流、配置驱动评测 | 海外老牌、脚本化评测工具 |
| 使用方式 | 自然语言描述 + Web UI 交互 + 代码调用 | YAML 配置文件 + 命令行脚本 | Python 脚本 + CLI 命令行 |
| 上手门槛 | 低,一句话即可发起评测 | 中,需编写配置文件 | 中,需编写代码与脚本 |
| 人机协同 | 支持,关键节点可中断、审查与干预 | 不支持,纯自动化执行 | 不支持,纯自动化执行 |
| 前端界面 | 内置 React + Vite 可视化工作流 | 有结果展示页面,无交互式前端 | 无前端界面 |
| 中文生态 | 原生支持 C-Eval、CMMLU 等 | 极强,中文基准覆盖完善 | 较弱,需自行配置中文数据集 |
| 异构数据支持 | DataFlow 算子系统统一接入 | 较完善 | 较完善,但配置复杂度较高 |
| Agent/Sandbox 评测 | 规划中(未来支持 SWE-bench 等) | 部分支持 | 不支持 |
| 适用场景 | 快速选型、工程验收、学术实验 | 深度定制、大规模批量评测 | 英文基准研究、代码级灵活定制 |
One-Eval的应用场景
- 模型选型初筛:快速对比多个候选模型在数学、推理、代码、指令遵循等维度的表现。
- 私有化模型验收:对自部署或微调后的模型进行标准化能力验收与回归测试。
- 基准调研:通过 Bench Gallery 快速检索与配置适合特定任务类型的评测集。
- 学术研究:为论文实验提供可复现、可追踪的自动化评测流水线。
- Agent 能力评估:评测 LLM 在工具调用、规划与复杂任务执行中的表现(未来支持 SWE-bench 等场景)。