Crie aplicativos com tecnologia LLM usando LangChain

Esta página apresenta como criar aplicativos baseados em LLM usando o LangChain . As visões gerais nesta página contêm links para guias de procedimentos no GitHub.

O que é LangChain?

LangChain é uma estrutura de orquestração de LLM que auxilia desenvolvedores a criar aplicações de IA generativas ou fluxos de trabalho de geração aumentada por recuperação (RAG). Ela 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 do Google LangChain . Para mais informações sobre a estrutura do LangChain, consulte a documentação do produto LangChain .

Componentes LangChain para Cloud SQL para PostgreSQL

O Cloud SQL para PostgreSQL oferece as seguintes interfaces LangChain:

Aprenda a usar o LangChain com o LangChain Quickstart para Cloud SQL para PostgreSQL .

Armazenamento de vetores para Cloud SQL para PostgreSQL

O armazenamento vetorial recupera e armazena documentos e metadados de um banco de dados vetorial. O armazenamento vetorial permite que um aplicativo realize buscas semânticas que interpretam o significado de uma consulta do usuário. Esse tipo de busca é chamado de busca vetorial e pode encontrar tópicos que correspondem conceitualmente à consulta. No momento da consulta, o armazenamento vetorial recupera os vetores de incorporação mais semelhantes à incorporação da solicitação de busca. No LangChain, um armazenamento vetorial armazena os dados incorporados e realiza a busca vetorial para você.

Para trabalhar com armazenamento de vetores no Cloud SQL para PostgreSQL, use a classe PostgresVectorStore .

Para obter mais informações, consulte a documentação do produto LangChain Vector Stores .

Guia de procedimento de armazenamento de vetores

O guia do Cloud SQL para PostgreSQL para armazenamento de vetores mostra como fazer o seguinte:

  • Instale o pacote de integração e o LangChain
  • Crie um objeto PostgresEngine e configure um pool de conexões com seu banco de dados Cloud SQL para PostgreSQL
  • Inicializar uma tabela
  • Crie um objeto de incorporação usando VertexAIEmbeddings
  • Inicializar um PostgresVectorStore padrão
  • Adicionar textos
  • Excluir textos
  • Pesquisar documentos
  • Pesquisar documentos por vetor
  • Adicione um índice para acelerar consultas de pesquisa de vetores
  • Reindexar
  • Remover um índice
  • Crie um armazenamento de vetores personalizado
  • Pesquisar documentos com um filtro de metadados

Carregador de documentos para Cloud SQL para PostgreSQL

O carregador de documentos salva, carrega e exclui objetos Document do LangChain. Por exemplo, você pode carregar dados para processamento em embeddings e armazená-los em um repositório de vetores ou usá-los como uma ferramenta para fornecer contexto específico às cadeias.

Para carregar documentos do carregador de documentos no Cloud SQL para PostgreSQL, use a classe PostgresLoader . PostgresLoader retorna uma lista de documentos de uma tabela usando a primeira coluna para o conteúdo da página e todas as outras colunas para metadados. A tabela padrão tem a primeira coluna como conteúdo da página e a segunda coluna como metadados JSON. Cada linha se torna um documento. Use a classe PostgresDocumentSaver 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 carregador de documentos do Cloud SQL para PostgreSQL mostra como fazer o seguinte:

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

Histórico de mensagens de bate-papo do Cloud SQL para PostgreSQL

Aplicativos de perguntas e respostas exigem um histórico das coisas ditas na conversa para fornecer contexto ao aplicativo para responder a perguntas futuras do usuário. A classe ChatMessageHistory do LangChain permite que o aplicativo salve mensagens em um banco de dados e as recupere quando necessário para formular respostas adicionais. Uma mensagem pode ser uma pergunta, uma resposta, uma declaração, uma saudação ou qualquer outro texto que o usuário ou o aplicativo forneça durante a conversa. ChatMessageHistory armazena cada mensagem e encadeia mensagens para cada conversa.

O Cloud SQL para PostgreSQL estende essa classe com PostgresChatMessageHistory .

Guia de procedimento de histórico de mensagens de bate-papo

O guia do Cloud SQL para PostgreSQL para histórico de mensagens de bate-papo mostra como fazer o seguinte:

  • Instale o LangChain e autentique-se em Google Cloud
  • Crie um objeto PostgresEngine e configure um pool de conexões com seu banco de dados Cloud SQL para PostgreSQL
  • Inicializar uma tabela
  • Inicialize a classe PostgresChatMessageHistory para adicionar e excluir mensagens
  • Crie uma cadeia para o histórico de mensagens usando a Linguagem de Expressão LangChain (LCEL) e os modelos de bate-papo Vertex AI do Google

O que vem a seguir