En esta página se explica cómo crear aplicaciones basadas en LLMs con LangChain. Las descripciones generales de esta página enlazan con guías de procedimientos en GitHub.
¿Qué es LangChain?
LangChain es un framework de orquestación de LLMs que ayuda a los desarrolladores a crear aplicaciones de IA generativa o flujos de trabajo de generación aumentada por recuperación (RAG). Proporciona la estructura, las herramientas y los componentes necesarios para optimizar flujos de trabajo complejos de LLMs.
Para obtener más información sobre LangChain, consulta la página Google LangChain. Para obtener más información sobre el framework LangChain, consulta la documentación del producto LangChain.
Componentes de LangChain para Cloud SQL para PostgreSQL
Cloud SQL para PostgreSQL ofrece las siguientes interfaces de LangChain:
Consulta cómo usar LangChain con la guía de inicio rápido de LangChain para Cloud SQL para PostgreSQL.
Almacén de vectores para Cloud SQL para PostgreSQL
Vector Store recupera y almacena documentos y metadatos de una base de datos vectorial. El almacén de vectores permite que una aplicación realice búsquedas semánticas que interpreten el significado de una consulta de usuario. Este tipo de búsqueda se denomina búsqueda vectorial y puede encontrar temas que coincidan conceptualmente con la consulta. En el momento de la consulta, el almacén de vectores recupera los vectores de inserción que son más similares a la inserción de la solicitud de búsqueda. En LangChain, un almacén de vectores se encarga de almacenar los datos insertados y de realizar la búsqueda de vectores por ti.
Para trabajar con el almacén de vectores en Cloud SQL para PostgreSQL, usa la clase PostgresVectorStore
.
Para obtener más información, consulta la documentación del producto LangChain Vector Stores.
Guía de procedimientos de la tienda de vectores
La guía de Cloud SQL para PostgreSQL sobre el almacén de vectores muestra cómo hacer lo siguiente:
- Instalar el paquete de integración y LangChain
- Crea un objeto
PostgresEngine
y configura un grupo de conexiones a tu base de datos de Cloud SQL para PostgreSQL. - Inicializar una tabla
- Crear un objeto de inserción con
VertexAIEmbeddings
- Inicializar un
PostgresVectorStore
predeterminado - Añadir textos
- Eliminar mensajes de texto
- Buscar documentos
- Buscar documentos por vector
- Añadir un índice para acelerar las consultas de búsqueda vectorial
- Reindexar
- Quitar un índice
- Crear un almacén de vectores personalizado
- Buscar documentos con un filtro de metadatos
Cargador de documentos para Cloud SQL para PostgreSQL
El cargador de documentos guarda, carga y elimina objetos Document
de LangChain. Por ejemplo, puedes cargar datos para procesarlos en incrustaciones y almacenarlos en un almacén de vectores o usarlos como herramienta para proporcionar contexto específico a las cadenas.
Para cargar documentos desde un cargador de documentos en Cloud SQL para PostgreSQL, usa la clase PostgresLoader
. PostgresLoader
devuelve una lista de documentos de una tabla. La primera columna se usa para el contenido de la página y el resto, para los metadatos. La tabla predeterminada tiene el contenido de la página en la primera columna y los metadatos JSON en la segunda. Cada fila se convierte en un documento. Usa la clase PostgresDocumentSaver
para guardar y eliminar documentos.
Para obtener más información, consulta el tema Cargadores de documentos de LangChain.
Guía de procedimientos del cargador de documentos
La guía de Cloud SQL para PostgreSQL de document loader te muestra cómo hacer lo siguiente:
- Instalar el paquete de integración y LangChain
- Cargar documentos de una tabla
- Añadir un filtro al cargador
- Personalizar la conexión y la autenticación
- Personalizar la creación de documentos especificando el contenido y los metadatos del cliente
- Cómo usar y personalizar un
PostgresDocumentSaver
para almacenar y eliminar documentos
Historial de mensajes de chat de Cloud SQL para PostgreSQL
Las aplicaciones de preguntas y respuestas requieren un historial de lo que se ha dicho en la conversación para proporcionar contexto a la aplicación y responder a las preguntas posteriores 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 afirmació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 en cada conversación.
Cloud SQL para PostgreSQL amplía esta clase con PostgresChatMessageHistory
.
Guía de procedimiento del historial de mensajes de chat
La guía de Cloud SQL para PostgreSQL sobre el historial de mensajes de chat te muestra cómo hacer lo siguiente:
- Instalar LangChain y autenticarse en Google Cloud
- Crea un objeto
PostgresEngine
y configura un grupo de conexiones a tu base de datos de Cloud SQL para PostgreSQL. - Inicializar una tabla
- Inicializa la clase
PostgresChatMessageHistory
para añadir y eliminar mensajes. - Crea una cadena para el historial de mensajes con el lenguaje de expresiones de LangChain (LCEL) y los modelos de chat de Vertex AI de Google