ChatPaper.aiChatPaper

CodexGraph : Relier les grands modèles de langage et les dépôts de code via des bases de données de graphes de code

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

August 7, 2024
Auteurs: Xiangyan Liu, Bo Lan, Zhiyuan Hu, Yang Liu, Zhicheng Zhang, Wenmeng Zhou, Fei Wang, Michael Shieh
cs.AI

Résumé

Les modèles de langage de grande taille (LLMs) excellent dans les tâches de code autonomes comme HumanEval et MBPP, mais peinent à gérer des dépôts de code entiers. Ce défi a stimulé la recherche sur l'amélioration de l'interaction entre les LLMs et les bases de code à l'échelle d'un dépôt. Les solutions actuelles reposent sur la récupération basée sur la similarité ou sur des outils et API manuels, chacune présentant des inconvénients notables. La récupération basée sur la similarité a souvent un faible rappel dans les tâches complexes, tandis que les outils et API manuels sont généralement spécifiques à une tâche et nécessitent des connaissances expertes, limitant leur généralisabilité à travers diverses tâches de code et applications réelles. Pour atténuer ces limitations, nous introduisons \framework, un système qui intègre des agents LLM avec des interfaces de bases de données graphiques extraites des dépôts de code. En exploitant les propriétés structurelles des bases de données graphiques et la flexibilité du langage de requête graphique, \framework permet à l'agent LLM de construire et d'exécuter des requêtes, permettant une récupération de contexte précise et consciente de la structure du code, ainsi qu'une navigation dans le code. Nous évaluons \framework à l'aide de trois benchmarks : CrossCodeEval, SWE-bench et EvoCodeBench. De plus, nous développons cinq applications de codage réelles. Avec un schéma de base de données graphique unifié, \framework démontre des performances compétitives et un potentiel à la fois dans les environnements académiques et réels, mettant en avant sa polyvalence et son efficacité dans l'ingénierie logicielle. Notre démonstration d'application est disponible ici : https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent.
English
Large Language Models (LLMs) excel in stand-alone code tasks like HumanEval and MBPP, but struggle with handling entire code repositories. This challenge has prompted research on enhancing LLM-codebase interaction at a repository scale. Current solutions rely on similarity-based retrieval or manual tools and APIs, each with notable drawbacks. Similarity-based retrieval often has low recall in complex tasks, while manual tools and APIs are typically task-specific and require expert knowledge, reducing their generalizability across diverse code tasks and real-world applications. To mitigate these limitations, we introduce \framework, a system that integrates LLM agents with graph database interfaces extracted from code repositories. By leveraging the structural properties of graph databases and the flexibility of the graph query language, \framework enables the LLM agent to construct and execute queries, allowing for precise, code structure-aware context retrieval and code navigation. We assess \framework using three benchmarks: CrossCodeEval, SWE-bench, and EvoCodeBench. Additionally, we develop five real-world coding applications. With a unified graph database schema, \framework demonstrates competitive performance and potential in both academic and real-world environments, showcasing its versatility and efficacy in software engineering. Our application demo: https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent.

Summary

AI-Generated Summary

PDF182November 28, 2024