RepoMasterEval:通过现实世界的代码仓库评估代码自动补全
内容提要
该研究提出了 RepoBench 基准,用于评估代码自动完成系统的能力,包括检索、代码完成和复杂任务处理。测试显示大型语言模型在真实代码库中的编码能力存在缺陷。研究还介绍了 RepoCoder 框架和 R2C2-Coder 方法,以提高代码补全能力,并强调跨文件上下文的重要性。此外,提出了 RepoClassBench 基准,评估 LLMs 在创建复杂类级代码时的表现,强调结合库级依赖关系以反映软件开发的复杂性。
关键要点
-
RepoBench 是一个新基准,评估代码自动完成系统的能力,包括检索、代码完成和复杂任务处理。
-
研究发现,流行的大型语言模型在真实代码库中的编码能力存在缺陷。
-
RepoCoder 框架结合了基于相似度的检索器和预训练的代码语言模型,显著提高了代码补全能力。
-
R2C2-Coder 方法增强了真实世界的代码仓库级代码补全能力,强调跨文件上下文的重要性。
-
RepoClassBench 基准用于评估 LLMs 在创建复杂类级代码时的表现,强调结合库级依赖关系以反映软件开发的复杂性。
延伸问答
RepoBench 是什么?
RepoBench 是一个新基准,用于评估代码自动完成系统的能力,包括检索、代码完成和复杂任务处理。
研究发现大型语言模型在代码补全方面存在哪些缺陷?
研究发现流行的大型语言模型在真实代码库中的编码能力存在缺陷,特别是在处理复杂任务时。
RepoCoder 框架是如何提高代码补全能力的?
RepoCoder 框架结合了基于相似度的检索器和预训练的代码语言模型,显著提高了代码补全能力。
R2C2-Coder 方法的主要特点是什么?
R2C2-Coder 方法增强了真实世界的代码仓库级代码补全能力,强调跨文件上下文的重要性。
RepoClassBench 基准的目的是什么?
RepoClassBench 基准用于评估大型语言模型在创建复杂类级代码时的表现,强调结合库级依赖关系。
如何评估大型语言模型在代码生成中的能力?
评估大型语言模型在代码生成中的能力需要使用真实数据和适当的基准测试,如 RepoBench 和 RepoClassBench。