Crie aplicações baseadas em MDIs com o LangChain

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 MDIs.

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 Cloud SQL para MySQL

O Cloud SQL para MySQL oferece as seguintes interfaces LangChain:

Saiba como usar o LangChain com o início rápido do LangChain para o Cloud SQL para MySQL.

Armazenamento de vetores para o Cloud SQL para MySQL

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 o armazenamento de vetores no Cloud SQL para MySQL, use a classe MySQLVectorStore.

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

Guia de procedimentos da base de dados vetorial

O guia do Cloud SQL para MySQL para o vector store mostra-lhe como fazer o seguinte:

  • Instale o pacote de integração e o LangChain
  • Crie um objeto MySQLEngine e configure um conjunto de ligações à sua base de dados do Cloud SQL para MySQL
  • Inicialize uma tabela
  • Crie um objeto de incorporação com a VertexAIEmbeddings
  • Inicialize um MySQLVectorStore predefinido
  • Adicione textos
  • Elimine mensagens de texto
  • Pesquise documentos
  • Pesquise documentos por vetor
  • Adicione um índice para acelerar as consultas de pesquisa vetorial
  • Remova um índice
  • Crie um banco de dados vetorial personalizado
  • Pesquise documentos com um filtro de metadados

Carregador de documentos para o Cloud SQL para MySQL

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 carregador de documentos no Cloud SQL para MySQL, use a classe MySQLLoader. Os métodos MySQLLoader devolvem um ou mais documentos de uma tabela. Use a classe MySQLDocumentSaver para guardar e eliminar documentos.

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

Guia de procedimento do carregador de documentos

O guia do Cloud SQL para MySQL para o carregador de documentos mostra-lhe 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 MySQLDocumentSaver para armazenar e eliminar documentos

Histórico de mensagens de chat para o Cloud SQL para MySQL

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 Cloud SQL para MySQL expande esta classe com MySQLChatMessageHistory.

Guia de procedimento do histórico de mensagens de chat

O guia do Cloud SQL para MySQL para o histórico de mensagens de chat mostra-lhe como fazer o seguinte:

  • Instale o LangChain e autentique-se no Google Cloud
  • Crie um objeto MySQLEngine e configure um conjunto de ligações à sua base de dados do Cloud SQL para MySQL
  • Inicialize uma tabela
  • Inicialize a classe MySQLChatMessageHistory para adicionar e eliminar mensagens
  • Crie uma cadeia para o histórico de mensagens com a linguagem de expressões LangChain (LCEL) e os modelos de chat da Vertex AI da Google