CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases

2024年08月07日
  • 简介
    大型语言模型(LLMs)在像HumanEval和MBPP这样的独立代码任务中表现出色,但在处理整个代码库方面存在困难。这个挑战促使研究人员开展研究,以增强LLM-代码库在存储库规模上的交互。目前的解决方案依赖于基于相似性的检索或手动工具和API,每种方法都有明显的缺点。基于相似性的检索在复杂任务中往往具有较低的召回率,而手动工具和API通常是特定于任务的,并需要专业知识,降低了它们在各种代码任务和实际应用中的通用性。为了缓解这些限制,我们介绍了CodexGraph,这是一个将LLM代理与从代码库中提取的图数据库接口集成的系统。通过利用图数据库的结构特性和图查询语言的灵活性,CodexGraph使LLM代理能够构建和执行查询,从而实现精确的、代码结构感知的上下文检索和代码导航。我们使用三个基准测试来评估CodexGraph:CrossCodeEval、SWE-bench和EvoCodeBench。此外,我们开发了五个真实的编码应用程序。通过一个统一的图数据库模式,CodexGraph在学术和实际环境中展示了竞争性的性能和潜力,展示了它在软件工程中的多功能性和有效性。我们的应用程序演示链接为:https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent。
  • 图表
  • 解决问题
    该论文旨在解决LLM在处理整个代码库时的困难,并提出了一种新的方案来增强LLM与代码库的交互。
  • 关键思路
    该论文提出了CodexGraph系统,将LLM代理与从代码库中提取的图形数据库接口集成。通过利用图形数据库的结构属性和图形查询语言的灵活性,CodexGraph使LLM代理能够构建和执行查询,从而实现精确的代码结构感知上下文检索和代码导航。
  • 其它亮点
    该论文使用三个基准测试和五个真实世界的编码应用程序对CodexGraph进行了评估,并展示了其在软件工程中的通用性和功效。他们还开源了应用程序代码。
  • 相关研究
    最近的相关研究包括使用相似性检索或手动工具和API的解决方案。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论