遇见数据集

Quarry

收藏
Hugging Face2026-08-18 更新2026-08-19 收录
官方服务:

资源简介:

Quarry是一个用于自然语言查询到代码函数检索的基准数据集,其查询语句是通过合成方式生成的,描述了预期的代码行为,而非原始的issue文本。该数据集不适用于补丁定位任务。版本1.0包含6,525条查询记录和3,411个任务,覆盖11种编程语言:C、C++、C#、Go、Java、JavaScript、PHP、Python、Rust、Scala和TypeScript。数据集的发布版本将两个不重叠的收集批次合并为一个测试集。数据集提供标签和仓库引用,但不包含源代码,用户需自行签出指定上游仓库的修订版本。数据集包含四个配置:queries(查询文本和检索修订版本)、tasks(任务元数据、语言、修订版本和关联的查询ID)、gold_preimage(检索修订版本下的函数级标签)和gold_postimage(后图像记录)。函数级标签包括仓库、修订版本、路径、符号或完全限定方法名以及行范围。评估指标采用严格all-gold micro recall@5/10/20/50,对所有6,525条查询计算平均召回率。数据集采用CC BY 4.0许可证,归因于BrokkAI并链接此仓库。

Quarry is a benchmark dataset for natural language query to code function retrieval. The queries are generated synthetically, describing expected code behavior rather than raw issue text. This dataset is not suitable for patch localization tasks. Version 1.0 contains 6,525 query records and 3,411 tasks covering 11 programming languages: C, C++, C#, Go, Java, JavaScript, PHP, Python, Rust, Scala, and TypeScript. The released version merges two non-overlapping collection batches into a single test set. The dataset provides labels and repository references, but does not include source code; users need to check out the revisions of the specified upstream repositories themselves. The dataset includes four configurations: queries (query text and retrieval revision), tasks (task metadata, language, revision, and associated query IDs), gold_preimage (function-level labels under the retrieval revision), and gold_postimage (post-image records). Function-level labels include repository, revision, path, symbol or fully qualified method name, and line range. The evaluation metric is strict all-gold micro recall@5/10/20/50, computing average recall across all 6,525 queries. The dataset is licensed under CC BY 4.0, attributed to BrokkAI with a link to this repository.

创建时间:
2026-08-11
原始信息汇总

Quarry 数据集概述

Quarry 是一个自然语言查询→代码函数检索基准测试数据集,其查询语句是通过合成方式生成的行为描述,不包含原始问题文本(issue text),也不是补丁定位基准。

基本信息

属性 详情
许可证 CC BY 4.0
任务类型 文本检索
语言 代码(多语言)
数据规模 1K < n < 10K
版本 1.0

数据集内容

规模与覆盖范围:

  • 共包含 6,525 条查询3,411 个任务的函数级标注(gold labels)
  • 覆盖 11 种编程语言:C、C++、C#、Go、Java、JavaScript、PHP、Python、Rust、Scala、TypeScript
  • 数据来源于真实代码版本(real code revisions)
  • 提供标注标签和仓库引用信息,不包含源代码本身

数据集结构(4 个配置):

配置名称 行数 用途
queries 6,525 行为查询文本和检索版本
tasks 3,411 任务元数据、语言、版本及关联查询 ID
gold_preimage 6,525 检索版本下的函数级标注
gold_postimage 6,525 收集阶段保留的配套映像记录

各配置可通过 (repo, task_id)(repo, task_id, query_id) 进行关联。

评估协议

  • 核心指标:严格全标注微平均召回率(strict all-gold micro recall@5/10/20/50)
  • 对所有 6,525 条查询计算扁平平均值,同时提供三阶段(查询→任务→仓库→语言)宏聚合结果
  • 文档格式:自由函数使用 {path}/{function_name} 加源代码的头部结构;类方法使用 swerank_document_text() 渲染器格式

基准结果(部分模型)

模型 参数量 recall@5 recall@20 recall@50
Muninn 346M 61.4 82.6 90.7
voyage-code-3 API 59.1 81.8 90.4
voyage-4 API 59.0 80.8 90.0
SweRank-Large 7B 58.5 80.6 89.6
Nemotron-3-Embed-1B 1B 58.3 79.9 88.7
bge-code-v1 1.5B 58.2 79.8 88.7

许可证说明

  • 数据集(查询和标注)采用 CC BY 4.0 许可证,引用时需注明 BrokkAI 并链接本仓库
  • quarry_eval.pyharness/ 下的所有 Python 代码采用 Apache License 2.0 许可证
  • 引用的源代码不重新分发,保留各自上游仓库的许可证
  • 校验和、行数、版本及来源信息记录在 RELEASE_MANIFEST.json
搜集汇总
数据集介绍
Quarry 数据集图片
构建方式
Quarry基准的构建遵循严谨的流程,其查询语句为合成行为描述,生成过程未接触代码差异或黄金标签,确保了评估的公正性。数据集覆盖11种编程语言,包含6,525条查询和3,411个任务的函数级标注,数据采集自真实代码修订版本。构建过程中,采用双阶段收集策略,并将结果合并为单一测试集。由于数据集仅提供标签和仓库引用,用户需自行克隆上游仓库至指定修订版,并通过本地脚本构建分块数据库,最终将可移植的单元标签解析为本地块ID,以完成评估语料的构建。
特点
Quarry数据集的核心特性在于其自然语言查询与代码函数检索的对齐,强调函数级而非补丁级定位,这为代码检索任务提供了更精细的粒度。数据集的多语言覆盖(C、C++、Java等11种语言)和真实代码版本确保了评估的多样性和真实性。此外,数据集的标注包含仓库、修订版、路径、符号名及行号范围,支持严格的检索指标(如all-gold micro recall),并提供了标准化的评估协议,便于复现实验结果。
使用方法
使用Quarry数据集时,用户可通过HuggingFace加载四个配置(queries、tasks、gold_preimage、gold_postimage),并根据需要按(repo, task_id)或(repo, task_id, query_id)进行记录关联。评估流程需克隆所有提及的仓库,构建分块数据库,并通过canonicalize_gold.py解析黄金标签。最后,使用quarry_eval.py运行模型评估,支持自定义模型和参数,如嵌入维度与上下文长度。数据集提供详细的命令行指南,确保用户能复现官方结果,并针对不同模型进行调整。
背景与挑战
背景概述
Quarry数据集由BrokkAI团队于近年创建,专注于自然语言查询到代码函数的检索任务,旨在弥补现有代码检索基准在真实代码修订版本上的不足。该数据集包含6,525条查询和3,411个任务,覆盖11种编程语言,所有查询均为合成行为描述,独立于代码差异和真实标签,强调函数级检索而非补丁定位。研究团队通过严格的评估协议(如全金标准微召回率)和可复现的本地构建流程,为代码检索领域提供了标准化评测平台。Quarry的发布推动了代码智能领域对检索模型在跨语言、跨版本场景下的性能评估,其影响力体现在多个主流嵌入模型(如Muninn、voyage-code-3)在该基准上的评测结果,成为衡量代码检索能力的重要参考。
当前挑战
Quarry数据集面临多重挑战:首先,领域问题在于代码检索需精准理解自然语言意图与代码语义的映射,尤其在多语言、复杂类方法及版本演进场景中,查询与代码间的语义鸿沟显著;其次,构建过程中需确保合成查询不泄露代码差异信息,并保证函数级标注的准确性,涉及跨仓库、跨修订版本的大型代码库处理,以及本地分块与标签解析的复杂流程;此外,评估协议对严格全金标准微召回率的依赖,要求模型在有限上下文内高效编码长代码,并兼容不同嵌入维度,增加了基准复现与对比的难度。这些挑战共同考验数据集本身的代表性与评测方法的稳健性。
常用场景
经典使用场景
Quarry数据集作为自然语言查询至代码函数检索的基准测试集,其经典应用场景在于评估和比较不同代码检索模型在跨语言环境下的性能。该数据集包含11种编程语言的6,525条查询及对应的函数级标签,覆盖从C到TypeScript的广泛语言谱系,为研究者提供了统一且严格的评测协议,即采用全量黄金标签的微平均召回率(recall@5/20/50)作为核心指标,从而客观度量模型在真实代码修订版本中的检索精度。
实际应用
在实际应用中,Quarry直接服务于代码智能体的检索模块,尤其在代码搜索引擎、开发辅助工具及自动化编程助手中扮演关键角色。通过精准检索函数实现,该数据集可提升推荐系统对开发者意图的理解,支持代码复用、缺陷定位和跨项目知识迁移。其多语言覆盖特性使工业界能可靠地验证和部署检索模型,从而优化开发者的日常编码效率,并为大规模代码库的智能导航提供坚实的数据基础。
衍生相关工作
Quarry的发布催生了多项相关研究,包括高性能嵌入模型Muninn及其轻量级变体Muninn-small的研发,这些模型在Quarry基准上刷新了最优成绩。此外,基于该数据集,研究者探索了查询表示学习、文档结构设计(如SweRank)以及多阶段检索(从查询到任务、仓库、语言)的优化策略,进一步推动了检索增强生成(RAG)技术在代码领域的应用。这些衍生工作不仅验证了Quarry的实用性,也拓展了代码检索的研究方向。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务