Compila aplicaciones con LlamaIndex

Puedes crear aplicaciones de modelos de lenguaje grandes (LLM) que usen la generación mejorada por recuperación de gráficos (GraphRAG) con LlamaIndex y Spanner Graph.

Spanner Graph se integra con LlamaIndex a través de sus capacidades de almacenamiento de gráficos de propiedades para permitirte 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 gráficos: Te permiten usar un LLM para traducir la pregunta en lenguaje natural de un usuario en una consulta para el almacén de gráficos. Esto permite que las aplicaciones respondan preguntas usando las relaciones estructuradas en los datos del grafo.

¿Qué es LlamaIndex?

LlamaIndex es un framework de datos para compilar aplicaciones de LLM que te ayuda a optimizar el desarrollo de la generación mejorada por recuperación (RAG) y otros sistemas basados en el contexto. LlamaIndex proporciona herramientas para conectar LLMs con tus datos y ayuda con la indexación, la incorporación y la consulta de datos. Puedes usar LlamaIndex con LLMs para compilar aplicaciones que brinden respuestas precisas y pertinentes.

Para obtener más información sobre el framework de LlamaIndex, consulta la documentación del producto de 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 realizar las siguientes acciones:

  • Extrae entidades y relaciones de documentos y las almacena como un grafo.

  • Realiza análisis y recorridos complejos en una estructura de grafo.

  • Consultar un gráfico con 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.

Instructivo de la tienda de gráficos de propiedades

Para obtener información sobre cómo usar el almacén de gráficos de propiedades con Spanner, consulta el instructivo sobre el almacén de gráficos de propiedades para Spanner. En este instructivo, aprenderás a realizar las siguientes acciones:

  • Instala el paquete llama-index-spanner y LlamaIndex

  • Inicializa la clase SpannerPropertyGraphStore y úsala para conectarte a tu base de datos de Spanner.

  • Agrega nodos y aristas a tu Spanner Graph que contengan datos extraídos de documentos con un extractor de gráficos de conocimiento de LlamaIndex.

  • Recupera información estructurada consultando el gráfico con GQL.

  • Visualizar los resultados de tus consultas de gráficos

Recuperadores de gráficos para Spanner

Los recuperadores de gráficos en 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 a través de las relaciones estructuradas en los datos del gráfico. Los recuperadores de grafos usan el siguiente flujo de trabajo para generar una respuesta a partir de una búsqueda en lenguaje natural:

  1. Indica a un LLM que traduzca la pregunta en lenguaje natural a una consulta de GQL.

  2. Ejecuta la consulta en GQL en el almacén de gráficos con Spanner Graph y la clase SpannerPropertyGraphStore.

  3. Envía los datos estructurados que devuelve la consulta al LLM con Spanner Graph.

  4. Genera una respuesta legible con el LLM.

Usa clases de recuperación de LlamaIndex

Las siguientes clases de recuperador de gráficos de LlamaIndex se pueden usar con Spanner Graph para generar respuestas legibles para los humanos a las instrucciones del LLM:

Clase SpannerGraphTextToGQLRetriever

La clase SpannerGraphTextToGQLRetriever traduce el lenguaje natural en consultas de GQL para la extracción de datos del gráfico.

Clase SpannerGraphCustomRetriever

La clase SpannerGraphCustomRetriever implementa un enfoque de recuperación híbrido. SpannerGraphCustomRetriever maneja preguntas específicas y conceptuales siguiendo estos pasos:

  1. Realiza las siguientes búsquedas de forma simultánea:

    • Una búsqueda de grafos que traduce la pregunta en lenguaje natural a una consulta en GQL que usa el grafo para encontrar respuestas.

    • Una búsqueda de vectores o una búsqueda semántica para encontrar información relacionada conceptualmente

  2. Combina los resultados de la búsqueda de gráficos y la búsqueda de vectores.

  3. Evalúa y vuelve a clasificar los resultados combinados con el LLM. El LLM selecciona la información más pertinente y contextual para responder la pregunta original.

Instructivo sobre recuperadores de grafos

Para aprender a usar recuperadores de gráficos con Spanner para responder preguntas, consulta el instructivo sobre recuperadores de gráficos para Spanner. En este instructivo, se muestra cómo hacer lo siguiente:

  • Crea un gráfico a partir de blobs de texto no estructurado.

  • Almacena el gráfico en Spanner con la clase SpannerPropertyGraphStore

  • Inicializa una clase SpannerGraphTextToGQLRetriever y una instancia SpannerGraphCustomRetriever con tu almacén de gráficos y un LLM.

  • Generar una respuesta a una pregunta en lenguaje natural usando los datos del gráfico almacenados en Spanner

¿Qué sigue?