HumanEval
收藏OpenCodeEval 数据集概述
概述
OpenCodeEval 是一个用于评估大型语言模型(LLMs)在代码生成任务上的综合框架。它提供标准化的基准测试、灵活的配置选项和强大的评估指标,以评估模型在不同编程挑战中的性能。
特点
-
多基准数据集支持:
- HumanEval & HumanEvalPlus
- MBPP & MBPPPlus
- BigCodeBench & BigCodeBench-Hard
- LeetCode
-
灵活的模型支持:
- 基础模型
- 聊天模型
-
后端支持:
- vLLM 加速
- OpenAI API 集成(即将推出)
-
全面的评估工具:
- Pass@k 指标
- 多样本评估
- 并行处理
快速开始
-
克隆仓库: bash git clone https://github.com/richardodliu/OpenCodeEval.git cd OpenCodeEval
-
下载基准数据集: bash cd src/data bash dataset.sh
-
运行评估: python python src/main.py --model_name <your_model_name> --save_path <output_directory> --num_gpus <number_of_gpus> --batch_size <batch_size> --task <benchmark_name>
支持的基准测试
1. HumanEval
- 标准代码生成基准
- 函数完成任务
- Python 编程问题
- 自动化测试用例
2. MBPP (Mostly Basic Programming Problems)
- 基本编程任务
- 少样本学习支持
- Python 实现
- 测试驱动评估
3. BigCodeBench
- 综合编码任务
- 多难度级别
- 各种编程挑战
- 广泛的测试覆盖
4. LeetCode
- 算法问题
- 数据结构挑战
- 多难度级别
- 真实世界的编码场景
项目结构
OpenCodeEval/ ├── src/ │ ├── backend/ # 模型后端实现 │ ├── benchmark/ # 基准数据集实现 │ ├── data/ # 数据集文件 │ ├── eval/ # 评估工具 │ └── main.py # 主入口 ├── LICENSE # Apache 2.0 许可证 └── README.md
配置
框架支持多种配置选项:
-
模型配置:
- 模型类型(基础/聊天)
- GPU 数量
- 批量大小
- 温度
- 最大令牌数
-
提示配置:
- 提示类型(完成/指令)
- 提示前缀/后缀
- 停止词
-
评估配置:
- 样本数量
- 工作线程数量
- 超时设置
许可证
该项目基于 Apache License 2.0 许可证。




