Criar aplicativos com tecnologia de LLM usando o LangChain

Esta página apresenta como criar aplicativos com tecnologia de LLM usando o LangChain. As visões gerais nesta página têm links para guias de procedimento no GitHub.

O que é o LangChain?

O LangChain é um framework de orquestração de LLM que ajuda os desenvolvedores a criar aplicativos de IA generativa ou fluxos de trabalho de geração aumentada de recuperação (RAG, na sigla em inglês). Ele fornece a estrutura, as ferramentas e os componentes para otimizar fluxos de trabalho complexos de LLM.

Para mais informações sobre o LangChain, consulte a página Google LangChain. Para mais informações sobre o framework LangChain, consulte a documentação do produto LangChain.

Componentes do LangChain para Bigtable

O Bigtable oferece as seguintes interfaces do LangChain:

Aprenda a usar o LangChain com o Guia de início rápido do LangChain para Bigtable. Este guia de início rápido cria um aplicativo que acessa um conjunto de dados de filmes da Netflix para que os usuários possam interagir com os dados de filmes.

Repositório de vetores para Bigtable

É possível usar o armazenamento de vetores para salvar documentos de texto com os embeddings de vetor e outros metadados em uma tabela do Bigtable. Isso permite que você:

  • Pesquise seus documentos com técnicas como a pesquisa de similaridade vetorial ou a pesquisa de relevância marginal máxima (MMR, na sigla em inglês).
  • Faça uma filtragem extra nos resultados da pesquisa vetorial com os metadados dos documentos.

Para mais informações, consulte o tópico Armazenamentos de vetores do LangChain.

Guia de procedimentos de armazenamento de vetores

O guia do Bigtable para armazenamentos de vetores mostra como fazer o seguinte:

  • Instalar o pacote de integração e o LangChain
  • Configurar o serviço de incorporação
  • Criar e configurar o repositório do Bigtable
  • Personalizar a conexão e a autenticação
  • Consultar a loja com o algoritmo kNN e filtrar os resultados por metadados do documento

Armazenamento de chave-valor para Bigtable

O Bigtable oferece um repositório de chave-valor para o LangChain na forma de uma classe ByteStore que permite trabalhar com documentos ou embeddings armazenados como objetos de byte. Essa abordagem pode ajudar você a reduzir significativamente os custos e a latência ao realizar tarefas como o armazenamento em cache e a indexação de incorporações para consultas repetidas.

Para mais informações, consulte o tópico Armazenamentos de chaves-valor do LangChain.

Guia de procedimentos de armazenamento de chave-valor

O guia do Bigtable para armazenamentos de chave-valor mostra como fazer o seguinte:

  • Instalar o pacote de integração e o LangChain
  • Inicializar o mecanismo e as tabelas necessários
  • Personalizar a conexão e a autenticação
  • Como usar BigtableByteStore como uma camada de armazenamento em cache para embeddings de vetores

Carregador de documentos para Bigtable

O carregador de documentos salva, carrega e exclui objetos Document do LangChain. Por exemplo, é possível carregar dados para processamento em embeddings e armazenar em um armazenamento de vetores ou usar como uma ferramenta para fornecer contexto específico a cadeias.

Para carregar documentos do carregador de documentos no Bigtable, use a classe BigtableLoader. Os métodos BigtableLoader retornam um ou mais documentos de uma tabela. Use a classe BigtableSaver para salvar e excluir documentos.

Para mais informações, consulte o tópico Carregadores de documentos LangChain.

Guia de procedimentos do carregador de documentos

O guia do Bigtable para o carregador de documentos mostra como fazer o seguinte:

  • Instalar o pacote de integração e o LangChain
  • Carregar documentos de uma tabela
  • Adicionar um filtro ao carregador
  • Personalizar a conexão e a autenticação
  • Personalize a construção de documentos especificando o conteúdo e os metadados do cliente
  • Como usar e personalizar um BigtableSaver para armazenar e excluir documentos

Histórico de mensagens do Chat para o Bigtable

Aplicativos de perguntas e respostas exigem um histórico do que foi dito na conversa para dar ao aplicativo contexto para responder a outras perguntas do usuário. A classe ChatMessageHistory do LangChain permite que o aplicativo salve mensagens e as recupere quando necessário para formular outras respostas. Uma mensagem pode ser uma pergunta, uma resposta, uma declaração, uma saudação ou qualquer outro texto que o usuário ou aplicativo faz durante a conversa. O ChatMessageHistory armazena cada mensagem e encadeia mensagens para cada conversa.

O Bigtable estende essa classe com BigtableChatMessageHistory.

Guia de procedimentos do histórico de mensagens do Chat

No guia do Bigtable para o histórico de mensagens de chat, mostramos como fazer o seguinte:

  • Instalar o LangChain e fazer a autenticação no Google Cloud
  • Inicializar o esquema do Bigtable
  • Inicialize a classe BigtableChatMessageHistory para adicionar e excluir mensagens
  • Usar um cliente para personalizar a conexão e a autenticação