Desbloquear el poder de los gráficos de conocimiento: explorar Graph RAG para una generación mejorada de recuperación
Desbloquea el poder de los gráficos de conocimiento con Graph RAG, un sistema revolucionario que combina gráficos de conocimiento y Retrieval Augmented Generation (RAG) para mejorar la recuperación y la generación. Explora los detalles técnicos, configúralo localmente y evalúa las implicaciones de costos. Descubre cómo Graph RAG aborda las limitaciones de los enfoques tradicionales de RAG.
24 de febrero de 2025

Desbloquea el poder de los gráficos de conocimiento con Graph RAG, un sistema revolucionario que combina los beneficios de la Generación Aumentada por Recuperación (RAG) con la comprensión contextual de los gráficos de conocimiento. Explora cómo este enfoque innovador puede mejorar la generación de contenido y aumentar la precisión y relevancia de tus respuestas, al mismo tiempo que obtienes información sobre las implicaciones de costos de ejecutar Graph RAG.
Descubre el poder de Graph RAG: mejora la generación de recuperación aumentada con gráficos de conocimiento
Comprender el RAG tradicional: limitaciones y motivaciones
Explorar los detalles técnicos de Graph RAG
Configurar Graph RAG en tu máquina local
Comparar las implicaciones de costos de Graph RAG y RAG tradicional
Explorar otras soluciones de Graph RAG: una inmersión más profunda
Conclusión
Descubre el poder de Graph RAG: mejora la generación de recuperación aumentada con gráficos de conocimiento
Descubre el poder de Graph RAG: mejora la generación de recuperación aumentada con gráficos de conocimiento
Graph RAG es un sistema revolucionario que combina gráficos de conocimiento con Retrieval Augmented Generation (RAG) para abordar las limitaciones de los enfoques tradicionales de RAG. Al aprovechar los gráficos de conocimiento, Graph RAG proporciona una comprensión más holística del corpus subyacente, lo que permite respuestas más precisas y relevantes en el contexto.
Los aspectos clave de Graph RAG incluyen:
-
Fase de indexación: Durante esta fase, los documentos fuente se procesan y se extraen entidades que se utilizan para crear un gráfico de conocimiento. El gráfico de conocimiento representa las relaciones entre diferentes entidades, que luego se utilizan para crear resúmenes en varios niveles de granularidad.
-
Fase de consulta: Cuando se proporciona una consulta de usuario, Graph RAG selecciona el nivel apropiado de comunidad (resumen) en función de la consulta y recupera la información relevante. Las respuestas de múltiples comunidades se combinan entonces para generar la respuesta final.
Este enfoque aborda las limitaciones del RAG tradicional, como la comprensión contextual limitada y los problemas de escalabilidad. Al incorporar gráficos de conocimiento, Graph RAG puede proporcionar una comprensión más completa de los datos subyacentes, lo que lleva a respuestas más precisas y coherentes.
Una de las principales ventajas de Graph RAG es su capacidad para manejar consultas complejas que requieren una comprensión más profunda de las relaciones entre entidades. Esto lo hace particularmente útil para aplicaciones que involucran preguntas y respuestas, resumen o tareas intensivas en conocimiento.
Sin embargo, es importante tener en cuenta que el costo de ejecutar Graph RAG puede ser mayor en comparación con los sistemas RAG tradicionales, ya que implica pasos de procesamiento adicionales, como la extracción de entidades y la creación de gráficos de conocimiento. Este factor de costo debe considerarse cuidadosamente al decidir implementar Graph RAG en sus aplicaciones.
En general, Graph RAG representa un avance significativo en el campo de la Retrieval Augmented Generation, y su potencial para mejorar el rendimiento de los modelos de lenguaje en varias aplicaciones vale la pena explorar.
Comprender el RAG tradicional: limitaciones y motivaciones
Comprender el RAG tradicional: limitaciones y motivaciones
La Retrieval Augmented Generation (RAG) tradicional es un método donde el modelo de lenguaje recupera documentos relevantes de un gran corpus para generar respuestas más precisas y relevantes en el contexto. Este enfoque implica tres pasos principales:
-
Procesamiento y incrustación de documentos: Los documentos originales se dividen en trozos más pequeños utilizando una estrategia de división. Luego se calculan las incrustaciones para cada trozo y se almacenan en un almacén de vectores, que se convierte en la base de conocimiento.
-
Fase de consulta: Cuando un usuario hace una pregunta, se calculan las incrustaciones para la consulta y se realiza una búsqueda de similitud en el almacén de vectores para recuperar los trozos o subdocumentos más relevantes.
-
Generación de respuesta: El contexto recuperado se combina con la consulta original y se envía a un modelo de lenguaje grande para generar la respuesta final.
Sin embargo, este enfoque RAG tradicional tiene varias limitaciones:
-
Comprensión contextual limitada: RAG a veces puede perder los matices de los datos debido a su dependencia de los documentos recuperados. No tiene una visión general holística del documento, por lo que no comprende completamente el panorama general.
-
Problemas de escalabilidad: a medida que crece el corpus, el proceso de recuperación puede volverse menos eficiente.
-
Complejidad para integrar fuentes de conocimiento externas: Integrar fuentes de conocimiento externas de manera significativa puede ser complejo y engorroso.
Para abordar estas limitaciones, Microsoft ha introducido GraphRAG, un sistema que combina gráficos de conocimiento con Retrieval Augmented Generation. En la siguiente sección, profundizaremos en los detalles técnicos de cómo funciona GraphRAG.
Explorar los detalles técnicos de Graph RAG
Explorar los detalles técnicos de Graph RAG
Graph RAG es un enfoque novedoso que combina gráficos de conocimiento con Retrieval Augmented Generation (RAG) para abordar las limitaciones de los sistemas RAG tradicionales. Los pasos clave involucrados en el proceso de Graph RAG son los siguientes:
-
Fase de indexación:
- Los documentos fuente se dividen en subdocumentos más pequeños.
- Dentro de cada trozo, se identifican entidades (como personas, lugares, empresas) y se extraen las relaciones entre estas entidades.
- Esta información se utiliza para crear un gráfico de conocimiento, donde las entidades se representan como nodos y las relaciones entre ellas se representan como bordes.
- El gráfico de conocimiento se utiliza entonces para detectar comunidades, que son grupos de entidades estrechamente relacionadas.
- Se crean resúmenes para cada comunidad en diferentes niveles de detalle, que van desde lo global (de alto nivel) hasta lo local (más granular).
-
Fase de consulta:
- Cuando se recibe una consulta de usuario, se selecciona el nivel de comunidad apropiado (global, intermedio o local) en función del nivel de detalle requerido.
- Se recuperan los resúmenes de las comunidades relevantes y estas respuestas parciales se combinan para generar la respuesta final.
Este enfoque ofrece varias ventajas sobre los sistemas RAG tradicionales:
- Mejor comprensión del contexto: Al aprovechar el gráfico de conocimiento y los resúmenes a nivel de comunidad, Graph RAG puede capturar mejor el contexto general y los matices de los documentos fuente, en lugar de depender únicamente de los documentos recuperados.
- Mayor escalabilidad: A medida que crece el corpus, los resúmenes a nivel de comunidad pueden ayudar a mantener una recuperación y generación de respuestas eficientes, mitigando los problemas de escalabilidad del RAG tradicional.
- Integración simplificada: El enfoque basado en gráficos de conocimiento proporciona una forma más estructurada y significativa de integrar fuentes de conocimiento externas, haciendo que el proceso sea menos complejo y engorroso.
Sin embargo, el enfoque de Graph RAG también tiene un posible inconveniente: el costo asociado con ejecutar el sistema. La fase de indexación, que implica la extracción de entidades, la identificación de relaciones y la generación de resúmenes de comunidad, puede ser computacionalmente intensiva y generar costos significativos, especialmente cuando se utilizan modelos de lenguaje grandes como GPT-4.
En el ejemplo proporcionado, el costo de ejecutar Graph RAG en un solo libro (Cuento de Navidad) fue de aproximadamente $7, lo que podría ser prohibitivamente caro para corpus más grandes. Este factor de costo es algo a considerar al decidir si usar Graph RAG o un sistema RAG tradicional en su aplicación.
En general, Graph RAG representa un enfoque innovador para abordar las limitaciones de los sistemas RAG tradicionales, pero las implicaciones de costo deben evaluarse cuidadosamente en función de los requisitos y la escala específicos de su proyecto.
Configurar Graph RAG en tu máquina local
Configurar Graph RAG en tu máquina local
Para configurar Graph RAG en su máquina local, siga estos pasos:
-
Cree un entorno virtual de Conda:
conda create -n graphrag python=3.9 conda activate graphrag
-
Instale el paquete Graph RAG:
pip install graphrag
-
Cree un directorio para sus datos de prueba:
mkdir -p rag_test/input
-
Descargue un conjunto de datos de muestra, como el texto de "Cuento de Navidad" de Charles Dickens:
python -m graphrag.index --root_dir rag_test/input --download_sample_data
-
Configure sus variables de espacio de trabajo y configuraciones:
python -m graphrag.index --root_dir rag_test/input --init_config
Esto creará un archivo
settings.yml
donde puede configurar su clave API, modelo y otros ajustes. -
Ejecute el proceso de indexación para crear el gráfico de conocimiento:
python -m graphrag.index --root_dir rag_test/input
Este paso puede llevar algún tiempo, ya que implica la extracción de entidades, la identificación de relaciones y la generación de resúmenes de comunidad.
-
Ejecute consultas de muestra:
python -m graphrag.query --root_dir rag_test --method global --prompt "¿Cuáles son los temas principales de esta historia?" python -m graphrag.query --root_dir rag_test --method local --prompt "¿Cuál es la relación entre Scrooge y Bob Cratchit?"
El método
global
recupera información al más alto nivel, mientras que el métodolocal
se enfoca en entidades específicas y sus relaciones. -
Analice las implicaciones de costo: El proceso de indexación puede ser costoso, especialmente cuando se utilizan modelos de lenguaje grandes como GPT-4. El ejemplo proporcionado en la transcripción muestra que procesar un solo libro puede costar alrededor de $7. Considere las implicaciones de costo al aplicar Graph RAG a conjuntos de datos más grandes.
Ese es el proceso de configuración básica para ejecutar Graph RAG en su máquina local. Recuerde personalizar las configuraciones y las consultas para adaptarlas a su caso de uso específico.
Comparar las implicaciones de costos de Graph RAG y RAG tradicional
Comparar las implicaciones de costos de Graph RAG y RAG tradicional
En el ejemplo proporcionado, las implicaciones de costo de usar Graph RAG fueron significativas. El costo total del procesamiento del libro y la creación de Graph RAG ascendió a aproximadamente $7, lo que podría ser prohibitivamente caro para grandes corpus de datos.
Los principales factores que contribuyeron al alto costo fueron:
-
Solicitudes de API: El enfoque de Graph RAG realizó un total de 570 solicitudes a través de la API, principalmente para el modelo GPT-4. En comparación, el enfoque RAG tradicional probablemente tendría un número más bajo de solicitudes de API.
-
Procesamiento de tokens: El proceso de Graph RAG involucró procesar más de 1 millón de tokens, lo que contribuyó al costo general.
En comparación, un sistema RAG tradicional probablemente tendría un costo más bajo, ya que no requiere los pasos adicionales de extracción de entidades, identificación de relaciones y generación de resúmenes de comunidad que forman parte del enfoque de Graph RAG.
Es importante considerar los intercambios entre la mejor comprensión del contexto y la visión general holística proporcionada por Graph RAG, y el mayor costo asociado con su implementación. Dependiendo del caso de uso específico y del presupuesto disponible, un enfoque puede ser más adecuado que el otro.
Si se trabaja con un gran corpus de datos, las implicaciones de costo de Graph RAG deben evaluarse cuidadosamente. En tales casos, un sistema RAG tradicional puede ser una solución más rentable, especialmente si la mejor comprensión del contexto proporcionada por Graph RAG no es un requisito crítico.
En última instancia, la elección entre Graph RAG y RAG tradicional dependerá de las necesidades específicas del proyecto, los recursos disponibles y el equilibrio entre el rendimiento y el costo.
Explorar otras soluciones de Graph RAG: una inmersión más profunda
Explorar otras soluciones de Graph RAG: una inmersión más profunda
Si bien el GraphRAG de Microsoft es un sistema revolucionario, no es la única implementación del enfoque de Graph RAG. Hay otras soluciones notables disponibles que vale la pena explorar:
Motor de consultas de Lama Index's Knowledge Graph RAG
Lama Index, una popular plataforma de gestión de conocimiento de código abierto, ha desarrollado su propia implementación de un Motor de consultas de Knowledge Graph RAG. Esta solución aprovecha el poder de los gráficos de conocimiento para mejorar las capacidades de recuperación y generación de los modelos de lenguaje grandes.
El enfoque de Lama Index se centra en construir un gráfico de conocimiento integral a partir de varias fuentes de datos, incluidos datos estructurados y no estructurados. Este gráfico de conocimiento se utiliza luego para impulsar el sistema RAG, proporcionando una comprensión más holística de la información subyacente.
Paquete Graph RAG de Neo4j
Neo4j, un proveedor líder de bases de datos de gráficos, también ha introducido un paquete Graph RAG. Esta solución integra las capacidades de la base de datos de gráficos de Neo4j con la técnica de Retrieval Augmented Generation (RAG).
Al utilizar las capacidades eficientes de Neo4j para la navegación y consulta de gráficos, el paquete Graph RAG tiene como objetivo abordar las limitaciones de escalabilidad y comprensión del contexto de los sistemas RAG tradicionales. Este enfoque permite una recuperación más efectiva de la información relevante del gráfico de conocimiento, lo que conduce a respuestas más precisas y coherentes.
Comparación de las implementaciones
Si bien los principios básicos de Graph RAG se comparten entre estas soluciones, cada implementación puede tener sus propias características, fortalezas y compensaciones únicas. Factores como el rendimiento, la facilidad de integración, el soporte para diferentes modelos de lenguaje y las implicaciones de costo pueden variar entre las diferentes soluciones de Graph RAG.
Si hay interés, puedo profundizar en un análisis comparativo de estas implementaciones de Graph RAG, resaltando sus principales diferencias y ayudándolo a determinar la mejor opción para su caso de uso específico.
Conclusión
Conclusión
Graph RAG funciona muy bien, pero hubo un problema importante y es el costo. Para el ejemplo proporcionado, se enviaron un total de 570 solicitudes a través de la API utilizando GPT-4 y se procesaron más de 1 millón de tokens, lo que resultó en un costo de aproximadamente $7. Este costo podría ser prohibitivamente caro para un gran corpus de datos y es sustancialmente más caro en comparación con la construcción de un sistema RAG tradicional.
A pesar de las implicaciones de costo, Graph RAG es un enfoque innovador que combina gráficos de conocimiento con Retrieval Augmented Generation (RAG). Aborda algunas de las limitaciones de los sistemas RAG tradicionales, como la comprensión contextual limitada y los problemas de escalabilidad.
Microsoft no es la única empresa que ha implementado un sistema Graph RAG. Otras opciones, como el motor de consultas de Knowledge Graph RAG de Lama Index y el paquete Graph RAG de Neo4j, también están disponibles. Si hay interés, se puede crear más contenido comparando estas diferentes implementaciones.
En general, Graph RAG es una tecnología prometedora, pero las implicaciones de costo deben considerarse cuidadosamente al decidir si usarlo en sus propias aplicaciones.
Preguntas más frecuentes
Preguntas más frecuentes