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:
- Armazenamento de vetores
- Armazenamento de chave-valor
- Carregador de documentos
- Histórico de mensagens do Chat
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
BigtableByteStorecomo 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
BigtableSaverpara 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
BigtableChatMessageHistorypara adicionar e excluir mensagens - Usar um cliente para personalizar a conexão e a autenticação