Criar aplicativos usando o LlamaIndex

É possível criar aplicativos de modelo de linguagem grande (LLM) que usam a geração aumentada de recuperação de gráficos (GraphRAG) com o LlamaIndex e o Spanner Graph.

O Spanner Graph se integra ao LlamaIndex usando os recursos de armazenamento de gráficos de propriedades para permitir que você use o seguinte e crie fluxos de trabalho de recuperação de dados:

  • Armazenamento de gráficos de propriedades: permite representar dados como um gráfico armazenando nós e arestas em um banco de dados de gráficos. Use o banco de dados de gráficos para consultar relações complexas nos seus dados.

  • Recuperadores de gráficos: permitem usar um LLM para traduzir a pergunta de linguagem natural de um usuário em uma consulta para o repositório de gráficos. Isso permite que os aplicativos respondam a perguntas usando as relações estruturadas nos dados do gráfico.

O que é o LlamaIndex?

O LlamaIndex é um framework de dados para criar aplicativos de LLM que ajuda a simplificar o desenvolvimento da geração aumentada de recuperação (RAG) e de outros sistemas sensíveis ao contexto. Ao fornecer ferramentas para conectar LLMs aos seus dados, o LlamaIndex ajuda na ingestão, indexação e consulta de dados. É possível usar o LlamaIndex com LLMs para criar aplicativos que oferecem respostas precisas e relevantes.

Para mais informações sobre o framework LlamaIndex, consulte a documentação do produto LlamaIndex.

Armazenamento de gráficos de propriedades para o Spanner

Um armazenamento de gráficos de propriedades pode ser usado em um aplicativo para fazer o seguinte:

  • Extrair entidades e relações de documentos e armazená-las como um gráfico.

  • Realizar travessias e análises complexas em uma estrutura de gráfico.

  • Consultar um gráfico usando a Graph Query Language (GQL) para fornecer contexto específico a um LLM.

Para trabalhar com um armazenamento de gráficos de propriedades no Spanner Graph, use a classe SpannerPropertyGraphStore.

Tutorial do repositório de gráficos de propriedades

Para saber como usar o repositório de gráficos de propriedades com o Spanner, consulte o tutorial do repositório de gráficos de propriedades para o Spanner. Este tutorial ajuda você a aprender a fazer o seguinte:

  • Instale o pacote llama-index-spanner e o LlamaIndex

  • Inicialize a classe SpannerPropertyGraphStore e use-a para se conectar ao banco de dados do Spanner.

  • Adicione nós e arestas ao seu Spanner Graph que contenham dados extraídos de documentos usando um extrator de mapa de informações do LlamaIndex.

  • Recupere informações estruturadas consultando o gráfico usando o GQL.

  • Visualize os resultados das consultas de gráficos.

Recuperadores de gráficos para Spanner

Os extratores de gráficos no LlamaIndex são componentes que usam um LLM para traduzir a pergunta em linguagem natural de um usuário em uma consulta para o repositório de gráficos. Os aplicativos usam a consulta gerada para responder a perguntas usando as relações estruturadas nos dados do gráfico. Os extratores de gráficos usam o seguinte fluxo de trabalho para gerar uma resposta de uma consulta em linguagem natural:

  1. Peça a um LLM para traduzir a pergunta em linguagem natural em uma consulta GQL.

  2. Execute a consulta GQL no armazenamento de gráficos usando o Spanner Graph e a classe SpannerPropertyGraphStore.

  3. Envie os dados estruturados retornados pela consulta ao LLM usando o Spanner Graph.

  4. Gere uma resposta legível usando o LLM.

Usar classes de extrator do LlamaIndex

As seguintes classes de recuperação de gráficos do LlamaIndex podem ser usadas com o Spanner Graph para gerar respostas legíveis para humanos a comandos de LLM:

Classe SpannerGraphTextToGQLRetriever

A classe SpannerGraphTextToGQLRetriever traduz a linguagem natural em consultas GQL para extração de dados do gráfico.

Classe SpannerGraphCustomRetriever

A classe SpannerGraphCustomRetriever implementa uma abordagem de recuperação híbrida. O SpannerGraphCustomRetriever processa perguntas específicas e conceituais seguindo estas etapas:

  1. Faça as seguintes pesquisas simultaneamente:

    • Uma pesquisa de gráfico que traduz a pergunta em linguagem natural para uma consulta GQL que usa o gráfico para encontrar respostas.

    • Uma pesquisa vetorial ou semântica para encontrar informações conceitualmente relacionadas.

  2. Combine os resultados da pesquisa de gráfico e da pesquisa vetorial.

  3. Avalie e reclassifique os resultados combinados usando o LLM. O LLM seleciona as informações mais relevantes e contextualizadas para responder à pergunta original.

Tutorial sobre mecanismos de recuperação de gráficos

Para saber como usar os extratores de gráficos com o Spanner para responder a perguntas, consulte o tutorial sobre extratores de gráficos para o Spanner. Neste tutorial, mostramos como fazer as seguintes tarefas:

  • Crie um gráfico com base em blobs de texto não estruturado.

  • Armazene o gráfico no Spanner usando a classe SpannerPropertyGraphStore.

  • Inicialize uma classe SpannerGraphTextToGQLRetriever e uma instância SpannerGraphCustomRetriever usando seu repositório de gráficos e um LLM.

  • Gerar uma resposta para uma pergunta em linguagem natural usando os dados de gráfico armazenados no Spanner.

A seguir