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:

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 BigtableByteStore como 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 BigtableSaver para 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 BigtableChatMessageHistory para añadir y eliminar mensajes.
  • Usar un cliente para personalizar la conexión y la autenticación