ChatPaper.aiChatPaper

CodexGraph: Связь между крупными языковыми моделями и репозиториями кода через графовые базы данных кода

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

August 7, 2024
Авторы: Xiangyan Liu, Bo Lan, Zhiyuan Hu, Yang Liu, Zhicheng Zhang, Wenmeng Zhou, Fei Wang, Michael Shieh
cs.AI

Аннотация

Большие языковые модели (LLM) отлично справляются с самостоятельными задачами кода, такими как HumanEval и MBPP, но испытывают трудности с обработкой целых репозиториев кода. Эта проблема стимулировала исследования по улучшению взаимодействия LLM с кодовыми базами на уровне репозитория. Существующие решения опираются на поиск на основе сходства или на ручные инструменты и API, каждый из которых имеет существенные недостатки. Поиск на основе сходства часто характеризуется низким уровнем полноты при выполнении сложных задач, в то время как ручные инструменты и API обычно ориентированы на конкретные задачи и требуют экспертных знаний, что снижает их обобщаемость на разнообразные задачи кода и прикладные сценарии в реальном мире. Для преодоления этих ограничений мы представляем \framework, систему, которая интегрирует агентов LLM с интерфейсами графовых баз данных, извлеченных из репозиториев кода. Используя структурные свойства графовых баз данных и гибкость языка запросов к графам, \framework позволяет агенту LLM создавать и выполнять запросы, обеспечивая точное извлечение контекста, осведомленного о структуре кода, и навигацию по коду. Мы оцениваем \framework с помощью трех бенчмарков: CrossCodeEval, SWE-bench и EvoCodeBench. Кроме того, мы разрабатываем пять прикладных приложений для кодирования в реальном мире. С унифицированной схемой графовой базы данных \framework демонстрирует конкурентоспособную производительность и потенциал как в академической среде, так и в реальных приложениях, показывая свою универсальность и эффективность в области инженерии программного обеспечения. Наше демонстрационное приложение: 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