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 Cloud SQL para PostgreSQL
O Cloud SQL para PostgreSQL oferece as seguintes interfaces do LangChain:
Aprenda a usar o LangChain com o Guia de início rápido do LangChain para Cloud SQL para PostgreSQL.
Armazenamento de vetores do Cloud SQL para PostgreSQL
O repositório de vetores recupera e armazena documentos e metadados de um banco de dados de vetores. O armazenamento de vetores permite que um aplicativo realize pesquisas semânticas que interpretam o significado de uma consulta do usuário. Esse tipo de pesquisa é chamado de pesquisa vetorial e pode encontrar tópicos que correspondam conceitualmente à consulta. No momento da consulta, o armazenamento de vetores recupera os vetores de embedding mais semelhantes ao embedding da solicitação de pesquisa. No LangChain, um repositório de vetores é responsável pelo armazenamento de dados incorporados e pela realização da pesquisa de vetor para você.
Para trabalhar com o armazenamento de vetores no Cloud SQL para PostgreSQL, use a
classe PostgresVectorStore
.
Para mais informações, consulte a documentação do produto LangChain Vector Stores.
Guia de procedimentos de armazenamento de vetores
O guia do Cloud SQL para PostgreSQL sobre o armazenamento de vetores mostra como fazer o seguinte:
- Instalar o pacote de integração e o LangChain
- Criar um objeto
PostgresEngine
e configure um pool de conexões para o banco de dados do Cloud SQL para PostgreSQL - Inicializar uma tabela
- Criar um objeto de embedding usando
VertexAIEmbeddings
- Inicializar um
PostgresVectorStore
padrão - Adicionar textos
- Excluir textos
- Pesquisar documentos
- Pesquisar documentos por vetor
- Adicionar um índice para acelerar consultas de pesquisa de vetor
- Reindexar
- Remover um índice
- Criar um repositório de vetores personalizado
- Pesquisar documentos com um filtro de metadados
Carregador de documentos do Cloud SQL para PostgreSQL
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 usá-los como uma ferramenta para fornecer contexto específico
para cadeias.
Para carregar documentos com o 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
para metadados. A tabela padrão tem a primeira coluna como conteúdo da página e a segunda 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 Cloud SQL para PostgreSQL sobre 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
PostgresDocumentSaver
para armazenar e excluir documentos
Histórico de mensagens do Chat do Cloud SQL para PostgreSQL
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 em um banco de dados 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 Cloud SQL para PostgreSQL estende essa classe com PostgresChatMessageHistory
.
Guia de procedimentos do histórico de mensagens do Chat
No guia do Cloud SQL para PostgreSQL sobre o histórico de mensagens do Chat, mostramos como fazer o seguinte:
- Instalar o LangChain e fazer a autenticação no Google Cloud
- Criar um objeto
PostgresEngine
e configure um pool de conexões para o banco de dados do Cloud SQL para PostgreSQL - Inicializar uma tabela
- Inicialize a classe
PostgresChatMessageHistory
para adicionar e excluir mensagens - Crie uma cadeia de histórico de mensagens usando a LangChain Expression Language (LCEL) e os modelos de chat da Vertex AI do Google.