Compila aplicaciones con tecnología de LLM a través de LangChain

En esta página, se presenta cómo compilar aplicaciones con tecnología de LLM a través de LangChain. Las descripciones generales de esta página se vinculan a guías de procedimiento en GitHub.

¿Qué es LangChain?

LangChain es un framework de organización de LLM que ayuda a los desarrolladores a compilar aplicaciones de IA generativa o flujos de trabajo de generación de aumento de recuperación (RAG). Proporciona la estructura, las herramientas y los componentes para optimizar los flujos de trabajo complejos de LLM.

Para obtener más información sobre LangChain, consulta la página Google LangChain. Para obtener más información sobre el framework de LangChain, consulta la documentación del producto LangChain.

Componentes de LangChain de Cloud SQL para MySQL

Cloud SQL para MySQL ofrece las siguientes interfaces de LangChain:

Aprende a usar LangChain con la guía de inicio rápido de LangChain de Cloud SQL para MySQL.

Almacén de vectores de Cloud SQL para MySQL

El almacén de vectores recupera y almacena documentos y metadatos de una base de datos vectorial. El almacén de vectores brinda a una aplicación la capacidad de realizar búsquedas semánticas que interpretan el significado de una consulta de usuario. Este tipo de búsqueda se denomina búsqueda de vectores y puede encontrar temas que coincidan de manera conceptual con la consulta. En el momento de la consulta, el almacén de vectores recupera los vectores de incorporación que son más similares a la incorporación de la solicitud de búsqueda. En LangChain, un almacén de vectores se encarga de almacenar datos incorporados y realizar la búsqueda de vectores por ti.

Si quieres trabajar con el almacén de vectores en Cloud SQL para MySQL, usa la clase MySQLVectorStore.

Para obtener más información, consulta la documentación del producto LangChain Vector Stores.

Guía de procedimiento del almacén de vectores

En la guía de Cloud SQL para MySQL para el almacén de vectores, se muestra cómo hacer lo siguiente:

  • Instalar el paquete de integración y LangChain
  • Crea un objeto MySQLEngine y configura un grupo de conexiones a la base de datos de Cloud SQL para MySQL
  • Inicializar una tabla
  • Crear un objeto incorporado con VertexAIEmbeddings
  • Inicializar un MySQLVectorStore predeterminado
  • Agregar textos
  • Borrar textos
  • Buscar documentos
  • Buscar documentos por vector
  • Agregar un índice para acelerar las consultas de búsqueda vectorial
  • Quitar un índice
  • Crear un almacén de vectores personalizado
  • Buscar documentos con un filtro de metadatos

Cargador de documentos de Cloud SQL para MySQL

El cargador de documentos guarda, carga y borra un objeto Document de LangChain. Por ejemplo, puedes cargar datos para procesarlos en incorporaciones y almacenarlos en un almacén de vectores o usarlos como una herramienta con el fin de proporcionar contexto específico a las cadenas.

Para cargar documentos desde el cargador de documentos en Cloud SQL para MySQL, usa la clase MySQLLoader. Los métodos MySQLLoader muestran uno o más documentos de una tabla. Usa la clase MySQLDocumentSaver para guardar y borrar documentos.

Para obtener más información, consulta el tema Cargadores de documentos de LangChain.

Guía de procedimiento del cargador de documentos

En la guía de Cloud SQL para MySQL para el cargador de documentos, se muestra cómo hacer lo siguiente:

  • Instalar el paquete de integración y LangChain
  • Cargar documentos desde una tabla
  • Agregar un filtro al cargador
  • Personalizar la conexión y la autenticación
  • Personaliza la creación de documentos especificando el contenido y los metadatos del cliente
  • Cómo usar y personalizar un MySQLDocumentSaver para almacenar y borrar documentos

Historial de mensajes de chat de Cloud SQL para MySQL

Las aplicaciones de preguntas y respuestas requieren un historial de lo que se dijo en la conversación para darle contexto a la aplicación para responder más preguntas del usuario. La clase ChatMessageHistory de LangChain permite que la aplicación guarde mensajes en una base de datos y los recupere cuando sea necesario para formular más respuestas. Un mensaje puede ser una pregunta, una respuesta, una declaración, un saludo o cualquier otro texto que el usuario o la aplicación proporcione durante la conversación. ChatMessageHistory almacena cada mensaje y los encadena para cada conversación.

Cloud SQL para MySQL extiende esta clase con MySQLChatMessageHistory.

Guía de procedimiento del historial de mensajes de chat

En la guía de Cloud SQL para MySQL para el historial de mensajes de chat, se muestra cómo hacer lo siguiente:

  • Instalar LangChain y autenticar Google Cloud
  • Crea un objeto MySQLEngine y configura un grupo de conexiones a la base de datos de Cloud SQL para MySQL
  • Inicializar una tabla
  • Inicializar la clase MySQLChatMessageHistory para agregar y borrar mensajes
  • Crear una cadena para el historial de mensajes con LangChain Expression Language (LCEL) y los modelos de chat de Vertex AI de Google.