Desarrollar aplicaciones con LlamaIndex

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 LlamaIndex

  • Inicializa 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:

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

  2. Ejecuta la consulta de 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 mediante Spanner Graph.

  4. 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:

  1. 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.

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

  3. 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 instancia SpannerGraphCustomRetriever 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