princeton-nlp/SWE-bench_bm25_27K
收藏数据集卡片 "SWE-bench_bm25_27K"
数据集概述
SWE-bench 是一个测试系统自动解决 GitHub 问题的能力的数据集。该数据集收集了来自 12 个流行 Python 项目的 2,294 个 Issue-Pull Request 对。评估通过使用 PR 后的行为作为参考解决方案的单元测试验证进行。
该数据集作为论文 SWE-bench: Can Language Models Resolve Real-World GitHub Issues? 的一部分发布。
数据集 SWE-bench_bm25_27K 包括使用 Pyserini 的 BM25 检索格式化的每个实例,如论文中所述。代码上下文大小限制为 27,000 cl100k_base 令牌,使用 OpenAI 模型所用的 tiktoken 分词包。text 列可以直接用于生成补丁文件的语言模型。
模型被指示使用以下模板生成 patch 格式的文件:
diff
<patch>
diff
--- a/path/to/file.py
--- b/path/to/file.py
@@ -1,3 +1,3 @@
This is a test file.
-It contains several lines.
+It has been modified.
This is the third line.
</patch>
此格式可以直接与 SWE-bench 推理脚本 一起使用。有关推理的更多详细信息,请参阅这些脚本。
支持的任务和排行榜
SWE-bench 提出了一项新任务:提供完整的仓库和 GitHub 问题进行问题解决。排行榜可以在 www.swebench.com 找到。
语言
数据集的文本主要是英语,但我们没有根据语言类型进行过滤或清理。
数据集结构
数据实例
SWE-bench 数据实例的示例如下:
instance_id: (str) - 格式化的实例标识符,通常为 repo_owner__repo_name-PR-number。 text: (str) - 包括指令、“Oracle”检索文件和补丁格式输出示例的输入文本。 patch: (str) - 解决问题的 PR 生成的黄金补丁(减去与测试相关的代码)。 repo: (str) - GitHub 仓库的 owner/name 标识符。 base_commit: (str) - 表示解决方案 PR 应用之前仓库 HEAD 的提交哈希。 hints_text: (str) - 在解决方案 PR 的第一次提交创建日期之前在问题上发表的评论。 created_at: (str) - 拉取请求的创建日期。 test_patch: (str) - 解决方案 PR 贡献的测试文件补丁。 problem_statement: (str) - 问题标题和正文。 version: (str) - 用于运行评估的安装版本。 environment_setup_commit: (str) - 用于环境设置和安装的提交哈希。 FAIL_TO_PASS: (str) - 表示 PR 解决并与问题解决相关的一组测试的 json 字符串列表。 PASS_TO_PASS: (str) - 表示 PR 应用前后应通过的测试的 json 字符串列表。



