Esta página apresenta como criar aplicações com tecnologia de GML usando o LangChain. As vistas gerais nesta página incluem links para guias de procedimentos no GitHub.
O que é a LangChain?
O LangChain é uma framework de orquestração de MDIs que ajuda os programadores a criar aplicações de IA generativa ou fluxos de trabalho de geração aumentada de recuperação (RAG). Fornece a estrutura, as ferramentas e os componentes para simplificar os fluxos de trabalho complexos de grandes modelos de linguagem (GMLs). Para mais informações sobre os MDIs, os respetivos exemplos de utilização e os modelos e serviços específicos que a Google oferece, consulte uma vista geral dos conceitos e serviços de MDIs Google Cloud.
Para mais informações sobre o LangChain, consulte a página Google LangChain. Para mais informações sobre a framework LangChain, consulte a documentação do produto LangChain.
Componentes do LangChain para o AlloyDB
Saiba como usar o LangChain com o início rápido do LangChain para o AlloyDB. Este início rápido cria uma aplicação que acede a um conjunto de dados de filmes da Netflix para que os utilizadores possam interagir com os dados de filmes.
Armazenamento de vetores para o AlloyDB
O armazenamento de vetores obtém e armazena documentos e metadados de uma base de dados de vetores. O armazenamento de vetores dá a uma aplicação a capacidade de realizar pesquisas semânticas que interpretam o significado de uma consulta do utilizador. Este tipo de pesquisa é denominado pesquisa vetorial e pode encontrar tópicos que correspondem à consulta conceptualmente. No momento da consulta, o banco de dados vetorial obtém os vetores de incorporação mais semelhantes à incorporação do pedido de pesquisa. No LangChain, um armazenamento de vetores encarrega-se de armazenar dados incorporados e realizar a pesquisa de vetores por si.
Para trabalhar com a loja de vetores no AlloyDB, use a classe AlloyDBVectorStore
.
Para mais informações, consulte a documentação do produto LangChain vector stores.
Guia de procedimentos da base de dados vetorial
O guia do AlloyDB para o armazenamento de vetores mostra-lhe como fazer o seguinte:
- Instale o pacote de integração e o LangChain
- Crie um objeto
AlloyDBEngine
e configure um conjunto de ligações à sua base de dados do AlloyDB - Inicialize uma tabela para o armazenamento de vetores
- Configure um serviço de incorporação através do
VertexAIEmbeddings
- Inicialize
AlloyDBVectorStore
- Adicione e elimine documentos
- Pesquise documentos semelhantes
- Adicione um índice vetorial para melhorar o desempenho da pesquisa
- Crie um arquivo de vetores personalizado para se ligar a uma base de dados do AlloyDB for PostgreSQL pré-existente que tenha uma tabela com incorporações de vetores
Carregador de documentos para o AlloyDB
O carregador de documentos guarda, carrega e elimina objetos do LangChain.Document
Por exemplo, pode carregar dados para processamento em incorporações e
armazená-los na loja de vetores ou usá-los como uma ferramenta para fornecer contexto específico
às cadeias.
Para carregar documentos do AlloyDB, use a classe AlloyDBLoader
. AlloyDBLoader
devolve 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 predefinida tem a primeira coluna como conteúdo da página e a segunda coluna como metadados JSON. Cada linha torna-se um documento. As instruções para personalizar estas definições encontram-se no guia de procedimentos.
Use a classe AlloyDBSaver
para guardar e eliminar documentos.
Para mais informações, consulte o tópico Carregadores de documentos do LangChain.
Guia de procedimentos do carregador de documentos
O guia do AlloyDB para o carregador de documentos mostra como fazer o seguinte:
- Instale o pacote de integração e o LangChain
- Carregue documentos a partir de uma tabela
- Adicione um filtro ao carregador
- Personalize a ligaçã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
AlloyDBSaver
para armazenar e eliminar documentos
Histórico de mensagens de chat para o AlloyDB
As aplicações de perguntas e respostas requerem um histórico das coisas ditas na conversa para dar contexto à aplicação para responder a mais perguntas do utilizador. A classe ChatMessageHistory
LangChain permite que a aplicação guarde mensagens numa base de dados e as obtenha quando necessário para formular mais respostas. Uma mensagem pode ser uma pergunta, uma resposta, uma declaração, uma saudação ou qualquer
outro texto que o utilizador ou a aplicação forneça durante a conversa.
ChatMessageHistory
armazena cada mensagem e encadeia as mensagens para cada conversa.
O AlloyDB expande esta classe com AlloyDBChatMessageHistory
.
Guia de procedimento do histórico de mensagens de chat
O guia do AlloyDB para o histórico de mensagens de chat mostra como fazer o seguinte:
- Instale o pacote de integração e o LangChain
- Crie um objeto
AlloyDBEngine
e configure um conjunto de ligações à sua base de dados do AlloyDB - Inicialize uma tabela
- Inicialize a classe
AlloyDBChatMessageHistory
para adicionar e eliminar mensagens - Crie uma cadeia para o histórico de mensagens através do Idioma de expressão do LangChain (LCEL)