repository-learning
收藏Hugging Face2025-07-30 更新2025-07-31 收录
下载链接:
https://huggingface.co/datasets/kotlarmilos/repository-learning
下载链接
链接失效反馈官方服务:
资源简介:
本数据集是从GitHub仓库中提取的训练数据,用于训练理解仓库特定代码审查模式并提供上下文反馈的AI模型。数据集支持三种主要的机器学习任务:对比学习、微调和语义索引。数据集包含对比学习数据、微调数据和语义索引数据,分别用于学习代码文件之间的语义关系、适应特定仓库的审查模式和惯例、以及实现跨仓库函数和文档的快速语义搜索。
创建时间:
2025-07-29
原始信息汇总
Repository Learning Training Dataset 概述
数据集基本信息
- 名称: Repository learning training dataset
- 许可证: MIT
- 语言: 英语 (en)
- 数据规模: 10K<n<100K
- 标签: code-review, github-data, contrastive-learning, fine-tuning, semantic-indexing, multi-modal, jsonl, faiss-index, tree-sitter
数据集用途
- 支持三种主要机器学习任务: 对比学习、微调和语义索引
- 训练能够理解仓库特定代码审查模式并提供上下文反馈的AI模型
数据来源
- GitHub仓库,具有丰富的拉取请求历史和审查评论
数据集结构
{repository-name}/ ├── contrastive/ # 对比学习数据 ├── fine_tune/ # 微调数据 ├── index/ # 语义索引数据 └── manifest.json # 处理元数据
数据组件详情
1. 对比学习数据 (/contrastive/)
- 格式: JSON文件
- 目的: 基于变更模式学习代码文件之间的语义关系
- 示例结构: json { "pr_12345": ["file1.tsx", "file2.css"], "pr_12346": ["file3.py", "file4.py"] }
2. 微调数据 (/fine_tune/)
- 格式: JSONL文件
- 目的: 使语言模型适应仓库特定的审查模式和约定
- 示例结构: json { "prompt": "Code diff...", "completion": "Review comment..." }
3. 语义索引数据 (/index/)
- 格式: JSON元数据
- 目的: 实现跨仓库函数和文档的快速语义搜索
- 示例结构: json { "file": "src/utils/parser.py", "name": "parse_diff_hunk", "code": "def parse_diff_hunk(...)" }
数据统计
| 仓库 | PRs | 审查评论 | 函数 | 语言 |
|---|---|---|---|---|
| dotnet/xharness | 100 | 50 | 1500 | C# |
| dotnet/runtime | N/A | N/A | N/A | C#, c, c++ |
使用说明
使用本数据集时请参考: https://github.com/kotlarmilos/repository-learning
搜集汇总
数据集介绍

构建方式
在代码审查智能化研究领域,该数据集通过系统化采集GitHub开源仓库的拉取请求历史与审查评论构建而成。采用多阶段处理流程,首先基于代码变更模式提取共变文件组作为对比学习样本,随后通过解析代码审查对话构建指令微调数据,最后利用树解析器(Tree-sitter)从抽象语法树中提取函数元数据。所有数据均经过机器生成与专家复核的双重验证机制,确保数据质量与可靠性。
特点
该数据集具备多模态与多任务特性,涵盖对比学习、指令微调与语义索引三大核心功能。其独特价值在于融合了代码差异上下文、时序性对话记录及仓库特定模式,通过JSON与JSONL格式高效组织数据。每个样本均包含完整的代码审查语境,包括变更文件关联、多轮讨论记录及函数级元数据,支持跨编程语言的语义分析与模式挖掘,为代码理解模型提供丰富的监督信号。
使用方法
研究者可分别利用contrastive目录下的共变文件组进行代码表示对比学习,通过fine_tune目录的指令-回复对微调语言模型以适应特定仓库的审查规范,并借助index目录的函数元数据构建语义检索系统。数据集支持FAISS索引加速相似性搜索,适用于代码检索、自动审查生成及跨仓库知识迁移等任务。使用前需参考原始GitHub仓库的预处理脚本确保数据加载与格式解析的正确性。
背景与挑战
背景概述
随着软件工程领域的持续演进,代码审查作为保障软件质量的关键环节,日益受到学术界与工业界的重视。repository-learning数据集由GitHub开源社区于2023年推出,主要研究团队包括Milos Kotlar等研究者,其核心目标在于解决代码审查过程中的上下文感知与语义理解问题。该数据集通过整合多模态代码变更数据、拉取请求历史及审查评论,为训练具备仓库特定模式识别能力的AI模型提供了重要基础,显著推动了智能代码辅助工具与自动化审查系统的发展。
当前挑战
该数据集致力于应对代码审查自动化中的语义鸿沟与上下文缺失问题,其构建面临多重挑战:首先是如何从异构的GitHub仓库中提取具有代表性和一致性的代码变更与审查数据,需处理多种编程语言和项目结构的复杂性;其次,在构建对比学习样本时,需准确识别正负样本对,避免噪声引入;此外,AST解析与代码嵌入的生成需跨语言适配,且需保持语义索引的高效性与准确性。最后,数据隐私与开源许可的合规性亦是不可忽视的约束。
常用场景
经典使用场景
在代码审查智能化研究领域,该数据集通过精心构建的对比学习框架,为模型训练提供了丰富的代码变更模式语义关系。研究者可利用正负样本对训练深度神经网络,使模型能够识别协同修改的代码文件之间的潜在关联,这种设计显著提升了模型对仓库特定上下文的感知能力。
解决学术问题
该数据集有效解决了代码审查场景中的语境缺失问题,通过多模态数据融合和语义索引技术,为学术研究提供了跨文件语义关联的量化分析基础。其价值体现在突破了传统代码分析局限于语法层面的瓶颈,推动了基于语义理解的智能审查模型发展,为软件工程领域的自动化质量保障研究开辟了新方向。
衍生相关工作
基于该数据集衍生的经典工作包括跨模态代码检索系统、智能审查生成模型和语义化代码推荐引擎。这些研究突破性地将对比学习与代码分析结合,催生了诸如Context-Aware Code Review Transformer等创新架构,为后续的仓库级别代码理解研究奠定了方法论基础。
以上内容由遇见数据集搜集并总结生成



