Desarrollar aplicaciones basadas en LLM con LangChain
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 LangChain de Google. Para obtener más información sobre el framework LangChain, consulta la documentación del producto LangChain.
Componentes de LangChain para Bigtable
Bigtable ofrece las siguientes interfaces de LangChain:
- Almacén de vectores
- Almacén de pares clave-valor
- Cargador de documentos
- Historial de mensajes de chat
Consulta cómo usar LangChain con la guía de inicio rápido de LangChain para Bigtable. En esta guía de inicio rápido se crea una aplicación que accede a un conjunto de datos de películas de Netflix para que los usuarios puedan interactuar con los datos de las películas.
Almacén de vectores para Bigtable
Puedes usar el almacén de vectores para guardar documentos de texto junto con sus inserciones de vectores y otros metadatos en una tabla de Bigtable. Esto te permite:
- Busca en tus documentos con técnicas como la búsqueda de similitud de vectores o la búsqueda de relevancia marginal máxima (MMR).
- Aplica filtros adicionales a los resultados de la búsqueda vectorial con los metadatos de los documentos.
Para obtener más información, consulta el tema Almacenes de vectores de LangChain.
Guía de procedimientos de la tienda de vectores
En la guía de Bigtable para almacenes de vectores se explica cómo hacer lo siguiente:
- Instalar el paquete de integración y LangChain
- Configurar el servicio de inserción
- Crear y configurar el almacén de Bigtable
- Personalizar la conexión y la autenticación
- Consultar el almacén con el algoritmo k-NN y filtrar los resultados por metadatos de documentos
Almacén de clave-valor para Bigtable
Bigtable proporciona un almacén de clave-valor para LangChain en forma de clase ByteStore que te permite trabajar con documentos o inserciones almacenados como objetos de bytes. Este enfoque puede ayudarte a reducir significativamente los costes y la latencia al realizar tareas como el almacenamiento en caché y la indexación de las inserciones de consultas repetidas.
Para obtener más información, consulte el artículo Almacenes de pares clave-valor de LangChain.
Guía de procedimientos de la tienda de pares clave-valor
En la guía de Bigtable para almacenes clave-valor se explica cómo hacer lo siguiente:
- Instalar el paquete de integración y LangChain
- Inicializa el motor y las tablas necesarios
- Personalizar la conexión y la autenticación
- Cómo usar
BigtableByteStorecomo capa de caché para incrustaciones de vectores
Cargador de documentos para Bigtable
El cargador de documentos guarda, carga y elimina objetos Document de LangChain.
Por ejemplo, puedes cargar datos para procesarlos en las inserciones 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 Bigtable, usa la clase BigtableLoader. Los métodos BigtableLoader devuelven uno o varios documentos de una tabla. Usa la clase BigtableSaver 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
En la guía de Bigtable para documentloader se explica 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
BigtableSaverpara almacenar y eliminar documentos
Historial de mensajes de chat de Bigtable
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 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.
Bigtable amplía esta clase con BigtableChatMessageHistory.
Guía de procedimientos del historial de mensajes de chat
En la guía de Bigtable para el historial de mensajes de chat se explica cómo hacer lo siguiente:
- Instalar LangChain y autenticarse en Google Cloud
- Inicializar el esquema de Bigtable
- Inicializa la clase
BigtableChatMessageHistorypara añadir y eliminar mensajes. - Usar un cliente para personalizar la conexión y la autenticación