Code-Graph-RAG: motor de búsqueda de código basado en grafos de conocimiento
Code-Graph-RAG es un motor de búsqueda de código que combina grafos de conocimiento con la tecnología de Generación Aumentada por Recuperación (RAG), con el objetivo de mejorar la precisión en la búsqueda de código.

Funciones principales:
Compatible con repositorios de código en varios lenguajes como Python, JavaScript, TypeScript, Rust y Go
Análisis del Árbol de Sintaxis Abstracta (AST) entre lenguajes basado en Tree-sitter
Utiliza Memgraph para almacenar la estructura del código como un grafo interconectado
Permite consultas en lenguaje natural sobre el repositorio de código
Convierte lenguaje natural a consultas Cypher mediante Google Gemini
Permite recuperar directamente el código fuente real de funciones/métodos
Capaz de analizar pyproject.toml para examinar dependencias externas
Soporta el manejo de funciones anidadas y jerarquías de clases
Utiliza un diseño de esquema de grafo unificado para todos los lenguajes soportados
Principios técnicos:
Construcción del grafo de conocimiento: un modelo de lenguaje grande analiza el repositorio de código y extrae entidades como clases, funciones y sus relaciones (por ejemplo, herencia, dependencias) para construir un grafo interconectado. Por ejemplo, tras introducir la documentación del código, el sistema divide las unidades de texto, identifica la estructura del código y genera el grafo correspondiente.
Recuperación aumentada por grafos:
Recuperación de subgrafos: tras una pregunta del usuario, el sistema extrae entidades clave y amplía las rutas asociadas en el grafo (por ejemplo, vecindario de 3 saltos), generando un subgrafo coincidente. Por ejemplo, al consultar una función, se puede asociar con nodos de clases, módulos, etc. relacionados.
Estrategia de recuperación híbrida: combina la recuperación vectorial (como incrustaciones BERT) y la incrustación de grafos (como Node2Vec, TransE), determinando el resultado final mediante una fórmula ponderada (por ejemplo, Score=α⋅cos_sim(q,v)+β⋅graph_score(q,G)).
Arquitectura del sistema:
Analizador multilingüe: sistema de análisis de código e importación de datos basado en Tree-sitter
Sistema RAG: interfaz de consultas interactiva por línea de comandos
Los componentes principales incluyen:
Integración con Tree-sitter: análisis entre lenguajes
Base de datos de grafos: Memgraph almacena nodos y relaciones
Integración con LLM: Google Gemini procesa el lenguaje natural
Análisis de código: recorrido del AST entre lenguajes para extraer elementos del código
Herramientas de consulta: herramientas dedicadas de consulta de grafos y recuperación de código
Configuración de lenguajes: parámetros de mapeo multilingüe
Instalación y uso:
Requisitos previos: Python 3.12+, Docker y Docker Compose (Memgraph), clave de API de Google Gemini, gestor de paquetes uv
Pasos de instalación: clonar el repositorio → instalar dependencias → configurar variables de entorno → iniciar Memgraph
Flujo de uso: analizar el repositorio de código para generar el grafo de conocimiento → iniciar la CLI de RAG para realizar consultas interactivas
Escenarios de aplicación:
Análisis de código: comprensión rápida de la estructura del código, como consultar clases con un nombre específico o funciones relacionadas con bases de datos
Reutilización de código: obtención de fragmentos de código con coincidencia semántica mediante la descripción de necesidades en lenguaje natural, mejorando la eficiencia del desarrollo
Dirección del proyecto:
https://github.com/vitali87/code-graph-rag
Asistente de guiones▸
Apps AI
Noticias AI 