Saltar al contenido principal
febrero 20, 2025

GraphRAG: ¿Una nueva revolución para crear gráficos con LLM?

Como dice Microsoft, el mayor desafío a la par que la mayor oportunidad de los LLM sea ampliar sus poderosas capacidades para resolver problemas más allá de los datos con lo que se han formado y lograr resultados comparables con datos que el LLM nunca ha visto.  

Esto abre nuevas posibilidades en la investigación de datos, y uno de los grandes avances es GraphRAG. Te explicamos en qué consiste y cómo funciona.  

¿Qué es GraphRAG?

La Retrieval-Augmented Generation (RAG) o generación aumentada por recuperación es una técnica para buscar información en función de una consulta del usuario y proporcionar los resultados como referencia para que se genere una respuesta de IA 

Esta técnica es una parte importante de la mayoría de las herramientas basadas en LLM y gran parte de los enfoques RAG utilizan la similitud vectorial como técnica de búsqueda. 

Un RAG de línea base suele integrar una base de datos vectoriales y un LLM, donde la base de datos vectorial almacena y recupera información contextual para las consultas del usuario, y el LLM genera respuestas basadas en el contexto recuperado. Aunque este enfoque funciona bien en muchos casos, presenta dificultades con tareas complejas como el razonamiento de múltiples saltos o la respuesta a preguntas que requieren conectar diferentes piezas de información.  

El principal desafío al que se enfrenta un RAG es que recupera texto en función de la similitud semántica y no responde directamente a consultas complejas en las que es posible que no se mencionen detalles específicos de forma explícita en el conjunto de datos. Esta limitación dificulta la búsqueda de información exacta necesaria, lo que a menudo requiere de soluciones costosas y poco prácticas, como la creación manual de baterías de preguntas y respuestas frecuentes.  

Para abordar estos desafíos, encontramos GraphRAG, desarrollada por Microsoft, que utiliza gráficos de conocimiento generados por LLM para proporcionar mejoras sustanciales en el rendimiento de preguntas y respuestas al realizar análisis de documentos de información compleja. 

En esta investigación se señala el poder del aumento rápido al realizar el descubrimiento en conjuntos de datos privados. Estos conjuntos de datos privados se definen como datos en lo que LLM no está entrenado y nunca ha visto antes los documentos comerciales o las comunicaciones. El gráfico creado por GraphRAG se utiliza junto con el Machine Leaning de gráficos para realizar un aumento rápido en el momento de la consulta. Así se consigue una mejora sustancial en la respuesta a las dos clases de preguntas posibles, demostrando una inteligencia o dominio que supera a otros enfoques aplicados con anterioridad a conjuntos de datos privados.  

Aplicación de RAG a conjuntos de datos privados

Microsoft Search ha presentado una investigación que utiliza el conjunto de datos de Información sobre incidentes violentos de artículos de noticias (VINA). Este conjunto de datos se eligió debido a su complejidad y a la presencia de opiniones diferentes e información parcial.  

Han utilizado miles de artículos de noticias de fuentes de noticias rusas y ucranianas de junio de 2023, traducidos al inglés, para crear un conjunto de datos privado en el que han realizado su recuperación basada en LLM. Como el conjunto de datos es demasiado grande para caber en una ventana de contexto de LLM, se necesita un enfoque RAG.  

Comienzan con una consulta exploratoria a un sistema RAG de referencia y a GraphRAG. Los resultados son que ambos sistemas funcionan bien, por lo que como conclusión podemos sacar que, para una consulta de referencia, RAG es suficiente 

Con una consulta que requiere unir los puntos, el RAG de base no responde a esta pregunta y da error. En comparación, el método GraphRAG descubrió una entidad en la consulta. Esto permite que el LLM se base en el gráfico y genere una respuesta superior que contiene la procedencia a través de enlaces al texto original de apoyo. Al utilizar el gráfico de conocimiento generado por LLM, GraphRAG mejora enormemente la parte de “recuperación” de RAG, llenando la ventana de contexto con contenido de mayor relevancia, lo que da como resultado mejores respuestas y captura la procedencia de la evidencia. 

Microsoft GraphRAG: Cómo funciona

Como decíamos más arriba, Project GraphRAG es la apuesta de Microsoft Research con la que han conseguido la técnica más avanzada del mercado para comprender en profundidad conjuntos de datos de texto mediante la combinación de extracción de texto, análisis de red y generación y resumen de LLM en un único sistema de extremo a extremo.  

A diferencia de un RAG básico que utiliza una base de datos vectorial para recuperar texto semánticamente similar, GraphRAG mejora el mecanismo al incorporar gráficos de conocimiento (KG). Estos gráficos son estructuras de datos que almacenan y vinculan datos relacionados o no relacionados en función de sus relaciones.

Una canalización de GraphRAG suele constar de dos procesos: indexación y consulta. 

Indexación

Este proceso incluye cuatro pasos clave: 

  1. Segmentación de unidades de texto: todo el corpus de entrada se divide en varias unidades de texto, los cuales pueden ser párrafos, oraciones u otras unidades lógicas. Al segmentar documentos extensos en fragmentos más pequeños, podemos extraer y conservar información más detallada sobre estos datos de entrada.  
  2. Extracción de entidades, relaciones y afirmaciones: utiliza LLM para identificar y extraer todas las entidades, sus relaciones y las afirmaciones clave expresadas en el texto de cada unidad. 
  3. Agrupamiento jerárquico: utiliza la técnica Leiden para realizar un agrupamiento jerárquico en los gráficos de conocimiento iniciales. Así, las entidades de cada grupo se asignan a diferentes comunidades para realizar un análisis más profundo.  
  4. Resumen de la generación de comunidad: genera resúmenes para cada comunidad (grupo de nodos dentro del gráfico conectados entre sí) y sus miembros utilizando un enfoque de abajo hacia arriba. Estos incluyen las principales entidades dentro de la comunidad, sus relaciones y afirmaciones clave.  

Consulta

Nos encontramos con dos flujos de trabajo de consulta diferentes diseñados para diferentes consultas: 

  • Búsqueda global: para razonar sobre cuestiones holísticas relacionadas con todo el corpus de datos aprovechando los resúmenes de la comunidad. Es la más recomendable cuando los usuarios hacen preguntas sobre entidades específicas e incluye las siguientes fases: 
    • Historial de consultas y conversaciones del usuario
    • Lotes de informes de la comunidad
    • Respuestas intermedias calificadas (RIR)
    • Clasificación y filtrado
    • Respuesta final
  • Búsqueda local: para razonar sobre entidades específicas mediante la difusión de sus vecinos y conceptos asociados: 
    • Consulta del usuario 
    • Búsqueda de entidades similares 
    • Mapeo de unidad de texto a entidad 
    • Extracción entidad-relación 
    • Mapeo entidad-covariable 
    • Mapeo de informes entidad-comunidad 
    • Utilización de historial de conversaciones 
    • Generación de respuesta 

Ajuste automático de GraphRAG

GraphRAG utiliza LLM para crear un gráfico de conocimiento integral que detalla las entidades y sus relaciones a partir de cualquier colección de documentos de texto. Este gráfico permite aprovechar la estructura semántica de los datos y generar respuestas a consultas complejas que requieren una comprensión amplia de todo el texto. 

GraphRAG 1.0

Microsoft lanzó la versión preliminar de GraphRAG en julio de 2024 y, desde entonces y gracias a la increíble acogida y colaboración de la comunidad, han ido mejorando el servicio; lo que ha culminado con el lanzamiento oficial de GraphRAG 1.0. 

Las principales mejores tienen que ver con las refactorizaciones ergonómicas y la disponibilidad: 

  • Configuración más sencilla para nuevos proyectos: han reducido la fricción en la configuración agregando un comando que genera un archivo de configuración inicial simplificado con toda la configuración básica requerida ya establecida.  
  • Interfaz de comandos nueva y ampliada: han conseguido una mejor documentación en línea y experiencia CLI más completa, ofreciendo una experiencia más optimizada.  
  • Capa API consolidada: aún en fase provisional, está destinada a ser el punto de entrada principal para los desarrolladores que deseen integrar la funcionalidad de GrapRAG en sus propias aplicaciones sin una personalización profunda de la clase de consulta o canalización.  
  • Modelos de datos simplificado: GraphRAG crea varios artefactos de salida para almacenar el modelo de conocimiento indexado. Se han incorporado correcciones para agregar claridad y coherencia, eliminar campos redundantes o no utilizados, mejorar el espacio de almacenamiento y simplificar los modelos de datos.  
  • Tiendas de vectores optimizadas: las incrustaciones y sus almacenes de vectores son algunos de los principales impulsores de las necesidades de almacenamiento del modelo. Con la nueva actualización de la canalización, se ha creado un almacén de vectores predeterminado durante la indexación, por lo que no se necesita posprocesamiento, y la biblioteca de consultas comparte esta configuración para un uso sin inconvenientes.  
  • Estructura de código más plana y clara: se ha simplificado la base del código para que sea más fácil de mantener y más accesible para usuarios externos. Al reducir los flujos de trabajo, hay menos artefactos de salida sin usar, duplicación de datos reducida y menos operaciones de E/S de disco. También ha reducido la huella en memoria de la secuencia de comandos, lo que permite a los usuarios indexar y analizar conjuntos de datos más grandes con GraphRAG. 
  • Ingesta incremental: se ha incluido un nuevo comando de actualización en la CLI que calcula los deltas entre un índice existente y el contenido recién agregado y fusiona de manera inteligente las actualizaciones para minimizar la reindexación.  
  • Disponibilidad y migración: GraphRAG 1.0 ya está disponible en GitHub y publicado en PyPI, por lo que es recomendable migrar a esta versión, la cual ofrece una experiencia optimizada que incluye múltiples mejoras, tanto para usuarios como para desarrolladores.  

Si quieres estar al día de las últimas novedades en IA y otras tecnologías, ¡suscríbete a nuestra newsletter!

Elena Canorea
Autor
Elena Canorea
Communications Lead