EvalPlus 是一个由 伊利诺伊大学厄巴纳-香槟分校(UIUC)团队开发的代码评估增强框架。 它通过自动生成大量高质量测试用例,对 LLM 生成的代码进行更严格、更全面的评估。
自动为每个编程问题生成成百上千个额外测试用例,覆盖边界条件和隐藏场景,远超原始基准的手工测试集。
提供 Base(原始测试)和 Plus(增强测试)两套评估标准,清晰展示模型在更严格标准下的性能衰减。
许多在原始测试上"通过"的代码实际上存在缺陷。EvalPlus 能有效识别这些假阳性,给出更真实的评估结果。
支持 HumanEval+、MBPP+、APPS+ 等多个主流代码生成基准,提供统一的评估接口。
基于 Python 构建,通过 pip 一键安装。支持本地执行评估,也支持接入任意兼容 OpenAI API 的模型服务。
EvalPlus 为多个主流代码生成基准提供增强测试集,点击查看详细评估报告。
378 个入门级 Python 编程任务,评估模型的基础代码生成能力。每个任务平均扩展 35× 测试用例。
📊 查看评估报告 →164 个手写编程问题,评估模型的理解和算法能力。每个任务平均扩展 76× 测试用例。
🚧 评估进行中10,000 个算法编程问题,覆盖从入门到竞赛级别。评估模型解决复杂问题的能力。
🚧 即将支持EvalPlus 通过大语言模型驱动的测试用例生成管道,将原始小规模测试集扩展为大规模、高质量的增强测试集。
解析原始编程任务的描述、函数签名和已有测试用例,理解问题的输入输出规范。
使用 LLM 自动生成大量额外测试用例,覆盖边界值、特殊输入、大数、空输入等隐藏场景。
对生成的测试用例进行去重,并通过多轮执行验证其正确性和有效性,确保测试质量。
用 Base(原始)和 Plus(增强)两套测试集分别评估模型输出,量化测试增强前后的性能差异。
传统代码生成基准存在测试覆盖不足的问题,导致模型评估结果存在严重假阳性。
HumanEval 每个问题平均只有 7.7 个测试用例,MBPP 只有 3 个。 这种稀疏的测试覆盖使得许多错误代码也能"通过"评估。
研究显示,在 EvalPlus 增强测试下,SOTA 模型的通过率平均下降 10-15%, 揭示了传统基准严重高估了模型的实际代码生成能力。
增强测试集能有效捕获模型在边界条件、类型处理、大数运算等场景下的系统性缺陷, 为模型改进提供明确方向。
以 DeepSeek V4 Pro 在 MBPP 上的评估为例,展示 EvalPlus 的实际评估效果。
EvalPlus 的研究论文发表于顶级会议,详细介绍了测试增强评估的方法论和实验结果。
论文标题:Evaluating Large Language Models Trained on Code with Enhanced Test Generation
作者:UIUC 研究团队(Jialin Song, Mengxi Li, et al.)
发表:arXiv:2309.09136
摘要:本文提出 EvalPlus,一个用于增强代码生成基准测试的框架。通过大语言模型自动生成大规模高质量测试用例,显著提升了代码评估的严格性和可靠性。实验表明,增强测试使多个 SOTA 模型的通过率下降 10-15%,揭示了传统基准的严重高估问题。
无论你是模型开发者、研究人员,还是希望了解 LLM 代码能力的从业者,EvalPlus 都能为你提供严格、可靠的评估工具。