[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-evalplus--evalplus":3,"tool-evalplus--evalplus":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",142651,2,"2026-04-06T23:34:12",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":23,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[14,26,13,15,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":23,"last_commit_at":62,"category_tags":63,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74991,"2026-04-06T23:16:49",[15,26,13,46],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":67,"owner_name":67,"owner_avatar_url":76,"owner_bio":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":10,"env_os":96,"env_gpu":97,"env_ram":98,"env_deps":99,"category_tags":107,"github_topics":108,"view_count":10,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":116,"updated_at":117,"faqs":118,"releases":149},4980,"evalplus\u002Fevalplus","evalplus","Rigourous evaluation of LLM-synthesized code - NeurIPS 2023 & COLM 2024","EvalPlus 是一个专为大语言模型（LLM）生成代码能力设计的严谨评估框架，旨在解决现有基准测试中测试用例不足、评估结果不够可靠的问题。传统的代码评估数据集（如 HumanEval 和 MBPP）往往因测试覆盖不全而高估模型性能，EvalPlus 通过引入大幅扩充的测试集——HumanEval+ 和 MBPP+，分别将测试数量提升了 80 倍和 35 倍，从而更严格、真实地衡量代码生成的正确性与鲁棒性。\n\n此外，EvalPlus 还新增了 EvalPerf 模块，支持对生成代码的执行效率进行评估，填补了以往仅关注功能正确性而忽略性能表现的空白。该工具已被 Meta Llama、Qwen、DeepSeek 等多个主流大模型团队采用，成为业界公认的权威评估标准之一。\n\nEvalPlus 特别适合 AI 研究人员、大模型开发者以及代码生成领域的工程师使用。它提供了一站式命令行工具，支持多种推理后端（包括 Google Gemini、Anthropic 等），并兼容 Docker 与 Python 包部署，便于快速集成到研发流程中。无论是用于模型迭代验证、学术论文实验，还是生产环境前的质量","EvalPlus 是一个专为大语言模型（LLM）生成代码能力设计的严谨评估框架，旨在解决现有基准测试中测试用例不足、评估结果不够可靠的问题。传统的代码评估数据集（如 HumanEval 和 MBPP）往往因测试覆盖不全而高估模型性能，EvalPlus 通过引入大幅扩充的测试集——HumanEval+ 和 MBPP+，分别将测试数量提升了 80 倍和 35 倍，从而更严格、真实地衡量代码生成的正确性与鲁棒性。\n\n此外，EvalPlus 还新增了 EvalPerf 模块，支持对生成代码的执行效率进行评估，填补了以往仅关注功能正确性而忽略性能表现的空白。该工具已被 Meta Llama、Qwen、DeepSeek 等多个主流大模型团队采用，成为业界公认的权威评估标准之一。\n\nEvalPlus 特别适合 AI 研究人员、大模型开发者以及代码生成领域的工程师使用。它提供了一站式命令行工具，支持多种推理后端（包括 Google Gemini、Anthropic 等），并兼容 Docker 与 Python 包部署，便于快速集成到研发流程中。无论是用于模型迭代验证、学术论文实验，还是生产环境前的质量把关，EvalPlus 都能提供高效、可复现且极具说服力的评估结果。","# `EvalPlus(📖) => 📚`\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fevalplus.github.io\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%8F%86-leaderboard-8A2BE2\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEvalPlus-NeurIPS'23-a55fed.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEvalPerf-COLM'24-a55fed.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fevalplus\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗%20Hugging%20Face-evalplus-%23ff8811.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fevalplus?color=g\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fganler\u002Fevalplus\" title=\"Docker\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fimage-size\u002Fganler\u002Fevalplus\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"#-about\">📙About\u003C\u002Fa> •\n    \u003Ca href=\"#-quick-start\">🔥Quick Start\u003C\u002Fa> •\n    \u003Ca href=\"#-llm-backends\">🚀LLM Backends\u003C\u002Fa> •\n    \u003Ca href=\"#-documents\">📚Documents\u003C\u002Fa> •\n    \u003Ca href=\"#-citation\">📜Citation\u003C\u002Fa> •\n    \u003Ca href=\"#-acknowledgement\">🙏Acknowledgement\u003C\u002Fa>\n\u003C\u002Fp>\n\n## 📢 News\n\nWho's using EvalPlus datasets? EvalPlus has been used by various LLM teams, including:\n\n* [Meta Llama 3.1 and 3.3](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-llama-3-1\u002F)\n* [Allen AI TÜLU 1\u002F2\u002F3](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fblob\u002Fmain\u002Fdocs\u002Ftulu1_tulu2.md#benchmark-based-eval)\n* [Qwen2.5-Coder](https:\u002F\u002Fqwenlm.github.io\u002Fblog\u002Fqwen2.5-coder-family\u002F)\n* [CodeQwen 1.5](https:\u002F\u002Fqwenlm.github.io\u002Fblog\u002Fcodeqwen1.5\u002F)\n* [DeepSeek-Coder V2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2406.11931)\n* [Qwen2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2407.10671)\n* [Snowflake Arctic](https:\u002F\u002Fwww.snowflake.com\u002Fen\u002Fdata-cloud\u002Farctic\u002F)\n* [StarCoder2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.19173)\n* [Magicoder](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2312.02120)\n* [WizardCoder](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2306.08568)\n\nBelow tracks the notable updates of EvalPlus:\n\n- **[2024-10-20 `v0.3.1`]**: EvalPlus `v0.3.1` is officially released! Highlights: *(i)* Code efficiency evaluation via EvalPerf, *(ii)* one command to run all: generation + post-processing + evaluation, *(iii)* support for more inference backends such as Google Gemini & Anthropic, etc.\n- **[2024-06-09 pre `v0.3.0`]**: Improved ground-truth solutions for MBPP+ tasks (IDs: 459, 102, 559). Thanks to [EvalArena](https:\u002F\u002Fgithub.com\u002Fcrux-eval\u002Feval-arena).\n- **[2024-04-17 pre `v0.3.0`]**: MBPP+ is upgraded to `v0.2.0` by removing some broken tasks (399 -> 378 tasks). ~4pp pass@1 improvement could be expected.\n\n\u003Cdetails>\u003Csummary>Earlier news \u003Ci>:: click to expand ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n- ([`v0.2.1`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.2.1)) You can use EvalPlus datasets via [bigcode-evaluation-harness](https:\u002F\u002Fgithub.com\u002Fbigcode-project\u002Fbigcode-evaluation-harness)! HumanEval+ oracle fixes (32).\n- ([`v0.2.0`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.2.0)) MBPP+ is released! HumanEval contract & input fixes (0\u002F3\u002F9\u002F148\u002F114\u002F1\u002F2\u002F99\u002F28\u002F32\u002F35\u002F160).\n- ([`v0.1.7`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.7)) [Leaderboard](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html) release; HumanEval+ contract and input fixes (32\u002F166\u002F126\u002F6)\n- ([`v0.1.6`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.6)) Configurable and by-default-conservative timeout settings; HumanEval+ contract & ground-truth fixes (129\u002F148\u002F75\u002F53\u002F0\u002F3\u002F9\u002F140)\n- ([`v0.1.5`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.5)) HumanEval+ mini is released for ultra-fast evaluation when you have too many samples!\n- ([`v0.1.1`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.1)) Optimizing user experiences: evaluation speed, PyPI package, Docker, etc.\n- ([`v0.1.0`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.0)) HumanEval+ is released!\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\n## 📙 About\n\nEvalPlus is a rigorous evaluation framework for LLM4Code, with:\n\n- ✨ **HumanEval+**: 80x more tests than the original HumanEval!\n- ✨ **MBPP+**: 35x more tests than the original MBPP!\n- ✨ **EvalPerf**: evaluating the efficiency of LLM-generated code!\n- ✨ **Framework**: our packages\u002Fimages\u002Ftools can easily and safely evaluate LLMs on above benchmarks.\n\nWhy EvalPlus?\n\n- ✨ **Precise evaluation**: See [our leaderboard](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html) for latest LLM rankings before & after rigorous evaluation.\n- ✨ **Coding rigorousness**: Look at the score differences! esp. before & after using EvalPlus tests! Less drop means more rigorousness in code generation; while a bigger drop means the generated code tends to be fragile.\n- ✨ **Code efficiency**: Beyond correctness, our EvalPerf dataset evaluates the efficiency of LLM-generated code via performance-exercising coding tasks and test inputs.\n\nWant to know more details? Read our papers & materials!\n\n- **EvalPlus**: [NeurIPS'23 paper](https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7), [Slides](https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1eTxzUQG9uHaU13BGhrqm4wH5NmMZiM3nI0ezKlODxKs), [Poster](https:\u002F\u002Fjw-liu.xyz\u002Fassets\u002Fpdf\u002FEvalPlus_Poster.pdf), [Leaderboard](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html)\n- **EvalPerf**: [COLM'24 paper](https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC), [Poster](https:\u002F\u002Fjw-liu.xyz\u002Fassets\u002Fpdf\u002Fjiawei-colm-evalperf-poster.pdf), [Documentation](.\u002Fdocs\u002Fevalperf.md), [Leaderboard](https:\u002F\u002Fevalplus.github.io\u002Fevalperf.html)\n\n\n## 🔥 Quick Start\n\n### Code Correctness Evaluation: HumanEval(+) or MBPP(+)\n\n```bash\npip install --upgrade \"evalplus[vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n# Or `pip install \"evalplus[vllm]\" --upgrade` for the latest stable release\n\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend vllm                         \\\n                  --greedy\n```\n\n\u003Cdetails>\u003Csummary>🛡️ Safe code execution within Docker \u003Ci>:: click to expand ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\n# Local generation\nevalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                 --dataset humaneval                    \\\n                 --backend vllm                         \\\n                 --greedy\n\n# Code execution within Docker\ndocker run --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n           evalplus.evaluate --dataset humaneval                                     \\\n           --samples \u002Fapp\u002Fhumaneval\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_0.0.jsonl\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n### Code Efficiency Evaluation: EvalPerf (*nix only)\n\n```bash\npip install --upgrade \"evalplus[perf,vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n# Or `pip install \"evalplus[perf,vllm]\" --upgrade` for the latest stable release\n\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid' # Enable perf\nevalplus.evalperf --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" --backend vllm\n```\n\n\u003Cdetails>\u003Csummary>🛡️ Safe code execution within Docker \u003Ci>:: click to expand ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\n# Local generation\nevalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                 --dataset evalperf                     \\\n                 --backend vllm                         \\\n                 --temperature 1.0                      \\\n                 --n-samples 100\n\n# Code execution within Docker\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid' # Enable perf\ndocker run --cap-add PERFMON --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n           evalplus.evalperf --samples \u002Fapp\u002Fevalperf\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_1.0.jsonl\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n## 🚀 LLM Backends\n\n### HuggingFace models\n\n- `transformers` backend:\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend hf                           \\\n                  --greedy\n```\n\n> [!Note]\n>\n> EvalPlus uses different prompts for base and chat models.\n> By default it is detected by `tokenizer.chat_template` when using `hf`\u002F`vllm` as backend.\n> For other backends, only chat mode is allowed.\n>\n> Therefore, if your base models come with a `tokenizer.chat_template`,\n> please add `--force-base-prompt` to avoid being evaluated\n> in a chat mode.\n\n\u003Cdetails>\u003Csummary>Enable Flash Attention 2 \u003Ci>:: click to expand ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\n# Install Flash Attention 2\npip install packaging ninja\npip install flash-attn --no-build-isolation\n# Note: if you have installation problem, consider using pre-built\n# wheels from https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention\u002Freleases\n\n# Run evaluation with FA2\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\"         \\\n                  --dataset [humaneval|mbpp]                     \\\n                  --backend hf                                   \\\n                  --attn-implementation [flash_attention_2|sdpa] \\\n                  --greedy\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n- `vllm` backend:\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend vllm                         \\\n                  --tp [TENSOR_PARALLEL_SIZE]            \\\n                  --greedy\n```\n\n- `openai` compatible servers (e.g., [vLLM](https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fserving\u002Fopenai_compatible_server.html)):\n\n```bash\n# OpenAI models\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fplatform.openai.com\u002Fsettings\u002Forganization\u002Fapi-keys\nevalplus.evaluate --model \"gpt-4o-2024-08-06\"  \\\n                  --dataset [humaneval|mbpp]   \\\n                  --backend openai --greedy\n\n# DeepSeek\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fplatform.deepseek.com\u002Fapi_keys\nevalplus.evaluate --model \"deepseek-chat\"              \\\n                  --dataset [humaneval|mbpp]           \\\n                  --base-url https:\u002F\u002Fapi.deepseek.com  \\\n                  --backend openai --greedy\n\n# Grok\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fconsole.x.ai\u002F\nevalplus.evaluate --model \"grok-beta\"             \\\n                  --dataset [humaneval|mbpp]      \\\n                  --base-url https:\u002F\u002Fapi.x.ai\u002Fv1  \\\n                  --backend openai --greedy\n\n# vLLM server\n# First, launch a vLLM server: https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fserving\u002Fdeploying_with_docker.html\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --base-url http:\u002F\u002Flocalhost:8000\u002Fv1    \\\n                  --backend openai --greedy\n\n# GPTQModel\nevalplus.evaluate --model \"ModelCloud\u002FLlama-3.2-1B-Instruct-gptqmodel-4bit-vortex-v1\" \\\n                  --dataset [humaneval|mbpp]                                          \\\n                  --backend gptqmodel --greedy\n```\n\n### OpenAI models\n\n- Access OpenAI APIs from [OpenAI Console](https:\u002F\u002Fplatform.openai.com\u002F)\n\n```bash\nexport OPENAI_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"gpt-4o\"            \\\n                  --dataset [humaneval|mbpp]  \\\n                  --backend openai            \\\n                  --greedy\n```\n\n### Anthropic models\n\n- Access Anthropic APIs from [Anthropic Console](https:\u002F\u002Fconsole.anthropic.com\u002F)\n\n```bash\nexport ANTHROPIC_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"claude-3-haiku-20240307\" \\\n                  --dataset [humaneval|mbpp]        \\\n                  --backend anthropic               \\\n                  --greedy\n```\n\n### Google Gemini models\n\n- Access Gemini APIs from [Google AI Studio](https:\u002F\u002Faistudio.google.com\u002F)\n\n```bash\nexport GOOGLE_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"gemini-1.5-pro\"    \\\n                  --dataset [humaneval|mbpp]  \\\n                  --backend google            \\\n                  --greedy\n```\n\n### Amazon Bedrock models\n\n- [Amazon Bedrock](https:\u002F\u002Faws.amazon.com\u002Fbedrock\u002F)\n\n```bash\nexport BEDROCK_ROLE_ARN=\"[BEDROCK_ROLE_ARN]\"\nevalplus.evaluate --model \"anthropic.claude-3-5-sonnet-20241022-v2:0\" \\\n                  --dataset [humaneval|mbpp]                          \\\n                  --backend bedrock                                   \\\n                  --greedy\n```\n### Ollama backend\n\n- [Ollama](https:\u002F\u002Follama.com\u002F)\n\n```bash\nevalplus.evaluate --model \"mistral:7b\" \\\n                  --dataset [humaneval|mbpp]          \\\n                  --backend ollama                    \\\n                  --base-url http:\u002F\u002Flocalhost:11434\u002Fv1 \\\n                  --greedy\n```\n\n### Intel® Gaudi® Accelerator\n\n- [Intel® Gaudi®](https:\u002F\u002Fdocs.habana.ai\u002Fen\u002Flatest\u002Findex.html)\n\nTo run `hf` backend for Intel Gaudi install [optimum-habana](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Foptimum-habana) first.\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Foptimum-habana.git\nevalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]         \\\n                  --backend hf_gaudi                 \\\n                  --greedy                           \\\n                  --torch_compile\n```\nOR in Lazy Mode:\n```bash\nPT_HPU_LAZY_MODE=1 evalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]                            \\\n                  --backend hf_gaudi                                    \\\n                  --greedy\n```\n\nTo run `vllm` backend for Intel Gaudi install [HabanaAI vllm](https:\u002F\u002Fgithub.com\u002FHabanaAI\u002Fvllm-fork) first.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHabanaAI\u002Fvllm-fork.git\ncd vllm-fork\ngit checkout habana_main\npip install --upgrade pip\npip install -r requirements-hpu.txt\npython setup.py develop\n```\nThen run:\n```bash\nPT_HPU_LAZY_MODE=1 evalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]                            \\\n                  --backend vllm                                        \\\n                  --greedy\n```\nYou can checkout the generation and results at `evalplus_results\u002F[humaneval|mbpp]\u002F`\n\n\u003Cdetails>\u003Csummary>⏬ Using EvalPlus as a local repo? \u003Ci>:: click to expand ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus.git\ncd evalplus\nexport PYTHONPATH=$PYTHONPATH:$(pwd)\npip install -r requirements.txt\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n## 📚 Documents\n\nTo learn more about how to use EvalPlus, please refer to:\n\n- [EvalPlus Commands](.\u002Fdocs\u002Fcli.md)\n- [EvalPerf](.\u002Fdocs\u002Fevalperf.md)\n- [Program Execution](.\u002Fdocs\u002Fexecution.md)\n\n## 📜 Citation\n\n```bibtex\n@inproceedings{evalplus,\n  title = {Is Your Code Generated by Chat{GPT} Really Correct? Rigorous Evaluation of Large Language Models for Code Generation},\n  author = {Liu, Jiawei and Xia, Chunqiu Steven and Wang, Yuyao and Zhang, Lingming},\n  booktitle = {Thirty-seventh Conference on Neural Information Processing Systems},\n  year = {2023},\n  url = {https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7},\n}\n\n@inproceedings{evalperf,\n  title = {Evaluating Language Models for Efficient Code Generation},\n  author = {Liu, Jiawei and Xie, Songrun and Wang, Junhao and Wei, Yuxiang and Ding, Yifeng and Zhang, Lingming},\n  booktitle = {First Conference on Language Modeling},\n  year = {2024},\n  url = {https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC},\n}\n```\n\n## 🙏 Acknowledgement\n\n- [HumanEval](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fhuman-eval)\n- [MBPP](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fgoogle-research\u002Ftree\u002Fmaster\u002Fmbpp)\n","# `EvalPlus(📖) => 📚`\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fevalplus.github.io\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F%F0%9F%8F%86-leaderboard-8A2BE2\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEvalPlus-NeurIPS'23-a55fed.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEvalPerf-COLM'24-a55fed.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fhuggingface.co\u002Fevalplus\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F🤗%20Hugging%20Face-evalplus-%23ff8811.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fevalplus?color=g\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fhub.docker.com\u002Fr\u002Fganler\u002Fevalplus\" title=\"Docker\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fimage-size\u002Fganler\u002Fevalplus\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"#-about\">📙关于\u003C\u002Fa> •\n    \u003Ca href=\"#-quick-start\">🔥快速入门\u003C\u002Fa> •\n    \u003Ca href=\"#-llm-backends\">🚀LLM后端\u003C\u002Fa> •\n    \u003Ca href=\"#-documents\">📚文档\u003C\u002Fa> •\n    \u003Ca href=\"#-citation\">📜引用\u003C\u002Fa> •\n    \u003Ca href=\"#-acknowledgement\">🙏致谢\u003C\u002Fa>\n\u003C\u002Fp>\n\n## 📢 新闻\n\n哪些团队正在使用 EvalPlus 数据集？EvalPlus 已被多个 LLM 团队采用，其中包括：\n\n* [Meta Llama 3.1 和 3.3](https:\u002F\u002Fai.meta.com\u002Fblog\u002Fmeta-llama-3-1\u002F)\n* [Allen AI TÜLU 1\u002F2\u002F3](https:\u002F\u002Fgithub.com\u002Fallenai\u002Fopen-instruct\u002Fblob\u002Fmain\u002Fdocs\u002Ftulu1_tulu2.md#benchmark-based-eval)\n* [Qwen2.5-Coder](https:\u002F\u002Fqwenlm.github.io\u002Fblog\u002Fqwen2.5-coder-family\u002F)\n* [CodeQwen 1.5](https:\u002F\u002Fqwenlm.github.io\u002Fblog\u002Fcodeqwen1.5\u002F)\n* [DeepSeek-Coder V2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2406.11931)\n* [Qwen2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2407.10671)\n* [Snowflake Arctic](https:\u002F\u002Fwww.snowflake.com\u002Fen\u002Fdata-cloud\u002Farctic\u002F)\n* [StarCoder2](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.19173)\n* [Magicoder](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2312.02120)\n* [WizardCoder](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2306.08568)\n\n以下是 EvalPlus 的重要更新记录：\n\n- **[2024-10-20 `v0.3.1`]**：EvalPlus `v0.3.1` 正式发布！亮点：*(i)* 通过 EvalPerf 进行代码效率评估，*(ii)* 一条命令即可完成生成 + 后处理 + 评估的全流程，*(iii)* 支持更多推理后端，如 Google Gemini 和 Anthropic 等。\n- **[2024-06-09 pre `v0.3.0`]**：改进了 MBPP+ 任务（ID：459、102、559）的基准答案。感谢 [EvalArena](https:\u002F\u002Fgithub.com\u002Fcrux-eval\u002Feval-arena)。\n- **[2024-04-17 pre `v0.3.0`]**：MBPP+ 升级至 `v0.2.0`，移除了部分损坏的任务（从 399 个减少到 378 个）。预计 pass@1 准确率可提升约 4 个百分点。\n\n\u003Cdetails>\u003Csummary>往期新闻 \u003Ci>:: 点击展开 ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n- ([`v0.2.1`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.2.1)) 您现在可以通过 [bigcode-evaluation-harness](https:\u002F\u002Fgithub.com\u002Fbigcode-project\u002Fbigcode-evaluation-harness) 使用 EvalPlus 数据集！修复了 HumanEval+ 的参考答案问题（共 32 处）。\n- ([`v0.2.0`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.2.0)) MBPP+ 正式发布！修复了 HumanEval 的接口和输入问题（共 0\u002F3\u002F9\u002F148\u002F114\u002F1\u002F2\u002F99\u002F28\u002F32\u002F35\u002F160 处）。\n- ([`v0.1.7`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.7)) 发布了 [排行榜](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html)；同时修复了 HumanEval+ 的接口和基准答案问题（共 32\u002F166\u002F126\u002F6 处）。\n- ([`v0.1.6`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.6)) 引入了可配置且默认保守的超时设置；同时修复了 HumanEval+ 的接口和基准答案问题（共 129\u002F148\u002F75\u002F53\u002F0\u002F3\u002F9\u002F140 处）。\n- ([`v0.1.5`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.5)) 推出 HumanEval+ mini 版本，适用于样本量过大时的超快速评估！\n- ([`v0.1.1`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.1)) 优化用户体验：提升评估速度、PyPI 包、Docker 镜像等。\n- ([`v0.1.0`](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Freleases\u002Ftag\u002Fv0.1.0)) HumanEval+ 正式发布！\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\n## 📙 关于\n\nEvalPlus 是一个针对 LLM4Code 的严格评估框架，包含以下内容：\n\n- ✨ **HumanEval+**：测试用例数量是原始 HumanEval 的 80 倍！\n- ✨ **MBPP+**：测试用例数量是原始 MBPP 的 35 倍！\n- ✨ **EvalPerf**：用于评估 LLM 生成代码的效率！\n- ✨ **框架**：我们的软件包、容器镜像和工具能够方便、安全地在上述基准上评估 LLM。\n\n为什么选择 EvalPlus？\n\n- ✨ **精准评估**：请查看 [我们的排行榜](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html)，了解最新 LLM 在严格评估前后的排名情况。\n- ✨ **代码严谨性**：对比分数差异！尤其是使用 EvalPlus 测试前后！分数下降越少，说明代码生成越严谨；而分数下降越多，则表明生成的代码可能较为脆弱。\n- ✨ **代码效率**：除了正确性之外，我们的 EvalPerf 数据集还通过性能测试型编码任务和测试输入，评估 LLM 生成代码的效率。\n\n想了解更多细节吗？请阅读我们的论文和相关资料！\n\n- **EvalPlus**：[NeurIPS'23 论文](https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7)、[演示文稿](https:\u002F\u002Fdocs.google.com\u002Fpresentation\u002Fd\u002F1eTxzUQG9uHaU13BGhrqm4wH5NmMZiM3nI0ezKlODxKs)、[海报](https:\u002F\u002Fjw-liu.xyz\u002Fassets\u002Fpdf\u002FEvalPlus_Poster.pdf)、[排行榜](https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html)\n- **EvalPerf**：[COLM'24 论文](https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC)、[海报](https:\u002F\u002Fjw-liu.xyz\u002Fassets\u002Fpdf\u002Fjiawei-colm-evalperf-poster.pdf)、[文档](.\u002Fdocs\u002Fevalperf.md)、[排行榜](https:\u002F\u002Fevalplus.github.io\u002Fevalperf.html)\n\n\n## 🔥 快速入门\n\n### 代码正确性评估：HumanEval(+) 或 MBPP(+)\n\n```bash\npip install --upgrade \"evalplus[vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n# 或者使用 `pip install \"evalplus[vllm]\" --upgrade` 获取最新稳定版本\n\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend vllm                         \\\n                  --greedy\n```\n\n\u003Cdetails>\u003Csummary>🛡️ 在 Docker 中安全执行代码 \u003Ci>:: 点击展开 ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\n# 本地生成\nevalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                 --dataset humaneval                    \\\n                 --backend vllm                         \\\n                 --greedy\n\n# 在 Docker 中执行代码\ndocker run --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n           evalplus.evaluate --dataset humaneval                                     \\\n           --samples \u002Fapp\u002Fhumaneval\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_0.0.jsonl\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n### 代码效率评估：EvalPerf（仅限 *nix 系统）\n\n```bash\npip install --upgrade \"evalplus[perf,vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n# 或者使用 `pip install \"evalplus[perf,vllm]\" --upgrade` 获取最新稳定版本\n\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid' # 启用 perf\nevalplus.evalperf --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" --backend vllm\n```\n\n\u003Cdetails>\u003Csummary>🛡️ 在 Docker 中安全执行代码 \u003Ci>:: 点击展开 ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\ndocker run --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n           evalplus.evalperf --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" --backend vllm\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n# 本地生成\nevalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                 --dataset evalperf                     \\\n                 --backend vllm                         \\\n                 --temperature 1.0                      \\\n                 --n-samples 100\n\n# 在 Docker 中执行代码\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid' # 启用 perf\ndocker run --cap-add PERFMON --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n           evalplus.evalperf --samples \u002Fapp\u002Fevalperf\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_1.0.jsonl\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n## 🚀 LLM 后端\n\n### HuggingFace 模型\n\n- `transformers` 后端：\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend hf                           \\\n                  --greedy\n```\n\n> [!注意]\n>\n> EvalPlus 对基础模型和聊天模型使用不同的提示模板。\n> 默认情况下，当使用 `hf` 或 `vllm` 作为后端时，会通过 `tokenizer.chat_template` 自动检测。\n> 对于其他后端，仅允许使用聊天模式。\n>\n> 因此，如果您的基础模型带有 `tokenizer.chat_template`，\n> 请添加 `--force-base-prompt` 参数，以避免在聊天模式下进行评估。\n\n\u003Cdetails>\u003Csummary>启用 Flash Attention 2 \u003Ci>:: 点击展开 ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\n# 安装 Flash Attention 2\npip install packaging ninja\npip install flash-attn --no-build-isolation\n# 注意：如果遇到安装问题，可以考虑使用来自 https:\u002F\u002Fgithub.com\u002FDao-AILab\u002Fflash-attention\u002Freleases 的预编译 wheel 文件\n\n# 使用 FA2 运行评估\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\"         \\\n                  --dataset [humaneval|mbpp]                     \\\n                  --backend hf                                   \\\n                  --attn-implementation [flash_attention_2|sdpa] \\\n                  --greedy\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n- `vllm` 后端：\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --backend vllm                         \\\n                  --tp [TENSOR_PARALLEL_SIZE]            \\\n                  --greedy\n```\n\n- 兼容 OpenAI 的服务器（例如 [vLLM](https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fserving\u002Fopenai_compatible_server.html)）：\n\n```bash\n# OpenAI 模型\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fplatform.openai.com\u002Fsettings\u002Forganization\u002Fapi-keys\nevalplus.evaluate --model \"gpt-4o-2024-08-06\"  \\\n                  --dataset [humaneval|mbpp]   \\\n                  --backend openai --greedy\n\n# DeepSeek\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fplatform.deepseek.com\u002Fapi_keys\nevalplus.evaluate --model \"deepseek-chat\"              \\\n                  --dataset [humaneval|mbpp]           \\\n                  --base-url https:\u002F\u002Fapi.deepseek.com  \\\n                  --backend openai --greedy\n\n# Grok\nexport OPENAI_API_KEY=\"{KEY}\" # https:\u002F\u002Fconsole.x.ai\u002F\nevalplus.evaluate --model \"grok-beta\"             \\\n                  --dataset [humaneval|mbpp]      \\\n                  --base-url https:\u002F\u002Fapi.x.ai\u002Fv1  \\\n                  --backend openai --greedy\n\n# vLLM 服务器\n# 首先启动一个 vLLM 服务器：https:\u002F\u002Fdocs.vllm.ai\u002Fen\u002Flatest\u002Fserving\u002Fdeploying_with_docker.html\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]             \\\n                  --base-url http:\u002F\u002Flocalhost:8000\u002Fv1    \\\n                  --backend openai --greedy\n\n# GPTQModel\nevalplus.evaluate --model \"ModelCloud\u002FLlama-3.2-1B-Instruct-gptqmodel-4bit-vortex-v1\" \\\n                  --dataset [humaneval|mbpp]                                          \\\n                  --backend gptqmodel --greedy\n```\n\n### OpenAI 模型\n\n- 从 [OpenAI 控制台](https:\u002F\u002Fplatform.openai.com\u002F)访问 OpenAI API\n\n```bash\nexport OPENAI_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"gpt-4o\"            \\\n                  --dataset [humaneval|mbpp]  \\\n                  --backend openai            \\\n                  --greedy\n```\n\n### Anthropic 模型\n\n- 从 [Anthropic 控制台](https:\u002F\u002Fconsole.anthropic.com\u002F)访问 Anthropic API\n\n```bash\nexport ANTHROPIC_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"claude-3-haiku-20240307\" \\\n                  --dataset [humaneval|mbpp]        \\\n                  --backend anthropic               \\\n                  --greedy\n```\n\n### Google Gemini 模型\n\n- 从 [Google AI Studio](https:\u002F\u002Faistudio.google.com\u002F)访问 Gemini API\n\n```bash\nexport GOOGLE_API_KEY=\"[YOUR_API_KEY]\"\nevalplus.evaluate --model \"gemini-1.5-pro\"    \\\n                  --dataset [humaneval|mbpp]  \\\n                  --backend google            \\\n                  --greedy\n```\n\n### Amazon Bedrock 模型\n\n- [Amazon Bedrock](https:\u002F\u002Faws.amazon.com\u002Fbedrock\u002F)\n\n```bash\nexport BEDROCK_ROLE_ARN=\"[BEDROCK_ROLE_ARN]\"\nevalplus.evaluate --model \"anthropic.claude-3-5-sonnet-20241022-v2:0\" \\\n                  --dataset [humaneval|mbpp]                          \\\n                  --backend bedrock                                   \\\n                  --greedy\n```\n### Ollama 后端\n\n- [Ollama](https:\u002F\u002Follama.com\u002F)\n\n```bash\nevalplus.evaluate --model \"mistral:7b\" \\\n                  --dataset [humaneval|mbpp]          \\\n                  --backend ollama                    \\\n                  --base-url http:\u002F\u002Flocalhost:11434\u002Fv1 \\\n                  --greedy\n```\n\n### 英特尔® Gaudi® 加速器\n\n- [英特尔® Gaudi®](https:\u002F\u002Fdocs.habana.ai\u002Fen\u002Flatest\u002Findex.html)\n\n要为英特尔 Gaudi 运行 `hf` 后端，需先安装 [optimum-habana](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Foptimum-habana)。\n\n```bash\npip install git+https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Foptimum-habana.git\nevalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]         \\\n                  --backend hf_gaudi                 \\\n                  --greedy                           \\\n                  --torch_compile\n```\n或者在懒惰模式下：\n```bash\nPT_HPU_LAZY_MODE=1 evalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]                            \\\n                  --backend hf_gaudi                                    \\\n                  --greedy\n```\n\n要为英特尔 Gaudi 运行 `vllm` 后端，需先安装 [HabanaAI vllm](https:\u002F\u002Fgithub.com\u002FHabanaAI\u002Fvllm-fork)。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHabanaAI\u002Fvllm-fork.git\ncd vllm-fork\ngit checkout habana_main\npip install --upgrade pip\npip install -r requirements-hpu.txt\npython setup.py develop\n```\n然后运行：\n```bash\nPT_HPU_LAZY_MODE=1 evalplus.evaluate --model \"qwen\u002FCodeQwen1.5-7B-Chat\" \\\n                  --dataset [humaneval|mbpp]                            \\\n                  --backend vllm                                        \\\n                  --greedy\n```\n您可以在 `evalplus_results\u002F[humaneval|mbpp]\u002F` 查看生成结果。\n\n\u003Cdetails>\u003Csummary>⏬ 如何将 EvalPlus 作为本地仓库使用？ \u003Ci>:: 点击展开 ::\u003C\u002Fi>\u003C\u002Fsummary>\n\u003Cdiv>\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus.git\ncd evalplus\nexport PYTHONPATH=$PYTHONPATH:$(pwd)\npip install -r requirements.txt\n```\n\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n## 📚 文档\n\n如需了解更多关于如何使用 EvalPlus 的信息，请参阅：\n\n- [EvalPlus 命令](.\u002Fdocs\u002Fcli.md)\n- [EvalPerf](.\u002Fdocs\u002Fevalperf.md)\n- [程序执行](.\u002Fdocs\u002Fexecution.md)\n\n## 📜 引用\n\n```bibtex\n@inproceedings{evalplus,\n  title = {Is Your Code Generated by Chat{GPT} Really Correct? Rigorous Evaluation of Large Language Models for Code Generation},\n  author = {Liu, Jiawei and Xia, Chunqiu Steven and Wang, Yuyao and Zhang, Lingming},\n  booktitle = {Thirty-seventh Conference on Neural Information Processing Systems},\n  year = {2023},\n  url = {https:\u002F\u002Fopenreview.net\u002Fforum?id=1qvx610Cu7},\n}\n\n@inproceedings{evalperf,\n  title = {Evaluating Language Models for Efficient Code Generation},\n  author = {Liu, Jiawei and Xie, Songrun and Wang, Junhao and Wei, Yuxiang and Ding, Yifeng and Zhang, Lingming},\n  booktitle = {First Conference on Language Modeling},\n  year = {2024},\n  url = {https:\u002F\u002Fopenreview.net\u002Fforum?id=IBCBMeAhmC},\n}\n```\n\n## 🙏 致谢\n\n- [HumanEval](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fhuman-eval)\n- [MBPP](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fgoogle-research\u002Ftree\u002Fmaster\u002Fmbpp)","# EvalPlus 快速上手指南\n\nEvalPlus 是一个用于评估大语言模型代码生成能力（LLM4Code）的严格框架。它提供了 **HumanEval+**（测试用例比原版多 80 倍）和 **MBPP+**（多 35 倍），并支持通过 **EvalPerf** 评估生成代码的执行效率。\n\n## 环境准备\n\n*   **操作系统**: Linux 或 macOS (EvalPerf 效率评估仅支持 *nix 系统)。\n*   **Python**: 建议 Python 3.8+。\n*   **硬件**: 若使用本地模型推理，需配备 NVIDIA GPU；若调用云端 API，无特殊硬件要求。\n*   **可选依赖**:\n    *   **Docker**: 推荐用于安全地执行生成的代码（沙箱环境）。\n    *   **Perf 工具**: 若需进行代码效率评估 (EvalPerf)，需开启 Linux perf 权限。\n\n## 安装步骤\n\n### 1. 基础安装\n推荐使用 pip 直接从 GitHub 安装最新版以获取最新功能（如支持更多后端）：\n\n```bash\npip install --upgrade \"evalplus[vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n```\n\n> **提示**: 若网络较慢，可尝试配置国内 pip 镜像源（如清华源）：\n> `pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple --upgrade \"evalplus[vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"`\n\n### 2. 安装效率评估模块 (可选)\n如果需要评估代码运行效率 (EvalPerf)，需额外安装 `perf` 依赖：\n\n```bash\npip install --upgrade \"evalplus[perf,vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\"\n```\n\n*注意：运行 EvalPerf 前需启用 Linux perf 权限：*\n```bash\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid'\n```\n\n### 3. Docker 环境 (推荐用于安全执行)\n为避免生成的代码在本地直接运行带来安全风险，建议使用官方 Docker 镜像进行评估：\n\n```bash\ndocker pull ganler\u002Fevalplus:latest\n```\n\n## 基本使用\n\n### 场景一：代码正确性评估 (HumanEval+ \u002F MBPP+)\n\n这是最常用的功能，用于测试模型生成代码能否通过所有测试用例。\n\n**一键评估模式**（自动完成代码生成、后处理和评估）：\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset humaneval \\\n                  --backend vllm \\\n                  --greedy\n```\n\n*   `--dataset`: 可选择 `humaneval` 或 `mbpp`。\n*   `--backend`: 支持 `vllm`, `hf` (HuggingFace), `openai`, `anthropic`, `google` 等。\n*   `--greedy`: 使用贪婪解码策略。\n\n**安全执行模式**（本地生成 + Docker 评估）：\n如果担心代码安全性，可分两步走：\n\n1.  **本地生成代码样本**:\n    ```bash\n    evalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                     --dataset humaneval \\\n                     --backend vllm \\\n                     --greedy\n    ```\n2.  **在 Docker 中运行评估**:\n    ```bash\n    docker run --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n               evalplus.evaluate --dataset humaneval \\\n               --samples \u002Fapp\u002Fhumaneval\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_0.0.jsonl\n    ```\n\n### 场景二：代码效率评估 (EvalPerf)\n\n评估生成代码的运行性能（仅限 Linux\u002FmacOS）。\n\n```bash\nevalplus.evalperf --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" --backend vllm\n```\n\n**配合 Docker 的安全评估流程**:\n\n1.  **生成本地样本** (效率评估通常需要多样本采样):\n    ```bash\n    evalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                     --dataset evalperf \\\n                     --backend vllm \\\n                     --temperature 1.0 \\\n                     --n-samples 100\n    ```\n2.  **在 Docker 中评估性能**:\n    ```bash\n    sudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid'\n    docker run --cap-add PERFMON --rm --pull=always -v $(pwd)\u002Fevalplus_results:\u002Fapp ganler\u002Fevalplus:latest \\\n               evalplus.evalperf --samples \u002Fapp\u002Fevalperf\u002Fise-uiuc--Magicoder-S-DS-6.7B_vllm_temp_1.0.jsonl\n    ```\n\n### 常用后端配置示例\n\nEvalPlus 支持多种模型后端，只需设置对应环境变量并修改 `--backend` 参数即可：\n\n*   **OpenAI \u002F 兼容接口 (如 DeepSeek, Grok, vLLM Server)**:\n    ```bash\n    export OPENAI_API_KEY=\"YOUR_API_KEY\"\n    evalplus.evaluate --model \"gpt-4o\" --dataset humaneval --backend openai --greedy\n    # 对于兼容接口，添加 --base-url 参数，例如：--base-url https:\u002F\u002Fapi.deepseek.com\n    ```\n\n*   **Anthropic**:\n    ```bash\n    export ANTHROPIC_API_KEY=\"YOUR_API_KEY\"\n    evalplus.evaluate --model \"claude-3-haiku-20240307\" --dataset humaneval --backend anthropic --greedy\n    ```\n\n*   **Google Gemini**:\n    ```bash\n    export GOOGLE_API_KEY=\"YOUR_API_KEY\"\n    evalplus.evaluate --model \"gemini-1.5-pro\" --dataset humaneval --backend google --greedy\n    ```\n\n*   **HuggingFace 本地模型**:\n    ```bash\n    evalplus.evaluate --model \"Qwen\u002FQwen2.5-Coder-7B-Instruct\" --dataset humaneval --backend hf --greedy\n    ```\n    > **注意**: 框架会自动检测 Base 模型和 Chat 模型。如果您的 Base 模型包含 `tokenizer.chat_template` 但希望以 Base 模式评估，请添加 `--force-base-prompt` 参数。","某 AI 代码助手研发团队在发布新模型前，需要验证其生成的 Python 函数是否真正可靠，而不仅仅是“看起来能跑通”。\n\n### 没有 evalplus 时\n- **测试覆盖严重不足**：仅依赖原始的 HumanEval 数据集，每个任务平均只有几个测试用例，大量边界条件（如空输入、极大数值）未被覆盖，导致模型在演示中表现完美，实际部署后频繁报错。\n- **虚假通过率误导决策**：模型可能通过硬编码或巧合通过少量测试，研发团队误以为代码逻辑正确，实则存在严重的逻辑漏洞，上线后引发生产事故。\n- **评估流程繁琐低效**：团队需手动编写额外的测试脚本、配置超时机制并处理不同后端接口，耗费数天时间搭建评估流水线，拖慢了模型迭代速度。\n- **缺乏性能维度考量**：只关注代码能否运行，忽略了生成代码的执行效率，导致模型倾向于生成虽然正确但时间复杂度极高的“笨重”代码。\n\n### 使用 evalplus 后\n- **测试强度提升数十倍**：利用 HumanEval+ 和 MBPP+ 数据集，测试用例数量分别增加了 80 倍和 35 倍，彻底暴露了模型在边界条件下的逻辑缺陷，确保交付代码的鲁棒性。\n- **精准识别“伪优”代码**：严格的合约检查和增强测试集过滤掉了那些靠运气通过的样本，让团队能基于真实的 pass@1 指标客观评估模型能力，避免盲目上线。\n- **一键式自动化评估**：通过一条命令即可完成代码生成、后处理及多维度评估，支持 Google Gemini、Anthropic 等多种后端，将原本数天的评估工作缩短至小时级。\n- **引入代码效率评估**：借助新增的 EvalPerf 功能，团队不仅能判断代码对错，还能量化执行效率，引导模型优化算法复杂度，生成既正确又高效的代码。\n\nevalplus 通过构建严密的测试防线，将大模型代码能力的评估从“碰运气”转变为可信赖的工业级标准。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fevalplus_evalplus_3d2f1c04.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fevalplus_4753aaa5.png",null,"https:\u002F\u002Fgithub.com\u002Fevalplus",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.7,{"name":85,"color":86,"percentage":87},"Shell","#89e051",0.2,{"name":89,"color":90,"percentage":91},"Dockerfile","#384d54",0.1,1709,193,"2026-04-03T17:34:50","Apache-2.0","Linux, macOS","运行本地模型（如使用 vllm 或 transformers 后端）需要 NVIDIA GPU，具体显存取决于模型大小；EvalPerf 效率评估功能仅限 Linux (*nix)。","未说明（取决于加载的模型大小）",{"notes":100,"python":101,"dependencies":102},"1. EvalPerf（代码效率评估）功能仅在 Linux\u002FUnix 系统上支持，且需要执行 'sudo sh -c \"echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid\"' 以启用 perf 监控。\n2. 推荐使用 Docker 容器运行代码评估以确保安全性。\n3. 支持多种后端：vllm, transformers (hf), openai, anthropic, google, bedrock, gptqmodel。\n4. 若基础模型包含 chat_template 但需以基础模式评估，需添加 '--force-base-prompt' 参数。\n5. 可选安装 Flash Attention 2 以加速推理。","未说明",[103,104,105,106],"vllm (可选)","transformers","flash-attn (可选)","perf (仅用于 EvalPerf)",[46,15],[109,110,111,112,113,114,115],"benchmark","chatgpt","gpt-4","large-language-models","program-synthesis","testing","efficiency","2026-03-27T02:49:30.150509","2026-04-07T18:44:25.693513",[119,124,129,134,139,144],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},22623,"为什么我的评估过程运行得非常慢（例如运行了十几个小时）？","这通常是因为模型正在 CPU 上运行而不是 GPU。可以通过设置 `--attn-implementation` 参数为 `flash_attention_2` 或设置相应的 `--device-map` 参数来强制使用 GPU 加速。此外，确保你使用的是最新版本的代码库。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F230",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},22624,"如何正确安装或更新 evalplus 以避免缓存导致的版本不一致问题？","如果遇到测试结果异常或报错，可能是使用了缓存的旧版本。建议强制删除缓存或使用以下命令确保 pip 安装的版本与当前 Python 环境一致且为最新版：\n`{PYTHON} -m pip install \"git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus.git\" --upgrade`\n（将 {PYTHON} 替换为你的 python 解释器路径，如 python3）。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F125",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},22625,"为什么某些模型（如 Mistral 或 Magicoder）的评估得分比预期低或为 0？","这通常是因为模型生成的输出中包含了一些特殊的结束标记（如 `\u003C\u002Fs>`），导致代码解析失败。维护者已更新代码清理工具（code cleaner）来自动移除这些标记。请确保你使用了最新的仓库代码，或者在预处理生成结果时手动移除输出末尾的 `\u003C\u002Fs>` 等特殊令牌。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F37",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},22626,"HuggingFace 上的数据集文件与 evalplus 代码库中的测试用例不一致怎么办？","HuggingFace 托管的部分数据文件（如 MbppPlus）可能存在基线测试用例（base tests）定义错误的问题（例如参数传递缺少逗号、断言预期值错误等）。建议直接使用 evalplus 代码库中内置的数据加载逻辑或通过 `pip` 安装的最新包进行评估，因为代码库中的逻辑已经修复了这些特殊情况的处理，不要直接依赖 HF 文件中未修正的原始 JSONL 数据。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F147",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},22627,"如何评估从 HuggingFace 下载的 Code Llama 模型？","虽然官方脚本可能针对特定下载方式优化，但你可以直接评估 HF 版本的模型。请确保安装了 `requirements-llm.txt` 中列出的所有依赖项。评估结果通常会同步更新到官方排行榜（https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html）。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F17",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},22628,"在哪里可以查看不同版本（如 v0.1.0 vs v0.2.0）的排行榜历史分数？","新的版本（如 v0.2.0）发布后，官方排行榜会更新为最新数据。如果需要查询旧版本（如 v0.1.0）的历史分数，可能需要查阅当时的 Issue 讨论或存档，因为在线排行榜通常只显示最新的有效结果。对于 MBPP+ 等数据集的更新，维护者会在相关 Issue 中确认新榜单已上线。","https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fissues\u002F159",[150,155,160,165,170,175,180,185,190,195,200],{"id":151,"version":152,"summary_zh":153,"released_at":154},136333,"v0.3.1","在过去6个多月里，我们一直积极维护和改进EvalPlus代码库。现在，我们非常高兴地宣布推出新版本！\n\n## 🔥 EvalPerf：用于代码效率评估的数据集\n\n基于我们的COLM'24论文（[arXiv:2408.06450](https:\u002F\u002Fwww.arxiv.org\u002Fabs\u002F2408.06450)），我们将EvalPerf数据集整合进了EvalPlus代码库中。  \nEvalPerf数据集是按照该论文提出的**差异性能评估**方法论精心构建的。该方法论指出，有效的代码效率评估需要：\n\n* **性能驱动型任务**——我们的任务已被验证具有较高的代码效率挑战性！\n* **性能驱动型输入**——针对每个任务，我们都生成了极具性能挑战性的测试输入！\n* **复合指标：差异性能得分（DPS）**——受LeetCode提交效率排名的启发，它能够给出类似“你的提交可以超越80%的LLM解决方案……”这样的结论。\n\nEvalPerf数据集最初包含118个编程任务^（这是最新版HumanEval+和MBPP+的一个子集）。运行EvalPerf非常简单，只需执行以下命令即可：\n\n```bash\npip install \"evalplus[perf,vllm]\" --upgrade\n# 或者：pip install \"evalplus[perf,vllm] @ git+https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\" --upgrade\n\nsudo sh -c 'echo 0 > \u002Fproc\u002Fsys\u002Fkernel\u002Fperf_event_paranoid' # 启用perf\nevalplus.evalperf --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" --backend vllm\n```\n\n在评估时，默认会执行以下步骤：\n\n1. **正确性采样**：我们从LLM中采样100个解决方案（`n_samples`），并进行正确性检查。\n2. **效率评估**：对于有10个以上通过解决方案的任务，我们会评估最多20个通过方案的代码效率：\n    * 基础指标：CPU指令数\n    * 我们会针对以下两类方案分别进行CPU指令数的性能剖析：**(i) 新的LLM解决方案**；以及**(ii) 有代表性的性能参考解决方案**，并在极具性能挑战性的测试输入上运行。\n    * 将新方案的性能剖析结果与参考方案对比，计算差异性能得分（DPS）及其归一化值（DPS_{norm}）。\n    * 例如，假设有4个聚类的10个参考样本：[3, 2, 3, 2]，如果匹配到第3个聚类，则计算得：DPS = 样本排名 \u002F 总样本数 = (3+2+3)\u002F10 = 80%，而DPS_{norm} = 聚类排名 \u002F 总聚类数 = (1+1+1)\u002F4 = 75%。\n\n特别感谢@soryxie和@FatPigeorz的合作！\n\n## 🔥 命令行界面（CLI）简化\n\n我们大幅简化了评估流程：\n\n* **之前**：需要依次运行`evalplus.codegen`、`evalplus.sanitize`，再用不同参数运行`evalplus.evaluate`。\n\n```bash\nevalplus.codegen --model \"ise-uiuc\u002FMagicoder-S-DS-6.7B\" \\\n                  --dataset [humaneval|mbpp]            \\\n                  --backend vllm                        \\\n                  --greedy\n\nevalplus.sanitize --samples [path\u002Fto\u002Fsamples]\n\nevalplus.evaluate --samples [path\u002Fto\u002Fsamples]\n```\n\n* **现在**：\n\n```bash\nevalplus.evaluate --model \"ise-uiuc\u002FMagicoder-S","2024-10-20T21:59:03",{"id":156,"version":157,"summary_zh":158,"released_at":159},136334,"v0.2.1","## 主要更新\r\n\r\n* HumanEval+ 和 MBPP+ 数据集现已上线 Hub：\r\n   * HumanEval+：https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fevalplus\u002Fhumanevalplus\r\n   * MBPP+：https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fevalplus\u002Fmbppplus\r\n* HumanEval+ 已转换为原始的 HumanEval 格式。发布文件现位于以下位置：\r\n   * HumanEval+：https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fhumanevalplus_release\r\n   * MBPP+：https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fmbppplus_release\r\n* 现可通过 [bigcode-evaluation-harness](https:\u002F\u002Fgithub.com\u002Fbigcode-project\u002Fbigcode-evaluation-harness) 使用 EvalPlus。\r\n* Docker 镜像现已采用 Python 3.10，因为部分模型可能会生成使用最新语法的 Python 代码，而在较旧版本的 Python 中运行时可能导致误报。\r\n* 消毒器现已被合并到软件包中。\r\n* 对消毒器进行了多项改进和错误修复。\r\n* 测试套件精简功能现已移至 `tools` 目录。\r\n* 修复了 `CACHE_DIR` 不存在的问题。\r\n* 简化了 `eval_results.json` 的格式，以提高可读性。\r\n* 使用 `EVALPLUS_TIMEOUT_PER_TASK` 环境变量来设置每个任务的最大测试时间。\r\n* 默认情况下，每项测试的超时时间为 0.5 秒。\r\n* 修复了 `inputgen.py` 的参数有效性问题。\r\n\r\n## 数据集维护\r\n\r\n* `HumanEval\u002F32`：修复了 Oracle。\r\n\r\n## 支持的代码生成模型\r\n\r\n* EvalPlus 排行榜目前列出了 82 种模型。\r\n* WizardCoders\r\n* Stable Code\r\n* OpenCodeInterpreter\r\n* Anthropic API\r\n* Mistral API\r\n* CodeLlama instruct\r\n* Phi-2\r\n* Solar\r\n* Dophin\r\n* OpenChat\r\n* CodeMillenials\r\n* Speechless\r\n* xdan-l1-chat\r\n* 等等。\r\n\r\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.2.1\u002F\r\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.2.1\u002Fimages\u002Fsha256-2bb315e40ea502b4f47ebf1f93561ef88280d251bdc6f394578c63d90e1825d7","2024-04-02T22:40:44",{"id":161,"version":162,"summary_zh":163,"released_at":164},136335,"v0.2.0","## 🔥 宣布推出 MBPP+\n\n**[MBPP](https:\u002F\u002Fgithub.com\u002Fgoogle-research\u002Fgoogle-research\u002Ftree\u002Fmaster\u002Fmbpp)** 是由 Google 整理的一个数据集。其完整版本包含约 1000 道众包生成的 Python 编程题目。然而，其中部分题目可能存在噪声（例如，题目描述不合理或测试用例存在缺陷）。因此，原始作者对数据进行了人工校验，得到了一个子集——`MBPP-sanitized`，共约 427 道题目。\n\n**MBPP+** 基于经过清理的 `MBPP-sanitized` 版本进行了进一步优化：\n- 我们再次对题目进行人工校验，剔除格式不规范的题目，最终保留 399 道；\n- 同时修复了实现错误的题目（更多详情请参见 [这里](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Ftree\u002Fmbpp\u002Fgroundtruth\u002Fmbpp#check-implementation)）；\n- 我们还进行了测试用例增强，使平均测试用例数量提升了 35 倍（从 3.1 个增至 108.5 个）；\n- 我们保持了与 HumanEval+ 的脚本兼容性：只需在 `evalplus.evaluate`、`codegen\u002Fgenerate.py`、`tools\u002Fchecker.py` 以及 `tools\u002Fsanitize.py` 中将参数切换为 `--dataset mbpp` 即可使用。\n\n初始排行榜已在 https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html 上发布，并将持续更新。\n\n使用 MBPP+ 的典型工作流程如下：\n\n```python\n# 步骤 1：生成 MBPP 解决方案\nfrom evalplus.data import get_mbpp_plus, write_jsonl\n\ndef GEN_SOLUTION(prompt: str) -> str:\n    # LLM 根据题目生成完整解决方案\n\nsamples = [\n    dict(task_id=task_id, solution=GEN_SOLUTION(problem[\"prompt\"]))\n    for task_id, problem in get_mbpp_plus().items()\n]\nwrite_jsonl(\"samples.jsonl\", samples)\n# 可能需要进行一些后处理，以清理 LLM 生成的代码\n# 例如：https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fblob\u002Fmaster\u002Ftools\u002Fsanitize.py\n```\n\n```bash\n# 步骤 2：在 MBPP+ 上进行评估\ndocker run -v $(pwd):\u002Fapp ganler\u002Fevalplus:latest --dataset mbpp --samples samples.jsonl\n# 输出将显示“base”（仅使用 MBPP 测试）和“base + plus”（使用额外的 MBPP+ 测试）两个分数\n```\n\n## 🔥 HumanEval+ 维护更新\n\n- 排行榜更新（现已涵盖 **41** 款模型！）：https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html\n  - DeepSeek Coder 系列\n  - Phind-CodeLlama\n  - Mistral 和 Zephyr 系列\n  - 更小规模的 StarCoder 模型\n- HumanEval+ 已从 `v0.1.6` 升级至 `v0.1.9`：\n  - 修复了测试用例：0、3、9、148；\n  - 修复了题目描述：114；\n  - 修复了合约相关问题：1、2、99、35、28、32、160。\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.2.0\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.2.0\u002Fimages\u002Fsha256-6f1b9bd13930abfb651a99d4c6a55273271f73e5b44c12dcd959a00828782dd6","2023-11-24T22:12:33",{"id":166,"version":167,"summary_zh":168,"released_at":169},136336,"v0.1.7","- EvalPlus 排行榜：https:\u002F\u002Fevalplus.github.io\u002Fleaderboard.html\n- 评估了 CodeLlama、CodeT5+ 和 WizardCoder\n- 固定合约（HumanEval+）：116、126、006\n- 移除极端输入（HumanEval+）：32\n- 新增 `HUMANEVAL_OVERRIDE_PATH` 环境变量，允许用自定义数据集覆盖原始数据集\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.7\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.7\u002Fimages\u002Fsha256-69fe87df89b8c1545ff7e3b20232ac6c4841b43c20f22f4a276ba03f1b0d79ae","2023-09-06T18:35:48",{"id":171,"version":172,"summary_zh":173,"released_at":174},136337,"v0.1.6","- 支持可配置的超时时间 $T=\\max(T_{base}, T_{gt}\\times k)$，其中：\n    - $T_{base}$ 是最小超时时间（可通过 `--min-time-limit` 配置，默认为 0.2 秒）；\n    - $T_{gt}$ 是真实答案解决方案的运行时间（通过性能剖析获得）；\n    - $k$ 是一个可配置的因子 `--gt-time-limit-factor`（默认为 4）；\n- 采用更为保守的超时设置，以应对性能较弱的测试集（将 $T_{base}$ 从 0.05 秒调整为 0.2 秒，将 $k$ 从 2 调整为 4）。\n- `HumanEval+` 数据集的错误修复：\n    - 中等程度的合约修复：P129 (#4)、P148（自我发现）\n    - 小幅合约修复：P75 (#4)、P53 (#8)、P0（自我发现）、P3（自我发现）、P9（自我发现）\n    - 小幅真实答案修复：P140 (#3)\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.6\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.6\u002Fimages\u002Fsha256-5913b95172962ad61e01a5d5cf63b60e1140dd547f5acc40370af892275e777c","2023-06-26T06:57:42",{"id":176,"version":177,"summary_zh":178,"released_at":179},136338,"v0.1.5","## 🚀 `HumanEval+[mini]` -- 规模缩小47倍，效果与`HumanEval+`相当\r\n\r\n- 在 `evalplus.evaluate ...` 命令中添加 **`--mini`** 选项，即可使用一个极小但质量最优的额外测试集，从而大幅加速评估！\r\n- `HumanEval+[mini]`（平均16.5个测试）相比 `HumanEval+`（平均774.8个测试），规模缩小了 **47倍**。\r\n- 这一成果得益于 **测试套件精简** 技术：我们运行了一个集合覆盖算法，以在保持相同覆盖率（基于覆盖分析）、突变杀伤率（基于突变分析）以及样本杀伤率（基于每个样本-测试对的通过\u002F失败状态）的前提下，生成精简后的测试集。\r\n\r\n![image](https:\u002F\u002Fgithub.com\u002Fevalplus\u002Fevalplus\u002Fassets\u002F38074777\u002Fa09258c7-a227-4c1d-9f28-c96c93dc805d)\r\n\r\nPyPI: https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.5\u002F\r\nDocker Hub: https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.5\u002Fimages\u002Fsha256-01ef3275ab02776e94edd4a436a3cd33babfaaf7a81e7ae44f895c2794f4c104","2023-06-02T08:19:18",{"id":181,"version":182,"summary_zh":183,"released_at":184},136339,"v0.1.4","- **性能**：\n  - 评估结果缓存的懒加载\n  - 使用 `ProcessPoolExecutor` 替代 `ThreadPoolExecutor`\n  - 缓存真实标签输出\n- **可观测性**：\n  - 当任务卡顿超过10秒时，启用并发日志记录器\n- **新模型**：\n  - CodeGen2（补全）\n  - StarCoder（补全）\n- **修复**：\n  - 输入问题的确定性哈希处理\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.4\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.4\u002Fimages\u002Fsha256-a0ea8279c71afa9418808326412b1e5cd11f44b3b59470477ecf4ba999d4b73a","2023-05-12T05:02:20",{"id":186,"version":187,"summary_zh":188,"released_at":189},136340,"v0.1.3","- 修复了输入样本格式为 `.jsonl` 时的评估问题\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.3\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.3\u002Fimages\u002Fsha256-fd13ab6ee2aa313eb160fc29debe8c761804cb6af7309280b4e200b6549bd75a","2023-05-09T18:33:51",{"id":191,"version":192,"summary_zh":193,"released_at":194},136341,"v0.1.2","- 修复由使用 `--base-only` 引起的 bug\n- 在本地构建 Docker 镜像，而不是简单地执行 `pip install`\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.2\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.2\u002Fimages\u002Fsha256-747ae02f0bfbd300c0205298113006203d984373e6ab6b8fb3048626f41dbe08","2023-05-07T05:24:34",{"id":196,"version":197,"summary_zh":198,"released_at":199},136342,"v0.1.1","在这一版本中，主要工作集中在对 `evalplus` 的代码进行清理和标准化。最重要的是，`evalplus` 严格遵循 [HumanEval](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fhuman-eval) 的数据集使用规范。因此，用户可以按以下方式使用 `evalplus`：\n\n![carbon (1)](https:\u002F\u002Fuser-images.githubusercontent.com\u002F38074777\u002F236659016-a2475e1a-c3bd-4d42-a1fe-75661bf28155.png)\n\n更多细节方面，主要变更如下（已在 #1 中记录）：\n- 包构建与 PyPI 配置\n- （HumanEval 兼容性）支持将样本文件以 `.jsonl` 格式提供\n- （HumanEval 兼容性）`get_human_eval_plus()` 现在返回一个 `dict` 而不是 `list`\n- （HumanEval 兼容性）使用 HumanEval 任务 ID 分隔符 `\u002F` 替代 `_`\n- 将评估并行化方案优化至样本级别（原为任务级别）\n- 通过共享内存优化进程间通信\n- 移除基准答案以避免数据泄露\n- 使用 Docker 作为沙箱机制\n- 支持 Codegen2 模型进行代码生成\n- 将依赖项拆分为多个类别\n\nPyPI：https:\u002F\u002Fpypi.org\u002Fproject\u002Fevalplus\u002F0.1.1\u002F\nDocker Hub：https:\u002F\u002Fhub.docker.com\u002Flayers\u002Fganler\u002Fevalplus\u002Fv0.1.1\u002Fimages\u002Fsha256-4993a0dc0ec13d6fe88eb39f94dd0a927e1f26864543c8c13e2e8c5d5c347af0","2023-05-07T05:21:41",{"id":201,"version":202,"summary_zh":203,"released_at":204},136343,"v0.1.0","## What is this?\r\n\r\nIn addition to the initial version of EvalPlus source-code, we release the pre-generated code of LLMs on HumanEval+ (also applicable for base HumanEval) and regularized ground-truth solutions. With these we hope to accelerate future research where research may try to reuse our pre-generated code instead of generating them from scratch. \r\n\r\n- `${MODEL_NAME}_temp_${TEMPERATURE}.zip`: LLM-produced program samples\r\n- `HumanEvalPlusGT.zip`: The re-implemented ground-truth solutions\r\n\r\n## Data sources\r\n\r\nThe configuration of the pre-generated code follows our pre-print paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.01210\r\n\r\n- We evaluated it over:\r\n    - **x 14 models** (10 model types)\r\n    - **x 5 temperature** settings including zero temperature (for greedy decoding) as well as `{0.2, 0.4, 0.6, 0.8}`\r\n    - **x 200 code samples** used random sampling (i.e., non-greedy decoding settings)\r\n- We use nucleus sampling with top p = 0.95 for all hugging-face based model\r\n- Codegen6B and Codegen16B is accelerated by [FauxPilot](https:\u002F\u002Fgithub.com\u002Ffauxpilot\u002Ffauxpilot) (thanks!)\r\n\r\n![image](https:\u002F\u002Fuser-images.githubusercontent.com\u002F38074777\u002F235818976-b58220ae-3038-4a09-991e-ebdc885c53d8.png)\r\n\r\n## Evaluated results\r\n\r\nWe draw the results from the samples and test-cases from the base HumanEval and our enhanced HumanEval+:\r\n\r\n![image](https:\u002F\u002Fuser-images.githubusercontent.com\u002F38074777\u002F235819326-77192614-64ac-40c3-a2c6-5ca325296a77.png)\r\n\r\n## Call for contribution\r\n\r\nWe also encourage open-source developers to contributing to LLM4Code research by: (i) reproducing and validating our results; (ii) uploading LLM-generated samples and reproducing the results of new models; and of course (iii) trying out our enhanced dataset to get more accurate and trustworthy results!","2023-05-03T01:56:35"]