OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  论文  ›  abs/2303.12570

RepoCoder:基于迭代检索生成的仓库级代码补全

 
  bamboo ·  2025-11-17 07:04:37 · 11 次点击  · 0 条评论  

RepoCoder: 通过迭代检索与生成实现仓库级代码补全

作者: Fengji Zhang, Bei Chen, Yue Zhang, Jacky Keung, Jin Liu, Daoguang Zan, Yi Mao, Jian-Guang Lou, Weizhu Chen

提交/修订日期: 2023年3月22日提交,2023年10月20日修订 (v3)

摘要:
仓库级代码补全的任务是基于代码仓库的更广泛上下文来续写未完成的代码。然而,对于自动化代码补全工具而言,利用散布在不同文件中的有用信息是困难的。我们提出了 RepoCoder,一个简单、通用且有效的框架来应对这一挑战。它通过将基于相似性的检索器与预训练的代码语言模型结合到一个迭代的检索-生成流程中,简化了仓库级代码补全过程。RepoCoder 能够有效利用仓库级信息进行代码补全,并具备生成不同粒度代码的能力。此外,我们提出了一个新的基准测试 RepoEval,它由最新、高质量的真实世界仓库组成,涵盖了行级、API调用和函数体补全场景。实验结果表明,RepoCoder 在所有设置下均显著优于仅使用文件内上下文的基线方法,提升幅度超过10%,并且始终优于朴素的检索增强代码补全方法。此外,我们通过全面的分析验证了 RepoCoder 的有效性,为未来的研究提供了有价值的见解。我们的源代码和基准测试已公开。

主题/分类:
- 计算与语言 (cs.CL)
- 人工智能 (cs.AI)
- 编程语言 (cs.PL)
- 软件工程 (cs.SE)

备注: 已被 EMNLP 2023 主会议接收。

资源链接: GitHub 仓库

11 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 40 ms
Developed with Cursor