ChatPaper.aiChatPaper

CodexGraph: Ligando Modelos de Linguagem Grandes e Repositórios de Código por meio de Bancos de Dados de Gráficos de Código

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

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

Resumo

Os Modelos de Linguagem de Grande Escala (LLMs) destacam-se em tarefas de código autónomo como HumanEval e MBPP, mas têm dificuldade em lidar com repositórios de código inteiros. Este desafio tem motivado pesquisas sobre aprimorar a interação LLM-repositório de código em escala de repositório. As soluções atuais dependem da recuperação baseada em similaridade ou de ferramentas manuais e APIs, cada uma com desvantagens notáveis. A recuperação baseada em similaridade frequentemente tem baixa recuperação em tarefas complexas, enquanto as ferramentas manuais e APIs são tipicamente específicas da tarefa e requerem conhecimento especializado, reduzindo sua generalizabilidade em diversas tarefas de código e aplicações do mundo real. Para mitigar essas limitações, apresentamos o \framework, um sistema que integra agentes LLM com interfaces de banco de dados de grafo extraídas de repositórios de código. Ao aproveitar as propriedades estruturais de bancos de dados de grafo e a flexibilidade da linguagem de consulta de grafo, o \framework permite que o agente LLM construa e execute consultas, permitindo a recuperação precisa, consciente da estrutura do código e navegação de código. Avaliamos o \framework usando três benchmarks: CrossCodeEval, SWE-bench e EvoCodeBench. Além disso, desenvolvemos cinco aplicações de codificação do mundo real. Com um esquema unificado de banco de dados de grafo, o \framework demonstra desempenho competitivo e potencial tanto em ambientes acadêmicos quanto no mundo real, mostrando sua versatilidade e eficácia em engenharia de software. Nossa demonstração de aplicação: 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