NoCode-bench
收藏资源简介:
NoCode-bench是一个基准测试,旨在评估大型语言模型(LLMs)使用自然语言文档作为输入执行无代码功能添加的能力。与之前专注于错误修复或一般问题解决的基准测试不同,NoCode-bench针对的是文档变更驱动功能开发的新范式。它包括634个真实世界功能添加任务,每个实例包含文档变更、相关上下文文件和真实补丁。
NoCode-bench is a benchmark designed to evaluate the ability of large language models (LLMs) to perform code-free feature addition using natural language documents as input. Unlike previous benchmarks focusing on bug fixing or general problem-solving, NoCode-bench targets the new paradigm of document-change-driven feature development. It comprises 634 real-world feature addition tasks, with each instance containing a document change, relevant context files, and a ground-truth patch.
NoCode-bench 数据集概述
数据集简介
NoCode-bench 是一个用于评估大型语言模型(LLMs)通过自然语言文档输入执行无代码功能添加能力的基准测试。该基准测试专注于现实软件项目中通过文档变更驱动的功能开发新范式。
数据集内容
- 实例数量:634个真实世界功能添加任务,涵盖多样化的GitHub项目
- 数据格式:每个实例包含文档变更、相关上下文文件和真实补丁
- 子集:包含手动验证的高质量子集(NoCode-bench-Verified)
数据集访问
可通过以下代码加载数据集: python from datasets import load_dataset ncbench = load_dataset(NoCode-bench/NoCode-bench_Full, split=test) ncbench_verified = load_dataset(NoCode-bench/NoCode-bench_Verified, split=test)
环境设置
-
创建conda环境: shell conda create -n ncb python=3.12 conda activate ncb pip install -r requirements.txt
-
通过Docker构建基础镜像: bash cd environment bash setup_all.sh
-
构建实例级Docker镜像: bash export PYTHONPATH=$PYTHONPATH:$(pwd) python environment/setup_instances_images.py --bench_tasks NoCode-bench/NoCode-bench_Verified --log_dir logs --max_workers 20
评估方法
- 生成符合指定格式的预测结果
- 使用以下命令评估: sh export PYTHONPATH=$PYTHONPATH:$(pwd) python ./evaluation/eval.py --predictions_path ./all_preds.jsonl --log_dir ./evaluation/logs --bench_tasks NoCode-bench/NoCode-bench_Verified --max_workers 110 --output_file eval_result.txt --image_level repo --timeout 600 --proxy None
基准测试重构
可通过5步流程重构或扩展NoCode-bench:
- 项目选择:选择高质量、活跃维护的GitHub仓库
- 实例收集:解析发布说明识别真实功能添加任务
- 环境构建:在
environment/文件夹中存储相关数据和脚本 - 实例过滤:自动过滤不符合标准的实例
- 输入优化:补充缺失的关键实体名称并屏蔽可能导致数据泄露的信息




