five

Libra

收藏
Hugging Face2026-05-01 更新2026-05-02 收录
下载链接:
https://huggingface.co/datasets/Salesforce/Libra
下载链接
链接失效反馈
官方服务:
资源简介:
Libra数据集是为Libra信息浏览与检索代理(一种自进化的代码定位目录系统)提供的训练和评估数据。该数据集的核心理念是优化环境而非代理,即通过迭代优化层次化的Markdown目录来指导固定的定位代理进行代码导航。数据集包含13种配置,分为两大类:Prompter配置(12个仓库)和SWE-bench评估配置。Prompter配置包含由Prompter代理生成的合成代码定位问答对,每个实例通过从仓库中随机采样约100行代码块并生成需要定位相关文件和函数的现实查询(如错误报告、功能问题等)。SWE-bench评估配置则包含来自SWE-bench Lite的真实错误报告,并增加了用于评估定位代理的金牌文件和函数标签。数据集总计包含86,389个训练实例和3,287个测试实例。数据集的生成过程涉及Prompter代理随机采样代码块并生成查询,同时记录金牌标签。数据集仅供研究使用,并附有伦理和非竞争性免责声明。

The Libra dataset is training and evaluation data for the Libra information browsing and retrieval agent, a self-evolving code localization catalog system. The core idea of the dataset is optimize the environment, not the agent, which means guiding a fixed localization agent for code navigation by iteratively optimizing hierarchical Markdown catalogs. The dataset contains 13 configurations, divided into two main categories: Prompter configurations (12 repositories) and SWE-bench evaluation configurations. Prompter configurations include synthetic code localization Q&A pairs generated by the Prompter agent, with each instance created by randomly sampling approximately 100 lines of code blocks from repositories and generating realistic queries (such as bug reports, feature issues, etc.) that require locating relevant files and functions. The SWE-bench evaluation configurations include real bug reports from SWE-bench Lite, augmented with gold file and function labels for evaluating localization agents. The dataset contains a total of 86,389 training instances and 3,287 test instances. The generation process involves the Prompter agent randomly sampling code blocks and generating queries while recording gold labels. The dataset is for research use only and comes with ethical and non-competitive disclaimers.
提供机构:
Salesforce
创建时间:
2026-05-01
原始信息汇总

Libra 数据集概述

数据集简介

Libra(Libra Information Browsing and Retrieval Agent)是一个用于代码定位任务的自我进化目录系统训练与评估数据集。其核心思想是“优化环境而非代理”——通过迭代优化分层Markdown目录来引导固定定位代理的代码导航,每次定位失败都会驱动Healer代理进行目录改进。

数据集结构

数据集包含 13 个配置,分为两类:

1. Prompter 配置(12 个仓库)

由Prompter代理生成的合成代码定位问答对。每个实例通过从仓库中随机采样约100行代码片段,并生成需要定位相关文件和函数的真实质询(如错误报告、功能问题、行为澄清等)。

数据规模:

配置 训练集 测试集
prompter_astropy 4,670 300
prompter_django 9,543 300
prompter_flask 897 99
prompter_matplotlib 9,042 300
prompter_pylint 4,601 300
prompter_pytest 4,694 300
prompter_requests 1,998 222
prompter_seaborn 2,401 266
prompter_sklearn 9,589 300
prompter_sphinx 4,624 300
prompter_sympy 29,653 300
prompter_xarray 4,677 300
总计 86,389 3,287

列字段说明:

列名 类型 描述
instance_id string 与源SWE-bench实例关联的唯一标识符
problem_statement string Prompter生成的合成质询(错误报告、功能问题等)
gold_files string 需要编辑的真实文件路径
gold_functions string 需要编辑的真实函数
gold_reasoning string 解释为何该文件/函数是正确目标的推理过程
chunk_content string Prompter用于生成问题的源代码块
line_numbers string 采样代码块的行号范围
is_valid_chunk bool 代码块是否有效用于问题生成

2. SWE-bench 评估配置

来自SWE-bench Lite的真实错误报告,增加了真实文件和函数标签,用于评估定位代理。

配置 测试集
SWE-bench_Lite_Libra 199

列字段: instance_id, repo, base_commit, problem_statement, hints_text, patch, test_patch, gold_files, gold_functions, FAIL_TO_PASS, PASS_TO_PASS, version, environment_setup_commit

数据生成方式

Prompter代理(基于Claude)通过以下步骤生成每个问答对:

  1. 从目标仓库中随机采样一个代码块
  2. 阅读该代码块并构造一个开发者可能提交的真实质询(错误报告、功能问题、行为澄清等)
  3. 记录真实文件和函数作为黄金标签

Prompter可直接访问源代码(无需检索),与必须通过目录导航找到答案的定位代理之间形成信息不对称——这种不对称性构成了训练信号:定位代理每答错一个问题,就揭示了一个目录缺陷,由Healer代理进行修复。

许可与免责

  • 许可协议: cc-by-nc-4.0
  • 用途声明: 仅用于研究目的,支持学术论文
  • 伦理声明: 模型、数据集和代码未针对所有下游用途进行专门设计或评估,建议用户在使用前评估准确性、安全性和公平性相关问题
  • 竞争限制: 本数据集不应用于开发与Anthropic竞争模型
搜集汇总
数据集介绍
main_image_url
构建方式
Libra数据集的构建依托于Prompter智能体,该智能体基于Claude模型,通过从目标代码仓库中随机抽取约100行代码片段,模拟开发者可能提出的真实问题(如bug报告、功能疑问或行为澄清等),生成相应的查询与答案对。每个样本均包含ground-truth的文件路径与函数名作为标签,形成信息不对称的训练信号。该数据集涵盖12个主流开源Python仓库的Prompter配置,总计86,389个训练样本与3,287个测试样本,同时包含199个来自SWE-bench Lite的真实bug报告评估配置。
使用方法
利用HuggingFace的datasets库可轻松加载Libra数据集,例如通过load_dataset('Salesforce/Libra', 'prompter_sympy')加载单个仓库的Prompter数据,获取训练集与测试集;或通过load_dataset('Salesforce/Libra', 'SWE-bench_Lite_Libra', split='test')加载SWE-bench评估集。每个配置均提供统一的列结构,包括instance_id、problem_statement、gold_files等字段,便于直接用于代码定位智能体的训练与评估。该数据集仅限研究用途,使用时需遵守CC-BY-NC-4.0许可协议。
背景与挑战
背景概述
Libra数据集由Salesforce研究团队于近期创建,旨在解决代码定位这一软件工程中的核心难题。该数据集围绕Libra(Libra信息浏览与检索智能体)系统设计,其核心洞见在于“优化环境而非智能体”:通过迭代优化一个层级化的Markdown目录(Catalog),引导一个冻结的定位智能体(Locator agent)进行代码导航。Libra数据集的发布为代码定位领域提供了大规模、高质量的合成问答对与真实缺陷报告评估集,推动了从提示工程转向环境优化的新范式,对代码检索与自动化调试研究具有重要影响。
当前挑战
Libra数据集所应对的领域挑战是代码定位问题,即如何精准地根据自然语言描述(如缺陷报告、功能提问)定位到代码仓库中的相关文件和函数。这一任务长期受困于代码语义的复杂性与项目结构的变化性。在构建过程中,挑战主要体现在两方面:一是合成数据生成需确保问答对的真实性,通过信息不对称(Prompter直接访问源码而Locator仅能查阅目录)来模拟真实检索场景;二是评估集采用SWE-bench Lite中的真实缺陷报告,需手工标注金标文件与函数,确保评估的可靠性与代表性。
常用场景
经典使用场景
在软件工程与代码智能化领域,Libra数据集被广泛用于代码定位任务的训练与评估。该数据集通过构建12个主流开源仓库(如Astropy、Django、scikit-learn等)的合成代码定位问答对,以及基于SWE-bench Lite的真实缺陷报告评估子集,为开发能够自动定位代码库中相关文件和函数的智能体提供了标准化训练数据。其设计巧妙之处在于利用信息不对称机制——Prompter生成问题时可访问全部源代码,而Locator只能通过分层Markdown目录导航,从而迫使模型学习有效的代码组织结构理解能力。
解决学术问题
Libra数据集开创性地解决了代码定位系统中环境优化而非智能体调参的学术问题。传统研究聚焦于改进检索算法或提示工程,而Libra通过迭代精炼分层Markdown目录来引导冻结的定位智能体,将每次定位失败转化为目录改进信号。这种范式转换揭示了环境结构优化对于代码导航任务的重要性,为后续研究提供了评估智能体与代码环境协同进化的基准,推动了软件维护自动化中从建模智能体自身到建模智能体-环境交互的认知跃迁。
实际应用
在实际工程场景中,Libra数据集赋能的企业级代码定位系统能够显著提升开发效率。当开发者面对大型代码库中的缺陷修复、功能理解或行为澄清需求时,基于Libra训练的智能体可快速定位到问题涉及的正确文件和函数,减少人工代码审查的时间成本。特别适用于持续集成流水线中的自动缺陷根因分析、遗留代码的文档化理解、以及新人入职时的代码库导航辅助等场景,使开发团队能将更多精力投入到创造性编程任务中。
数据集最近研究
最新研究方向
Libra数据集聚焦于代码定位任务的自我进化式目录系统研究,通过优化环境而非智能体本身来提升代码导航效率。其核心创新在于引入分层Markdown目录结构,使冻结的定位智能体能够在该目录引导下精准定位代码位置,而每次定位失败则驱动修复智能体优化目录内容,形成闭环迭代。该数据集包含86,389条合成代码定位问答对及199个真实SWE-bench评估实例,覆盖12个知名开源仓库,为代码理解与调试领域提供了全新的训练与评估范式。与当前大语言模型代码生成热潮不同,Libra开创性地探索了代码检索与定位的强化学习路径,对提升软件维护效率、降低Bug修复成本具有重要实践意义,也引发了学术界对智能体环境设计而非模型调优的重新思考。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作