Puedes crear aplicaciones de modelos de lenguaje extensos (LLMs) que usen la generación aumentada por recuperación de grafos (GraphRAG) con LlamaIndex y Spanner Graph.
Spanner Graph se integra con LlamaIndex a través de sus funciones de almacenamiento de gráficos de propiedades para que puedas usar lo siguiente y crear flujos de trabajo de recuperación de datos:
Almacén de gráficos de propiedades: te permite representar datos como un gráfico almacenando nodos y aristas en una base de datos de gráficos. Puedes usar la base de datos de grafos para consultar relaciones complejas en tus datos.
Recuperadores de grafos: te permiten usar un LLM para traducir la pregunta en lenguaje natural de un usuario en una consulta para el almacén de grafos. Esto permite que las aplicaciones respondan a preguntas usando las relaciones estructuradas de los datos del gráfico.
¿Qué es LlamaIndex?
LlamaIndex es un marco de datos para crear aplicaciones de LLM que te ayuda a optimizar el desarrollo de la generación aumentada por recuperación (RAG) y otros sistemas basados en el contexto. Al proporcionar herramientas para conectar LLMs con tus datos, LlamaIndex te ayuda con la ingesta, la indexación y las consultas de datos. Puedes usar LlamaIndex con LLMs para crear aplicaciones que ofrezcan respuestas precisas y relevantes.
Para obtener más información sobre el framework LlamaIndex, consulta la documentación del producto LlamaIndex.
Almacén de gráficos de propiedades para Spanner
Se puede usar un almacén de gráficos de propiedades en una aplicación para hacer lo siguiente:
Extrae entidades y relaciones de documentos y almacénalas como un grafo.
Realiza análisis y recorridos complejos en una estructura de grafo.
Consulta un gráfico mediante Graph Query Language (GQL) para proporcionar contexto específico a un LLM.
Para trabajar con un almacén de gráficos de propiedades en Spanner Graph, usa la clase SpannerPropertyGraphStore
.
Tutorial de almacén de gráficos de propiedades
Para saber cómo usar el almacén de gráficos de propiedades con Spanner, consulta el tutorial sobre el almacén de gráficos de propiedades para Spanner. En este tutorial, aprenderás a hacer lo siguiente:
Instala el paquete
llama-index-spanner
y LlamaIndexInicializa la clase
SpannerPropertyGraphStore
y úsala para conectarte a tu base de datos de Spanner.Añade nodos y aristas a tu gráfico de Spanner que contengan datos extraídos de documentos mediante un extractor de gráficos de conocimiento de LlamaIndex.
Recupera información estructurada consultando el gráfico con GQL.
Visualiza los resultados de tus consultas de gráficos.
Obtenedores de gráficos para Spanner
Los recuperadores de gráficos de LlamaIndex son componentes que usan un LLM para traducir la pregunta en lenguaje natural de un usuario en una consulta para el almacén de gráficos. Las aplicaciones usan la consulta generada para responder preguntas mediante las relaciones estructuradas de los datos del gráfico. Los recuperadores de gráficos siguen el siguiente flujo de trabajo para generar una respuesta a partir de una consulta en lenguaje natural:
Pide a un LLM que traduzca la pregunta en lenguaje natural a una consulta de GQL.
Ejecuta la consulta de GQL en el almacén de gráficos con Spanner Graph y la clase
SpannerPropertyGraphStore
.Envía los datos estructurados que devuelve la consulta al LLM mediante Spanner Graph.
Genera una respuesta legible por humanos con el LLM.
Usar clases de recuperador de LlamaIndex
Las siguientes clases de recuperador de gráficos de LlamaIndex se pueden usar con Spanner Graph para generar respuestas legibles por humanos a las peticiones de LLM:
Clase SpannerGraphTextToGQLRetriever
La clase SpannerGraphTextToGQLRetriever
traduce el lenguaje natural en consultas de GQL para extraer datos del gráfico.
Clase SpannerGraphCustomRetriever
La clase SpannerGraphCustomRetriever
implementa un enfoque de recuperación híbrido.
SpannerGraphCustomRetriever
gestiona las preguntas específicas y conceptuales siguiendo estos pasos:
Realiza las siguientes búsquedas simultáneamente:
Una búsqueda de gráficos que traduce la pregunta de lenguaje natural en una consulta de GQL que usa el gráfico para encontrar respuestas.
Una búsqueda vectorial o semántica para encontrar información relacionada conceptualmente.
Combina los resultados de la búsqueda de gráficos y de la búsqueda vectorial.
Evalúa y vuelve a clasificar los resultados combinados con el LLM. El LLM selecciona la información más relevante y contextualizada para responder a la pregunta original.
Tutorial sobre Graph Retrievers
Para saber cómo usar los recuperadores de gráficos con Spanner para responder preguntas, consulta el tutorial sobre recuperadores de gráficos para Spanner. En este tutorial se explica cómo hacer lo siguiente:
Crea un gráfico a partir de blobs de texto no estructurados.
Almacena el gráfico en Spanner con la clase
SpannerPropertyGraphStore
.Inicializa una clase
SpannerGraphTextToGQLRetriever
y una instanciaSpannerGraphCustomRetriever
con tu almacén de gráficos y un LLM.Genera una respuesta a una pregunta en lenguaje natural usando los datos de grafos almacenados en Spanner.
Siguientes pasos
Para saber cómo usar Spanner con otros Google Cloud productos para crear aplicaciones de IA generativa, consulta la descripción general de la IA de Spanner.
Para obtener información sobre la búsqueda vectorial en Spanner, consulta el artículo Usar la búsqueda vectorial con Spanner Graph.
Para saber cómo usar Spanner para almacenar incrustaciones de vectores, consulta Obtener incrustaciones de texto de Spanner.
Para obtener más información sobre el aprendizaje automático con Spanner, consulta la descripción general de la integración de Vertex AI.