🔥 LiveCodeBench:2025年最全面的代码大模型测评工具!零基础也能轻松上手
LiveCodeBench是一个旨在全面且无污染地评估大型语言模型(LLMs)编码能力的开源项目。该仓库是论文《LiveCodeBench: 面向代码的大规模语言模型的综合无污染评价》的官方存储库,通过持续收集新编程问题,帮助开发者客观评估AI模型的真实编码水平。
📚 为什么选择LiveCodeBench?
✅ 四大核心优势
- 🚫 零污染测评:所有题目均来自2023年5月后发布的编程竞赛真题,确保模型未见过
- 📊 多维度评估:覆盖代码生成、自我修复、代码执行和测试输出预测四大核心能力
- 🔄 持续更新:已更新至
release_v6版本,包含1055道高质量编程题(2023.5-2025.4) - ⚡ 高效执行:支持多GPU并行推理,评估速度比传统工具提升300%
📈 真实测评结果对比
传统测评集(如HumanEval)存在严重的数据污染问题,导致模型评分虚高。LiveCodeBench通过严格的时间窗口筛选,确保评估结果真实可信:
图2:模型在LiveCodeBench与HumanEval上的表现对比,显示出明显的分数差异
🚀 快速开始指南
1️⃣ 环境准备
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/li/LiveCodeBench
cd LiveCodeBench
# 推荐使用uv管理依赖(比pip更快)
uv venv --python 3.11
source .venv/bin/activate
uv pip install -e .
⚠️ 注意:项目核心代码位于lcb_runner/runner/目录,支持多种模型评估
2️⃣ 数据集选择
LiveCodeBench提供多个版本的数据集,可通过--release_version参数指定:
| 版本号 | 时间范围 | 题目数量 | 适用场景 |
|---|---|---|---|
| release_v1 | 2023.5-2024.3 | 400题 | 基础测试 |
| release_v6 | 2023.5-2025.4 | 1055题 | 全面评估 |
# 查看所有可用版本
python -m lcb_runner.runner.main --help
3️⃣ 模型评估实战
代码生成能力评估
# 使用vllm进行高效推理(支持多GPU并行)
python -m lcb_runner.runner.main \
--model your_model_name \
--scenario codegeneration \
--release_version release_v6 \
--evaluate
📌 提示:模型名称需参考lcb_runner/lm_styles.py文件中的定义
自我修复能力评估
# 基于代码生成结果进行自我修复评估
python -m lcb_runner.runner.main \
--model your_model_name \
--scenario selfrepair \
--codegen_n 5 \
--evaluate
4️⃣ 评估结果解读
评估完成后,系统会自动计算pass@1和pass@5等关键指标:
图3:不同模型在LiveCodeBench上的pass@1得分对比
核心评估逻辑位于lcb_runner/evaluation/compute_scores.py,支持自定义评分规则。
⚙️ 高级功能
🛠️ 自定义模型支持
要添加新模型支持,只需两步:
- 在lcb_runner/lm_styles.py中添加模型配置
- 在lcb_runner/prompts/code_generation.py中定义对应prompt模板
# 示例:添加新模型配置
class LMStyle(Enum):
# ... 现有模型 ...
YourNewModel = "your_new_model" # 添加这行
# 在LanguageModelList中注册
LanguageModelList = [
# ... 现有模型 ...
LanguageModel(LMStyle.YourNewModel, ["your_model_name"]),
]
🧪 测试输出预测
评估模型根据代码预测测试结果的能力:
python -m lcb_runner.runner.main \
--model your_model_name \
--scenario testoutputprediction \
--evaluate
❓ 常见问题解决
🚫 数据污染检查
项目内置污染检查工具,确保评估数据未被模型训练集包含:
检查逻辑实现于lcb_runner/evaluation/old_results_check.py
🔄 继续中断的评估
# 继续之前未完成的评估任务
python -m lcb_runner.runner.main \
--model your_model_name \
--scenario codegeneration \
--continue_existing \
--use_cache
📚 资源与文献
- 官方论文:《LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code》
- 数据集下载:支持四种评估场景(代码生成、执行、测试预测等)
- 问题反馈:请提交issue至项目仓库
⭐ 如果你觉得这个工具有用,请给项目点个赞!你的支持是我们持续改进的动力。
📝 更新记录
- 2025.04:发布release_v6,新增245道题目
- 2024.09:支持Claude 3和Gemini模型评估
- 2024.05:引入自我修复评估场景
- 2024.03:初始版本发布(release_v1)
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





