É possível criar aplicativos de modelo de linguagem grande (LLM) que usam a geração aumentada por 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 grafos de propriedades para permitir que você use o seguinte e crie fluxos de trabalho de recuperação de dados:
Armazenamento de grafos de propriedades: permite representar dados como um grafo armazenando nós e arestas em um banco de dados de grafos. Use o banco de dados de gráficos para consultar relacionamentos complexos 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 por recuperação (RAG) e outros sistemas sensíveis ao contexto. Ao fornecer ferramentas para conectar LLMs aos seus dados, o LlamaIndex ajuda na ingestão de dados, indexação e consulta. É 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 repositório 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 grafo.
Realizar travessias e análises complexas em uma estrutura de gráfico.
Consulte um gráfico usando a Graph Query Language (GQL) para fornecer contexto específico a um LLM.
Para trabalhar com um repositório 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 Spanner. Este tutorial ajuda você a aprender a fazer o seguinte:
Instale o pacote
llama-index-spannere o LlamaIndex.Inicialize a classe
SpannerPropertyGraphStoree 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 recuperadores de gráficos no LlamaIndex são componentes que usam um LLM para traduzir uma pergunta em linguagem natural do 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 gráfica 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 de 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 estruturados.
Armazene o gráfico no Spanner usando a classe
SpannerPropertyGraphStore.Inicialize uma classe
SpannerGraphTextToGQLRetrievere uma instânciaSpannerGraphCustomRetrieverusando 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 machine learning com o Spanner, consulte a Visão geral da integração da plataforma de agentes do Gemini Enterprise.