princeton-nlp/SWE-bench_Lite_bm25_13K
收藏Hugging Face2024-04-15 更新2024-06-11 收录
下载链接:
https://hf-mirror.com/datasets/princeton-nlp/SWE-bench_Lite_bm25_13K
下载链接
链接失效反馈官方服务:
资源简介:
SWE-bench Lite是SWE-bench的一个子集,用于测试系统自动解决GitHub问题的能力。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。数据集还包括使用Pyserini的BM25检索格式化的每个实例,代码上下文大小限制为13,000个`cl100k_base`标记。数据集的主要用途是用于语言模型生成补丁文件,支持的任务是提供完整仓库和GitHub问题的解决方案。
SWE-bench Lite是SWE-bench的一个子集,用于测试系统自动解决GitHub问题的能力。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。数据集还包括使用Pyserini的BM25检索格式化的每个实例,代码上下文大小限制为13,000个`cl100k_base`标记。数据集的主要用途是用于语言模型生成补丁文件,支持的任务是提供完整仓库和GitHub问题的解决方案。
提供机构:
princeton-nlp原始信息汇总
数据集概述
数据集名称: SWE-bench Lite 数据集描述: SWE-bench Lite 是 SWE-bench 的一个子集,用于测试系统自动解决GitHub问题的能力。该数据集收集了来自11个流行Python项目的300个测试Issue-Pull Request对。评估通过单元测试验证进行,使用PR后的行为作为参考解决方案。
数据集特征
- instance_id: 字符串类型
- text: 字符串类型
- repo: 字符串类型
- base_commit: 字符串类型
- problem_statement: 字符串类型
- hints_text: 字符串类型
- created_at: 字符串类型
- patch: 字符串类型
- test_patch: 字符串类型
- version: 字符串类型
- FAIL_TO_PASS: 字符串类型
- PASS_TO_PASS: 字符串类型
- environment_setup_commit: 字符串类型
数据集分割
- dev: 23个示例,总大小1402179字节
- test: 300个示例,总大小18207667字节
数据集大小
- 下载大小: 8579282字节
- 数据集总大小: 19609846字节
配置文件
- config_name: default
- data_files:
- dev: data/dev-*
- test: data/test-*
支持的任务和排行榜
- 任务: 提供完整仓库和GitHub问题的Issue解决
- 排行榜: www.swebench.com
语言
- 主要语言: 英语
- 处理: 未进行基于语言类型的过滤或清理
搜集汇总
数据集介绍

构建方式
在软件工程与自然语言处理交叉领域,自动化代码修复任务对语义理解与检索精度提出了严苛要求。SWE-bench_Lite_bm25_13K数据集作为SWE-bench的精简版本,聚焦于评估语言模型自动解决GitHub问题的能力。其构建过程采用Pyserini框架实现的BM25检索算法,从完整的SWE-bench数据集中筛选出300个测试实例,这些实例涵盖11个主流Python仓库的问题-拉取请求对。每个实例的代码上下文被严格限制为13,000个基于tiktoken库cl100k_base分词器的token,确保与OpenAI模型的输入兼容性。数据集通过结构化字段存储实例标识、仓库信息、基础提交版本、问题描述、补丁文件及测试补丁等关键要素,并按照dev和test两个分割进行组织,分别包含23个和300个样本。
特点
该数据集的显著特色在于其高度聚焦的评估设计与检索增强的上下文构建。作为SWE-bench的轻量级子集,它精选了300个具有明确单元测试验证标准的问题-补丁对,测试系统能否通过后PR行为作为参考解来自动解决真实世界GitHub问题。每个实例的text字段通过BM25检索机制整合了最相关的代码上下文,使模型能够直接基于检索到的信息生成补丁文件。数据集明确要求模型输出标准的Unix patch格式,这种结构化输出便于自动化评估。此外,数据集的字段设计涵盖从问题陈述到环境配置的全链路信息,包括FAIL_TO_PASS和PASS_TO_PASS等测试状态指标,为细粒度性能分析提供了支持。
使用方法
使用该数据集进行模型评估时,研究者可直接利用每个实例的text字段作为输入,指导语言模型生成符合diff格式的补丁文件。推荐的流程遵循SWE-bench官方推理脚本,将问题描述与检索到的代码上下文拼接后输入模型,并解析模型输出的patch内容。评估环节通过执行实例中的测试补丁(test_patch)进行单元测试验证,以补丁能否使测试从失败转为通过作为核心度量标准。数据集提供的dev分割可用于调试与超参数调优,而test分割则作为最终评测基准。由于数据格式与OpenAI的tiktoken分词器兼容,研究者可无缝集成到基于Transformer架构的代码生成流水线中,实现从输入到评估的端到端实验流程。
背景与挑战
背景概述
SWE-bench_Lite_bm25_13K数据集由普林斯顿大学自然语言处理团队于2023年创建,源自其代表性工作《SWE-bench: Can Language Models Resolve Real-World GitHub Issues?》。该数据集旨在评估语言模型自动解决真实世界GitHub问题的能力,聚焦于软件工程领域中的自动化缺陷修复与代码维护任务。作为SWE-bench的精简版本,它精选了11个流行Python仓库中的300个测试问题-拉取请求对,通过单元测试验证来评判模型生成的补丁是否有效。该数据集的发布为自然语言处理与软件工程的交叉研究提供了标准化基准,推动了代码智能领域从代码生成向复杂问题解决的范式演进。
当前挑战
该数据集面临的核心挑战在于多维度复杂性:首先,真实GitHub问题通常涉及跨文件的代码理解与修改,模型需在有限上下文窗口(13,000个cl100k_base令牌)内精准定位相关代码片段,这对长距离依赖建模提出严苛要求。其次,补丁生成需严格遵循Unix diff格式并保证语法正确性,任何微小偏差都会导致验证失败。构建过程中,研究人员需从海量开源仓库中筛选出可复现、可验证的问题-补丁对,并设计自动化环境搭建流程以消除依赖冲突,这涉及对11个仓库不同版本管理策略的协调,以及超过300个测试用例的单元测试框架适配工作。
常用场景
经典使用场景
SWE-bench_Lite_bm25_13K数据集的核心经典使用场景在于评估和提升大语言模型(LLM)在真实世界软件工程任务中的能力。具体而言,该数据集聚焦于自动化解决GitHub Issue这一极具挑战性的问题,要求模型基于给定的完整代码仓库和问题描述,生成符合Unix patch格式的代码修改方案。通过提供经过BM25检索压缩的代码上下文(限制为13000个tiktoken token),研究者能够直接利用该数据集训练或微调模型,使其掌握从理解问题、定位缺陷到生成修复补丁的全流程能力。这一场景不仅测试了模型的代码理解与生成能力,更衡量了其在复杂工程环境中的推理与决策水平。
衍生相关工作
SWE-bench_Lite数据集衍生了一系列具有深远影响的经典工作。首先,其完整版SWE-bench论文提出了利用检索增强生成(RAG)技术(如BM25)为模型提供相关代码上下文的方法,为后续研究奠定了方法论基础。其次,基于该数据集涌现出如SWE-agent、Devin等代表性系统,它们探索了多步骤推理、工具调用与环境交互等高级范式,显著提升了自动化修复的成功率。此外,该数据集催生了针对‘代码差异生成’的专项研究,包括对比学习、结构化输出约束以及基于执行反馈的强化学习等方向。这些工作共同推动了AI辅助软件工程从实验室概念向工业级应用的演进,并成为评估新一代代码智能体的黄金标准。
数据集最近研究
最新研究方向
SWE-bench_Lite_bm25_13K数据集聚焦于评估和推动大语言模型在真实世界软件工程任务中的自动化能力,特别是GitHub问题修复的前沿研究。该数据集通过精选300个来自11个流行Python仓库的Issue-Pull Request对,并采用BM25检索与13K令牌代码上下文限制的预处理格式,直接服务于当前大语言模型在代码生成与补丁应用领域的热点探索。其意义在于为模型提供标准化的单元测试验证基准,促使研究人员突破传统代码补全的局限,迈向端到端的自动化缺陷修复。该数据集与SWE-bench排行榜紧密关联,成为衡量语言模型理解复杂代码库、定位问题并生成可执行补丁能力的关键标尺,对推动软件工程智能化与降低人工维护成本具有深远影响。
以上内容由遇见数据集搜集并总结生成



