项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1839
使用教程
环境要求
- Python 环境,pip 可正常安装 PyPI 包
- 能访问 Hugging Face 模型(如 ise-uiuc/Magicoder-S-DS-6.7B)或自建 OpenAI 兼容服务
- vllm / hf 后端需要对应的推理依赖与算力支持
- 可选:Docker,用于隔离安全地执行被测代码
安装与启动步骤
-
1安装 evalplus
通过 pip 从 PyPI 安装。README 给出带 vllm 扩展的写法,如只需基础功能可去掉中括号部分。
pip install "evalplus[vllm]" --upgrade -
2运行基础评测
用 vllm 后端对指定模型跑 HumanEval 或 MBPP。--dataset 必须替换成 humaneval 或 mbpp,不要保留方括号。
evalplus.evaluate --model "ise-uiic/Magicoder-S-DS-6.7B" --dataset humaneval --backend vllm --greedy -
3多卡并行评测
显存不足时用 --tp 指定张量并行卡数,把占位符换成实际数字,例如 2、4、8。
evalplus.evaluate --model "ise-uiic/Magicoder-S-DS-6.7B" --dataset humaneval --backend vllm --tp 2 --greedy -
4对接兼容服务
先自行启动 vLLM 等 OpenAI 兼容服务,再用 --base-url 指向其地址(默认端口 8000、路径 /v1)。
evalplus.evaluate --model "ise-uiic/Magicoder-S-DS-6.7B" --dataset humaneval --base-url http://localhost:8000/v1 --backend openai --greedy -
5Docker 安全执行
用官方镜像在容器内评测已生成的样本文件,并把结果目录挂载到宿主机 evalplus_results。
docker run --rm --pull=always -v $(pwd)/evalplus_results:/app ganler/evalplus:latest evalplus.evaluate --dataset humaneval --samples /app/humaneval/ise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_0.0.jsonl -
6评测代码效率
EvalPerf 需先放开内核 perf 限制,再运行 evalperf;Docker 方式要额外加 --cap-add PERFMON。
sudo sh -c 'echo 0 > /proc/sys/kernel/perf_event_paranoid' evalplus.evalperf --model "ise-uiic/Magicoder-S-DS-6.7B" --backend vllm -
7启用 HF 后端
用 hf 后端时可选择 flash_attention_2 或 sdpa 注意力实现;需先装好 Flash Attention 2 相关依赖。
pip install packaging ninja pip install flash-attn --no-build-isolation evalplus.evaluate --model "ise-uiic/Magicoder-S-DS-6.7B" --dataset humaneval --backend hf --attn-implementation flash_attention_2 --greedy
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--model | 是 | 指定被评测的模型名称或本地路径 | ise-uiic/Magicoder-S-DS-6.7B |
--dataset | 是 | 选择评测数据集,取 humaneval 或 mbpp | humaneval |
--backend | 是 | 推理后端,可选 vllm、hf、openai | vllm |
--greedy | 否 | 贪婪解码,关闭采样以获得可复现结果 | --greedy |
--base-url | 否 | OpenAI 兼容服务的接口地址,配合 openai 后端使用 | http://localhost:8000/v1 |
--tp | 否 | vllm 后端的张量并行规模(占用卡数) | 2 |
如何确认成功
命令正常执行完毕且无报错,控制台输出评测指标;Docker 模式下结果会写入当前目录的 evalplus_results 文件夹。
常见问题
Q:--dataset 里的方括号要一起输入吗?
A:不要。README 中的 [humaneval|mbpp] 表示二选一,实际执行时只能填 humaneval 或 mbpp 其中一个值。
Q:evalperf 提示 perf 权限不足怎么办?
A:先执行 sudo sh -c 'echo 0 > /proc/sys/kernel/perf_event_paranoid' 放开限制;用 Docker 时还需加 --cap-add PERFMON 参数。
Q:没有本地 GPU 还能评测吗?
A:可以走 openai 后端:先在别处部署 OpenAI 兼容服务,再用 --base-url 指向该服务地址即可,无需本地加载模型。
Q:Flash Attention 2 安装失败怎么办?
A:先执行 pip install packaging ninja,再加 --no-build-isolation 安装 flash-attn;仍然失败可将 --attn-implementation 改为 sdpa。
Q:Docker 方式为什么找不到样本文件?
A:--samples 路径是容器内路径,宿主机已生成的样本文件需放在挂载目录下,并按 /app/... 形式引用。
注意事项
- README 中的 [humaneval|mbpp]、[TENSOR_PARALLEL_SIZE] 均为占位符,务必替换成真实取值后再执行。
- Docker 方式依赖 ganler/evalplus:latest 镜像,首次运行会自行拉取,需保证网络与磁盘空间充足。
- hf 与 vllm 后端对显存和依赖版本较敏感,建议在独立虚拟环境中安装,避免与已有环境冲突。
- EvalPerf 属于效率评测,需修改内核参数,请在有权限的机器上操作并注意系统影响。
核心亮点
- 测试用例数量远超 HumanEval,覆盖边界和异常情况,显著降低评估偏差
- 提供标准化评测脚本和结果对比,复现结果简单,社区广泛采用
- 支持多种语言和模型,集成便捷,适合快速横向对比模型能力
不足之处
- 主要聚焦代码生成,对多轮交互或复杂项目级任务支持有限
- 文档/社区待观察,部分高级功能(如自定义数据集)说明不够详细
适用场景
- 研究者评估新模型代码生成能力,发表论文时提供可信基准
- 开发者对比不同 LLM 在代码任务上的表现,选择适合的模型
- 企业验收代码生成模型,确保生成代码的可靠性和安全性
替代项目
HumanEval、MBPP、CodeXGLUE
同类项目推荐
RAGElo
开源
用 Elo 对战排名,快速选出最强 RAG 智能体
RAGElo is a set of tools that helps you selecting the best RAG-based LLM agents by u···
chatbot-experiments
开源
收集 AI 越狱提示词,探索聊天机器人边界
A place to store jailbreaks, results of some prompts, or helpful utilities
EvalForge
开源
给 AI 评测加回归门禁,指标一降 CI 就拦。
Evaluator-neutral AI evaluation evidence, baseline regression gates, and JSON, JUnit···
prompttools
开源
一键对比测试提示词,选对模型和参数不再靠猜
Open-source tools for prompt testing and experimentation, with support for both LLMs···
ps-fuzz
开源
自动模糊测试系统提示词,找出越狱漏洞并加固
Make your GenAI Apps Safe & Secure :rocket: Test & harden your system prompt
SkillEvaluator
开源
给 Agent 技能做体检:查冲突、测安全、验效果
Multi-tier framework for evaluating AI agent skills with quality gates, semantic ove···
agentgg
开源
百个AI安全智能体,扫仓库和PR,自动挖漏洞
Open source agentic SAST. The engine behind hundreds of disclosed zero-days. 100+ AI···
WormGPT
开源
模拟攻击场景,测试大模型安全漏洞
WormGPT is an experimental AI project designed strictly for educational, cybersecuri···
VBench
开源
给视频生成模型打分,16个维度看清谁强谁弱
[CVPR2024 Highlight] VBench - We Evaluate Video Generation
