LangChain🦜🔗: El Poderoso Framework que Revoluciona las Aplicaciones de Modelos de Lenguaje
¿Qué es LangChain?
LangChain es un potente framework diseñado para revolucionar el desarrollo de aplicaciones impulsadas por modelos de lenguaje. Los modelos de lenguaje como ChatGPT y Llama son increíblemente versátiles y destacan en una amplia gama de tareas. Sin embargo, pueden enfrentar desafíos cuando se trata de proporcionar respuestas precisas o abordar tareas que requieren conocimiento profundo del dominio o experiencia específica. Aquí es donde LangChain viene al rescate.
Por ejemplo — Con la ayuda de LangChain, podemos entrenar un LLM como ChatGPT en un conjunto de datos personalizado de reseñas de restaurantes. El conjunto de datos contiene información específica sobre varias cocinas, ambiente y calidad del servicio.
Ahora, cuando le haces a ChatGPT una pregunta precisa como, "¿Cuál es el mejor restaurante de sushi en la ciudad?", el ChatGPT, habiendo sido ajustado en el conjunto de datos personalizado de reseñas de restaurantes, puede proporcionar una respuesta más precisa y específica. Puede aprovechar su conocimiento del conjunto de datos para recomendar el restaurante con el sushi mejor calificado según las reseñas de los clientes.
Leer más: Documentación oficial
Construyamos una Pequeña Aplicación
En este artículo, te mostraré una guía paso a paso para construir un lector de documentos usando LangChain y HuggingFace. Voy a usar Google Colab como la plataforma para desarrollar la aplicación
- Crea un nuevo bloc de notas en Google Colab e instala todas las dependencias necesarias
Haz clic en "Nuevo bloc de notas" o ve a "Archivo" > "Nuevo bloc de notas" para crear un nuevo bloc de notas de Colab e instala estas dependencias a continuación.

2. Obtener la clave de API de HuggingFace
Si aún no tienes una cuenta de Hugging Face, necesitarás crear una. Puedes registrarte en el sitio web de Hugging Face.
Una vez que hayas iniciado sesión, ve a la sección de Perfil haciendo clic en tu icono de perfil en la esquina superior derecha y selecciona "Configuración" en el menú desplegable.
Después de eso, ve a la sección de Tokens de acceso y crea un nuevo token

Después de eso, crea una nueva celda de código y añade el código a continuación —

Reemplaza la cadena ficticia con tu clave de API y ejecuta el código.
3. Creación de Incrustaciones y una Tienda Vectorial para Respuestas a Preguntas
En muchas aplicaciones de Modelos de Lenguaje (LLM), a menudo surge la necesidad de datos específicos del usuario que no formaban parte del conjunto de datos de entrenamiento original del modelo. LangChain te equipa con los elementos necesarios para importar, transformar, almacenar y consultar eficientemente tus datos personalizados.

El proceso comprende cinco etapas distintas:
- Carga de documentos: Esta etapa es responsable de importar datos en forma de documentos.
- Segmentación de documentos: Aquí, el documento se somete a segmentación, dividiéndolo en fragmentos más manejables.
- Generación de incrustaciones: En este paso, estos fragmentos se transforman en representaciones vectoriales, también conocidas como incrustaciones.
- Tienda vectorial: Este componente sirve como un repositorio para almacenar los vectores de fragmentos mencionados en una base de datos vectorial dedicada.
- Mecanismo de recuperación: La etapa final implica un mecanismo de recuperación. Se utiliza para obtener uno o más conjuntos de vectores que exhiben la mayor similitud con una consulta, siendo tanto la consulta como los vectores almacenados residentes en el mismo espacio latente.
Ahora, comencemos cargando el documento. Estoy cargando un breve resumen de la Constitución de India generado por ChatGPT.

Después de la carga del documento, dividamos documentos de texto más largos en fragmentos más pequeños y no superpuestos de 1000 caracteres cada uno

Después de la segmentación de documentos, inicialicemos nuestras incrustaciones. Estamos usando incrustaciones proporcionadas por la biblioteca Hugging Face Transformers.

Ahora, configuraremos una tienda vectorial usando Faiss. Básicamente, tus datos de texto se están transformando en vectores usando las incrustaciones proporcionadas, y Faiss se utiliza para indexar y buscar estos vectores de manera eficiente.

Ahora, cargaremos el LLM flan-t5-xxl de Google desde HuggingFace. Es una herramienta valiosa en tareas de respuesta a preguntas debido a su enfoque de texto a texto, modelo preentrenado y tamaño grande.

Después de eso, creemos una cadena usando LangChain. Las cadenas nos permiten ensamblar múltiples componentes en una aplicación cohesiva.

Crearemos una cadena simple: comienza con una consulta, y la consulta se envía entonces al LLM.

Para el contexto, a continuación se muestra la parte del resumen de la cual el LLM respondió —
"Preámbulo: El Preámbulo de la Constitución india esboza los ideales y objetivos que los redactores de la Constitución buscaban lograr. Destaca a India como una república soberana, socialista, laica y democrática que busca justicia, libertad, igualdad y fraternidad para sus ciudadanos."
Hagamos otra pregunta al respecto

Aplicaciones —
- Chatbots de IA y asistentes virtuales: Las capacidades de respuesta a preguntas incorporadas en este código sientan las bases para crear chatbots de IA y asistentes virtuales que pueden proporcionar respuestas instantáneas y conscientes del contexto a las consultas de los usuarios. Esto tiene aplicaciones en soporte al cliente, educación en línea, y más.
- Herramientas educativas: Los educadores y estudiantes pueden beneficiarse de la respuesta automática a preguntas, ayudando a aclarar dudas y mejorar la experiencia de aprendizaje. También se puede emplear en la generación de contenido educativo.
- Motores de recomendación de contenidos: Al comprender el contexto e intención detrás de las consultas, este código se puede utilizar para desarrollar sistemas de recomendación de contenidos, asegurando que los usuarios reciban sugerencias altamente relevantes.
Para los lectores interesados en profundizar en estas aplicaciones y explorar herramientas adicionales para sus proyectos, aquí hay un par de recursos valiosos:
FlowiseAI - Construye aplicaciones de LLM fácilmente Herramienta visual de interfaz de usuario de código abierto para construir tu flujo de LLM personalizado usando Langchainflowiseai.comLista de espera de Langflow Únete a la lista de espera de Langflow hoy y descubre un enfoque simplificado para LLMs. De código abierto y fácil de usar, Langflow…www.langflow.orgConclusión —
Este artículo mostró cómo LangChain se puede utilizar en el desarrollo de aplicaciones impulsadas por modelos de lenguaje y cómo sus abstracciones flexibles y amplio conjunto de herramientas permiten a los desarrolladores aprovechar el poder de los LLMs.
En el panorama siempre cambiante de la IA, los LLMs han surgido como agentes de cambio, y estamos orgullosos de ser parte de este emocionante viaje hacia un futuro más inteligente y eficiente. Esperamos aprovechar los LLMs para impulsar la innovación, resolver desafíos complejos y proporcionar aún mayor valor a nuestros clientes y socios en My Next Developer.



