¿Qué es LangChain?

LangChain es un marco de trabajo de código abierto para crear aplicaciones basadas en modelos de lenguaje de gran tamaño (LLM). Los LLM son grandes modelos de aprendizaje profundo entrenados previamente con grandes cantidades de datos que pueden generar respuestas a las consultas de los usuarios, por ejemplo, responder preguntas o crear imágenes a partir de peticiones basadas en texto. LangChain proporciona herramientas y abstracciones para mejorar la personalización, precisión y relevancia de la información que generan los modelos. Por ejemplo, los desarrolladores pueden usar los componentes de LangChain para crear nuevas cadenas de peticiones o personalizar las plantillas existentes. LangChain también incluye componentes que permiten a los LLM acceder a nuevos conjuntos de datos sin necesidad de repetir el entrenamiento.

¿Por qué LangChain es importante?

Los LLM se destacan por responder a las peticiones en un contexto general, pero tienen dificultades en un dominio específico en el que nunca fueron entrenados. Las peticiones son consultas que utilizan las personas para buscar respuestas de un LLM. Por ejemplo, un LLM puede proporcionar una respuesta a cuánto cuesta una computadora al dar una estimación. No obstante, no puede incluir el precio de un modelo específico de computadora que venda su empresa. 

Para ello, los ingenieros de machine learning deben integrar el LLM con el origen de datos interno de la organización y emplear ingeniería de peticiones: una práctica en la que un científico de datos refina las entradas de un modelo generativo con una estructura y un contexto específicos. 

LangChain optimiza los pasos intermedios para desarrollar este tipo de aplicaciones que respondan a los datos, lo que hace que la ingeniería de peticiones sea más eficiente. Está diseñado para desarrollar diversas aplicaciones basadas en modelos lingüísticos con mayor facilidad, incluidos chatbots, respuestas a preguntas, generación de contenido, resumidores y más.

En las siguientes secciones se describen las ventajas de LangChain.

Reutilizar los modelos de lenguaje

Con LangChain, las organizaciones pueden reutilizar los LLM en aplicaciones específicas de un dominio sin necesidad de volver a capacitarlos ni ajustarlos. Los equipos de desarrollo pueden crear aplicaciones complejas que hagan referencia a información propia para aumentar las respuestas de los modelos. Por ejemplo, puede usar LangChain para crear aplicaciones que lean datos de documentos internos almacenados y los resuman en respuestas conversacionales. Puede crear un flujo de trabajo de generación aumentada de recuperación (RAG) que introduzca información nueva en el modelo de lenguaje durante la petición. La implementación de flujos de trabajo sensibles al contexto, como RAG, reduce las alucinaciones de los modelos y mejora la precisión de la respuesta. 

Simplifique el desarrollo de IA

LangChain simplifica el desarrollo de inteligencia artificial (IA) al abstraer la complejidad de las integraciones de origen de datos y el refinamiento de peticiones. Los desarrolladores pueden personalizar las secuencias para crear aplicaciones complejas de manera rápida. En lugar de programar la lógica empresarial, los equipos de software pueden modificar las plantillas y bibliotecas que proporciona LangChain para reducir el tiempo de desarrollo. 

Soporte para desarrolladores

LangChain le brinda herramientas a los desarrolladores de IA para conectar modelos de lenguaje con orígenes de datos externos. Es de código abierto y cuenta con el apoyo de una comunidad activa. Las organizaciones pueden usar LangChain de forma gratuita y recibir el apoyo de otros desarrolladores que dominen el marco.

¿Cómo funciona LangChain?

Con LangChain, los desarrolladores pueden adaptar un modelo de lenguaje de manera flexible a contextos empresariales específicos al designar los pasos necesarios para producir el resultado deseado. 

Cadenas

Las cadenas son el principio fundamental que sustenta varios componentes de IA en LangChain para proporcionar respuestas sensibles al contexto. Una cadena es una serie de acciones automatizadas que van desde la consulta del usuario hasta el resultado del modelo. Por ejemplo, los desarrolladores pueden usar una cadena para lo siguiente:

  • Conectar las diferentes fuentes de datos
  • Generar contenido único
  • Traducir a varios idiomas
  • Responder a las consultas de los usuarios 

Enlaces

Las cadenas están hechas de enlaces. Cada acción que los desarrolladores unen para formar una secuencia encadenada se denomina enlace. Con los enlaces, los desarrolladores pueden dividir las tareas complejas en varias tareas más pequeñas. A continuación hay algunos ejemplos de enlaces:

  • Formatear la entrada del usuario 
  • Enviar una consulta a un LLM 
  • Recuperar datos del almacenamiento en la nube
  • Traducir de un idioma a otro

En el marco de LangChain, un enlace acepta las entradas del usuario y las pasa a las bibliotecas de LangChain para su procesamiento. LangChain también permite reordenar los enlaces para crear diferentes flujos de trabajo de IA. 

Información general

Para usar LangChain, los desarrolladores instalan el marco en Python con el siguiente comando:

pip install langchain 

Luego, los desarrolladores usan los componentes básicos de la cadena o LangChain Expression Language (LCEL) para crear cadenas con comandos de programación sencillos. La función chain() pasa los argumentos de un enlace a las bibliotecas. El comando execute() recupera los resultados. Los desarrolladores pueden pasar el resultado del enlace actual al siguiente enlace o devolverlo como resultado final. 

A continuación se muestra el ejemplo de una función de cadena de chatbot que devuelve los detalles del producto en varios idiomas.

chain([

retrieve_data_from_product_database().

send_data_to_language_model().

   format_output_in_a_list().

  translate_output_in_target_language()

])

¿Cuáles son los componentes principales de LangChain?

Con LangChain, los equipos de software pueden crear sistemas de modelos lingüísticos sensibles al contexto con los siguientes módulos. 

Interfaz LLM

LangChain proporciona API con las que los desarrolladores pueden conectar y consultar LLM desde su código. Con LangChain, los desarrolladores pueden interactuar con modelos públicos y patentados como GPT, Bard y PaLM, al realizar sencillas llamadas a la API en lugar de escribir un código complejo.

Plantillas de peticiones

Las plantillas de peticiones son estructuras prediseñadas que los desarrolladores utilizan para formatear las consultas de forma coherente y precisa para los modelos de IA. Los desarrolladores pueden crear una plantilla de peticiones para aplicaciones de chatbot, un aprendizaje few-shot o darle instrucciones específicas a los modelos de lenguaje. Además, pueden reutilizar las plantillas en diferentes aplicaciones y modelos de lenguaje. 

Agentes

Los desarrolladores utilizan las herramientas y bibliotecas que proporciona LangChain para crear y personalizar cadenas existentes para aplicaciones complejas. Un agente es una cadena especial que hace que el modelo de lenguaje decida la mejor secuencia en respuesta a una consulta. Al utilizar un agente, los desarrolladores proporcionan las entradas del usuario, las herramientas disponibles y los posibles pasos intermedios para lograr los resultados deseados. Luego, el modelo de lenguaje devuelve una secuencia viable de acciones que la aplicación puede realizar.  

Módulos de recuperación

LangChain permite diseñar sistemas RAG con numerosas herramientas para transformar, almacenar, buscar y recuperar información que refina las respuestas de los modelos de lenguaje. Los desarrolladores pueden crear representaciones semánticas de la información con incrustaciones de palabras y almacenarlas en bases de datos vectoriales locales o en la nube. 

Memoria

Algunas aplicaciones de modelos de lenguaje conversacional refinan sus respuestas con información que se recupera de interacciones anteriores. LangChain le permite a los desarrolladores incluir capacidades de memoria en sus sistemas. Es compatible con lo siguiente:

  • Sistemas de memoria sencillos que recuerden las conversaciones más recientes 
  • Estructuras de memoria complejas que analizan los mensajes históricos para obtener los resultados más relevantes 

Devoluciones de llamada

Las devoluciones de llamada son códigos que los desarrolladores colocan en sus aplicaciones para registrar, monitorear y transmitir eventos específicos en las operaciones de LangChain. Por ejemplo, los desarrolladores pueden rastrear cuándo se llamó por primera vez a una cadena y se encontraron errores con las devoluciones de llamada. 

¿Cómo puede ayudarle AWS con sus requisitos de LangChain? 

Con Amazon Bedrock, Amazon Kendra, Amazon SageMaker JumpStart, LangChain y sus LLM, puede crear aplicaciones de inteligencia artificial generativa (IA generativa) de alta precisión a partir de datos empresariales. LangChain es la interfaz que une estos componentes:

  • Amazon Bedrock es un servicio administrado con el que las organizaciones pueden crear e implementar aplicaciones de IA generativas. Puede utilizar Amazon Bedrock para configurar un modelo generacional, al que puede acceder desde LangChain. 
  • Amazon Kendra es un servicio basado en machine learning (ML) que ayuda a las organizaciones a realizar búsquedas internas. Puede conectar Amazon Kendra a LangChain, que utiliza datos de bases de datos propietarias para refinar las salidas de los modelos lingüísticos. 
  • Amazon SageMaker Jumpstart es un centro de ML que proporciona algoritmos previamente diseñados y modelos fundacionales que los desarrolladores pueden implementar rápidamente. Puede alojar modelos básicos en SageMaker Jumpstart y solicitarlos desde LangChain. 

Para comenzar a trabajar con LangChain en AWS, cree una cuenta hoy mismo.

Pasos siguientes en AWS

Descubra otros recursos relacionados con el producto
Innove más rápido con el conjunto más completo de servicios de IA y ML 
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo al nivel Gratuito de AWS.

Regístrese 
Comenzar a crear en la consola

Comience a crear en la consola de administración de AWS.

Iniciar sesión