Hace poco, se lanzó GraphRAG en GitHub, una herramienta basada en grafos que promete revolucionar la generación aumentada por recuperación (RAG) para responder preguntas en datasets privados o desconocidos. Este lanzamiento facilita la recuperación de información estructurada y la generación de respuestas completas, superando las limitaciones de los enfoques tradicionales de RAG.
¿Qué es GraphRAG?
GraphRAG es una aproximación innovadora que utiliza un modelo de lenguaje grande (LLM) para automatizar la extracción de un grafo de conocimiento a partir de cualquier colección de documentos de texto. Esta herramienta detecta «comunidades» de nodos densamente conectados, lo que permite identificar temas y subtemas dentro de los datos de manera jerárquica. Así, proporciona un resumen estructurado de los datos sin necesidad de preguntas específicas.
Características principales
Resumen jerárquico de datos
GraphRAG genera un resumen jerárquico de la información, detectando comunidades en diferentes niveles. Esto ofrece una visión general del dataset, permitiendo entender su estructura y contenido antes de realizar consultas.
- Comunidades de nivel 0: Representan los temas más amplios del dataset.
- Comunidades de nivel 1: Muestran temas más detallados dentro de cada comunidad principal.
Ventajas sobre RAG tradicional
A diferencia de los enfoques tradicionales de RAG que se basan en la búsqueda vectorial, GraphRAG puede responder a preguntas globales que abarcan todo el dataset. Esto es crucial para preguntas como «¿Cuáles son los temas principales en el dataset?», donde los métodos tradicionales pueden fallar al considerar solo los fragmentos de texto más similares a la pregunta.
Evaluación y resultados
En una reciente evaluación, GraphRAG demostró ser superior a los enfoques tradicionales de RAG y a la resumación jerárquica de textos fuente en términos de integridad y diversidad de respuestas. Utilizando un modelo GPT-4, se generaron preguntas centradas en la actividad a partir de descripciones cortas de dos datasets: transcripciones de podcasts y artículos de noticias. Los resultados mostraron que GraphRAG tiene una tasa de éxito del 70-80% en comparación con RAG tradicional en estas métricas.
Uso práctico de GraphRAG
Aplicación en datasets variados
GraphRAG puede ser aplicado en una variedad de datasets, desde transcripciones de podcasts hasta artículos de noticias. Su capacidad para resumir y estructurar datos permite a los usuarios obtener respuestas precisas y comprensivas, mejorando la toma de decisiones informadas.
Reducción de costos de tokens
Otra ventaja significativa es la reducción en el uso de tokens. Al utilizar resúmenes de comunidades en lugar de resumación jerárquica de textos fuente, GraphRAG logra mantener un bajo costo de tokens por consulta, haciéndolo más eficiente y accesible.
Futuras mejoras y direcciones
El equipo detrás de GraphRAG está trabajando en varias mejoras para reducir los costos iniciales de construcción del índice de grafos sin sacrificar la calidad de las respuestas. Esto incluye la optimización automática de los prompts de extracción del LLM para adaptarlos al dominio del problema y el uso de enfoques basados en NLP para aproximar el grafo de conocimiento y los resúmenes de comunidades.
Disponibilidad y participación comunitaria
GraphRAG y su acelerador de soluciones están disponibles públicamente en GitHub, con el objetivo de hacer accesible este enfoque basado en grafos para más usuarios y casos de uso. Se alienta a la comunidad a dar feedback y sugerencias sobre el repositorio de código y el acelerador de soluciones para mejorar la experiencia y habilitar la próxima generación de experiencias RAG.
Reflexiones finales
GraphRAG está cambiando la forma en que entendemos y procesamos datos no estructurados. Su enfoque basado en grafos no solo mejora la recuperación de información y la generación de respuestas, sino que también hace que el análisis de datos sea más accesible y eficiente.