NodeRAG: una herramienta basada en grafos heterogéneos para la recuperación y generación de información precisa

Introducción general

NodeRAG es un sistema de código abierto Retrieval Augmented Generation (RAG) alojado en GitHub y desarrollado por Terry-Xu-666, que optimiza la recuperación y generación de información a través de estructuras de grafos heterogéneos para mejorar significativamente la precisión de la recuperación y la relevancia contextual. Optimiza la recuperación y generación de información a través de estructuras de grafos heterogéneos, mejorando significativamente la precisión de la recuperación y la relevancia contextual.NodeRAG soporta el despliegue local y proporciona interfaces fáciles de usar y herramientas de visualización para la investigación académica, la gestión del conocimiento y el análisis de datos. La primera versión estable del proyecto (v0.1.0) se publicará en marzo de 2025 y puede instalarse a través de PyPI. La documentación oficial es exhaustiva y la comunidad es activa y está al día. En comparación con los RAG NodeRAG obtiene mejores resultados en razonamiento multisalto, velocidad de recuperación y eficiencia de almacenamiento, y es especialmente adecuado para procesar conjuntos de datos complejos.

NodeRAG:基于异构图的精准信息检索与生成工具

 

Lista de funciones

  • Estructura de grafos heterogénea: admite varios tipos de nodos (por ejemplo, documentos, entidades, palabras clave) para mejorar la precisión de la recuperación.
  • Búsqueda precisa: el razonamiento multisalto y las consultas contextualmente relevantes se soportan mediante la descomposición, el aumento, el enriquecimiento y la búsqueda de grafos.
  • Visualización de datos: proporciona una visualización gráfica interactiva de la estructura para facilitar la comprensión de relaciones complejas entre datos.
  • Interfaz de despliegue local: admite el funcionamiento local y ofrece una experiencia intuitiva de interacción con el usuario.
  • Instalación multiplataforma: Soporta instalación Conda, Docker y PyPI, compatible con múltiples entornos.
  • Actualización incremental: admite la actualización dinámica de la estructura de grafos sin necesidad de reconstruir toda la base de datos de grafos.
  • Optimización de alto rendimiento: indexación y consulta rápidas para el tratamiento de conjuntos de datos a gran escala.
  • Documentación abierta: ofrece tutoriales detallados, ejemplos de código y documentos académicos para facilitar el aprendizaje.

 

Utilizar la ayuda

Proceso de instalación

NodeRAG soporta una variedad de métodos de instalación. A continuación se describen los pasos para la instalación a través de Conda y PyPI. Asegúrese de que Python 3.10 o posterior está instalado en su sistema.

1. Instalación a través de Conda

  1. Creación de un entorno virtual
    Abre un terminal y ejecuta el siguiente comando para crear y activar un entorno Conda:

    conda create -n NodeRAG python=3.10
    conda activate NodeRAG
  1. Clonar código base (opcional)
    Si necesitas el código fuente o una versión de desarrollo, puedes clonarlo desde GitHub:

    git clone https://github.com/Terry-Xu-666/NodeRAG.git
    cd NodeRAG
    
  2. Instalación de dependencias
    En el directorio del proyecto, ejecute el siguiente comando para instalar las dependencias:

    pip install -r requirements.txt
    

    Las dependencias incluyen networkx(Funcionamiento de la figura),numpy(cálculos numéricos),flask(interfaz web), etc.

  3. Instalación de NodeRAG
    Si no has clonado el código base, puedes instalarlo directamente desde PyPI:

    pip install NodeRAG
    
  4. Ejecución de la interfaz local
    Ejecute el siguiente comando para iniciar la interfaz web local:

    python -m NodeRAG.app
    

    Abra su navegador y visite http://localhost:5000La interfaz NodeRAG es accesible.

2. Instalación acelerada mediante uv (opcional)

Para aumentar la velocidad de instalación, utilice la función uv Herramientas:

  1. montaje uv::
    pip install uv
    
  2. utilizar uv Instala NodeRAG:
    uv pip install NodeRAG
    

3. Verificación de la instalación

Tras iniciar la interfaz, cargue el conjunto de datos de ejemplo proporcionado oficialmente (ubicado en la carpeta data/sample catálogo o documentación en línea), compruebe que la visualización del diagrama se muestra correctamente. Si tiene algún problema, consulte las FAQ oficiales.

Utilización de las funciones principales

El núcleo de NodeRAG reside en la construcción, recuperación y generación de grafos heterogéneos. A continuación se describe detalladamente el proceso de funcionamiento.

1. Construcción de mapas heterogéneos

NodeRAG utiliza grafos heterogéneos para almacenar datos, y los tipos de nodos incluyen documentos, entidades, palabras clave, etc. Los usuarios deben preparar los datos en formato JSON o CSV con texto y metadatos (por ejemplo, título, autor). Pasos:

  • Acceda a la interfaz web y haga clic en "Importar datos".
  • Seleccione el archivo de datos y defina el tipo de nodo (por ejemplo, "Documento") y la relación de borde (por ejemplo, "Documento-Palabra clave").
  • Haga clic en "Construir diagrama", el sistema genera la estructura del diagrama y la guarda en la base de datos local.
    Ejemplo: importar un conjunto de datos de artículos académicos, el sistema extrae títulos, autores, palabras clave y genera un grafo de conocimiento.

2. Recuperación de información ejecutiva

La recuperación de NodeRAG se basa en un algoritmo de búsqueda de grafos y admite el razonamiento multisalto. Pasos del funcionamiento:

  • Introduzca una consulta en la interfaz, como "Deep Learning in Healthcare".
  • Seleccione la profundidad de la búsqueda (se recomiendan 2-3 saltos) y haga clic en "Buscar".
  • El sistema devuelve nodos, aristas y rutas relevantes, demostrando las relaciones contextuales.
  • Los resultados se presentan en forma de lista y gráfico, y los usuarios pueden hacer clic en los nodos para ver los detalles.
    La búsqueda admite consultas complejas, como combinaciones de varios criterios o búsquedas cruzadas.

3. Generación de contenidos

NodeRAG genera respuestas contextualmente relevantes en conjunción con el Big Model. Pasos operativos:

  • En la pantalla de resultados de la búsqueda, haga clic en "Generar respuesta".
  • El sistema genera texto basado en los nodos recuperados invocando el modelo big.
  • Parámetros ajustables por el usuario (por ejemplo temperatureymax_tokens) controla el estilo de salida.
    Ejemplo: La consulta "Avances recientes en computación cuántica" genera una respuesta que incluye los últimos avances en investigación.

4. Visualización de datos

NodeRAG proporciona herramientas interactivas de visualización de gráficos para ayudar a los usuarios a analizar visualmente las relaciones entre los datos. Pasos de la operación:

  • Seleccione "Visualización de gráficos" en la interfaz.
  • El sistema muestra los nodos y aristas del gráfico y permite ampliar, arrastrar y filtrar.
  • Haga clic en un nodo para ver los atributos (por ejemplo, contenido de texto) y haga clic en una arista para ver el tipo de relación.
    Esta función es adecuada para explorar conjuntos de datos complejos, como grafos de conocimiento y redes sociales.

5. Actualización incremental

NodeRAG admite la actualización dinámica de la estructura del grafo sin necesidad de reconstruir todo el grafo. Pasos de la operación:

  • Seleccione "Actualización incremental" en la pantalla.
  • Cargue nuevos archivos de datos y el sistema los integrará automáticamente en la estructura de diagramas existente.
  • Tras la actualización, vuelva a ejecutar la consulta para verificar los resultados.
    Esta función es adecuada para escenarios de actualización continua, como bases de datos de noticias o repositorios de documentos corporativos.

6. Configuración personalizada

Los usuarios avanzados pueden editar el config.yaml El archivo ajusta la estructura del gráfico y los parámetros del algoritmo, como los pesos de los nodos, los tipos de aristas y la profundidad de recuperación. Después de la modificación, ejecute el siguiente comando para volver a cargar:

python -m NodeRAG.reload_config

Función destacada Operación

La estructura de grafos heterogéneos de NodeRAG es su punto fuerte, ya que optimiza la recuperación y la generación mediante los cuatro pasos siguientes:

  • descomposición gráfica : Divida las consultas complejas en subtareas y asígnelas a distintos tipos de nodos.
  • mejora gráfica : Relaciones implícitas complementarias entre nodos para mejorar la integridad contextual.
  • Enriquecimiento de gráficos Integrar conocimientos externos (por ejemplo, conjuntos de datos disponibles públicamente) en el gráfico.
  • búsqueda de imágenes : Utiliza algoritmos eficientes para localizar rápidamente los nodos relevantes.
    Procedimiento operativo:
  • Active "Graph Enhancement" o "Graph Enrichment" en la "Configuración avanzada" de la interfaz.
  • Tras introducir una consulta, el sistema aplica automáticamente estos pasos para generar resultados más precisos.
    Estas características mejoran significativamente el razonamiento multisalto y son adecuadas para el análisis de problemas complejos.

Preguntas frecuentes

  • fallo de instalación Compruebe la versión de Python (se requiere 3.10+) y la conexión de red. Utilice una fuente espejo doméstica para acelerar la instalación:
pip install NodeRAG -i https://pypi.tuna.tsinghua.edu.cn/simple
  • La interfaz es inaccesible Agradecimiento NodeRAG.app se está ejecutando, compruebe si el puerto 5000 está ocupado.
  • Resultados de búsqueda imprecisos Optimice los datos de entrada (asegúrese de que los metadatos están completos) o aumente la profundidad de la búsqueda.
  • Problemas de integración de grandes modelos : en config.yaml La API del modelo o la ruta del modelo local están correctamente configuradas en el
    Encontrará más preguntas en la documentación oficial:NodeRAG_web.

nota complementaria

  • Preparación de datos Datos de entrada: Los datos de entrada deben estar estructurados, se recomienda el formato JSON, que contiene content(texto) y metadata(Metadatos).
  • optimización del rendimiento NodeRAG utiliza un algoritmo y un mecanismo de indexación unificados, y los tiempos de respuesta a las consultas suelen ser del orden de segundos, incluso cuando se trata de conjuntos de datos a gran escala.
  • Apoyo comunitario El repositorio GitHub ofrece una página de incidencias en la que los usuarios pueden enviar incidencias o participar en debates.

 

escenario de aplicación

  1. investigación académica
    Los investigadores pueden utilizar NodeRAG para organizar los datos bibliográficos y construir un grafo de relaciones de tesis. Tras importar el conjunto de datos de la tesis, el sistema extrae palabras clave, autores y relaciones de citas para generar un grafo de conocimiento. Los usuarios pueden consultar el tema de investigación, obtener bibliografía relacionada y un análisis contextual, adecuado para la revisión bibliográfica o la planificación de asignaturas.
  2. Gestión del conocimiento empresarial
    Las empresas pueden utilizar NodeRAG para gestionar documentos internos y crear una base de conocimientos. Tras importar documentos técnicos e informes de proyectos, el sistema genera un diagrama de relaciones entre documentos. Los empleados pueden buscar información rápidamente y mejorar la eficacia del intercambio de conocimientos, lo que resulta idóneo para equipos técnicos o la colaboración entre departamentos.
  3. Análisis y visualización de datos
    Los analistas de datos pueden utilizar NodeRAG para analizar conjuntos de datos complejos, como datos de redes sociales o de relaciones con clientes. El sistema ayuda a descubrir patrones ocultos mediante la visualización de conexiones de datos a través de gráficos, y es adecuado para el análisis de mercados, la evaluación de riesgos o el desarrollo de sistemas de recomendación.
  4. Tratamiento de la información en tiempo real
    La función de actualización incremental de NodeRAG es idónea para procesar datos dinámicos, como noticias o contenidos de redes sociales. Los usuarios pueden importar continuamente nuevos datos y el sistema actualiza automáticamente la estructura del gráfico para mantener al día los resultados de la búsqueda.

 

CONTROL DE CALIDAD

  1. ¿Qué formatos de datos admite NodeRAG?
    Se admiten los formatos JSON, CSV y TXT. Se recomienda JSON y requiere la inclusión de content(texto) y metadata(por ejemplo, autor, fecha).
  2. ¿Cómo mejorar la precisión de las búsquedas?
    Asegúrese de que los datos contienen metainformación enriquecida, permita la mejora o el enriquecimiento de los grafos y aumente la profundidad de la búsqueda según convenga (2-3 saltos).
  3. ¿NodeRAG admite actualizaciones en directo?
    Admite actualizaciones incrementales, los usuarios pueden cargar nuevos datos para actualizar dinámicamente la estructura del gráfico sin necesidad de reconstruirlo por completo.
  4. ¿Se necesita un gran modelo de apoyo?
    NodeRAG puede integrarse con modelos como LLaMA, GPT, etc. Requiere el uso del config.yaml Configurar las API del modelo o las rutas locales en el
  5. ¿Cómo puedo ver las referencias de rendimiento?
    La documentación oficial proporciona gráficos comparativos de rendimiento para demostrar las ventajas de NodeRAG en términos de calidad y velocidad de recuperación, véase NodeRAG_web.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...