É 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 LlamaIndexInicialize 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:
Peça a um LLM para traduzir a pergunta em linguagem natural em uma consulta GQL.
Execute a consulta GQL no armazenamento de gráficos usando o Spanner Graph e a classe
SpannerPropertyGraphStore
.Envie os dados estruturados retornados pela consulta ao LLM usando o Spanner Graph.
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:
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.
Combine os resultados da pesquisa de gráfico e da pesquisa vetorial.
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ânciaSpannerGraphCustomRetriever
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
Para saber como usar o Spanner com outros produtos do Google Cloud para criar aplicativos de IA generativa, consulte Visão geral da IA do Spanner.
Para saber mais sobre a pesquisa vetorial no Spanner, consulte Usar a pesquisa vetorial com o Spanner Graph.
Para saber como usar o Spanner para armazenar embeddings de vetores, consulte Receber embeddings de texto do Spanner.
Para saber mais sobre o machine learning com o Spanner, consulte a visão geral da integração da Vertex AI.