¿Qué es Langchain y los modelos de lenguaje grandes?
¿Qué es Langchain y los modelos de lenguaje grandes?' can be condensed to '¿Qué es Langchain y los modelos de lenguaje grandes?
Si eres desarrollador o simplemente alguien apasionado por la tecnología, es probable que hayas encontrado herramientas de IA como ChatGPT. Estas utilidades están impulsadas por modelos de lenguaje grandes (LLMs) avanzados. ¿Interesado en llevarlo al siguiente nivel creando tus propias aplicaciones basadas en LLM? Si es así, LangChain es la plataforma para ti.
Dejemos todo a un lado y entendamos primero qué son los LLM. Luego, podemos revisar LangChain con un tutorial sencillo. ¿Suena lo suficientemente interesante? Empecemos.
¿Qué son los Modelos de Lenguaje Grandes (LLMs)?
Los Modelos de Lenguaje Grandes (LLMs) como GPT-3 y GPT-4 de OpenAI son algoritmos de aprendizaje automático diseñados para comprender y generar texto similar al humano basado en los datos en los que han sido entrenados. Estos modelos se construyen utilizando redes neuronales con millones o incluso miles de millones de parámetros, lo que los hace capaces de realizar tareas complejas como traducción, resumen, preguntas y respuestas, e incluso escritura creativa.
Entrenados en conjuntos de datos diversos y extensos, que a menudo incluyen partes de internet, libros y otros textos, los LLM analizan los patrones y las relaciones entre palabras y frases para generar una salida coherente y relevante en contexto. Aunque pueden realizar una amplia gama de tareas lingüísticas, no son conscientes y no poseen comprensión ni emociones, a pesar de su capacidad para imitar tales cualidades en el texto que generan.
Créditos de la fuente: NVIDIA
- Conversa con tus requisitos Mi viaje aplicando IA generativa (LLM) ...
- Ajuste de hiperparámetros mediante entrenamiento basado en la pobla...
- Cómo Carrier predice fallas en HVAC utilizando AWS Glue y Amazon Sa...
Los modelos de lenguaje grandes pertenecen principalmente a una categoría de estructuras de aprendizaje profundo conocidas como redes transformadoras. Un modelo transformador es un tipo de red neuronal que adquiere una comprensión de contexto y significado al identificar las conexiones entre elementos en una secuencia, como las palabras en una oración determinada.
¿Qué es LangChain?
Desarrollado por Harrison Chase y presentado en octubre de 2022, LangChain sirve como una plataforma de código abierto diseñada para construir aplicaciones sólidas basadas en Modelos de Lenguaje Grandes, como chatbots como ChatGPT y diversas aplicaciones personalizadas.
LangChain busca equipar a los ingenieros de datos con un conjunto de herramientas completas para utilizar LLM en diversos casos de uso, como chatbots, preguntas y respuestas automáticas, resumen de textos y más.
LangChain se compone de 6 módulos que se explican a continuación:
Créditos de la imagen: ByteByteGo
-
Modelos de Lenguaje Grandes: LangChain sirve como una interfaz estándar que permite interactuar con una amplia gama de Modelos de Lenguaje Grandes (LLMs).
-
Construcción de indicaciones: LangChain ofrece una variedad de clases y funciones diseñadas para simplificar el proceso de creación y manejo de indicaciones.
-
Memoria conversacional: LangChain incorpora módulos de memoria que permiten la gestión y modificación de conversaciones de chat anteriores, una característica clave para los chatbots que necesitan recordar interacciones previas.
-
Agentes inteligentes: LangChain dota a los agentes de un conjunto completo de herramientas. Estos agentes pueden elegir qué herramientas utilizar en función de la entrada del usuario.
-
Índices: Los índices en LangChain son métodos para organizar documentos de manera que facilite la interacción efectiva con LLMs.
-
Cadenas: Si bien el uso de un solo LLM puede ser suficiente para tareas más simples, LangChain proporciona una interfaz estándar y algunas implementaciones comúnmente utilizadas para encadenar LLMs juntos para aplicaciones más complejas, ya sea entre ellos mismos o con otros módulos especializados.
¿Cómo funciona LangChain?
LangChain se compone de grandes cantidades de datos y descompone esos datos en fragmentos más pequeños que se pueden incrustar fácilmente en un almacén de vectores. Ahora, con la ayuda de los LLMs, podemos recuperar solo la información que se necesita.
Cuando un usuario introduce una indicación, LangChain consultará el Almacén de Vectores en busca de información relevante. Cuando se encuentra información exacta o casi coincidente, alimentamos esa información a LLM para completar o generar la respuesta que el usuario está buscando.
Comienza con LangChain
Utilicemos la función de Cuadernos de SingleStore (es GRATUITA) como nuestro entorno de desarrollo para este tutorial.
El Cuaderno de SingleStore amplía las capacidades de Jupyter Notebook para permitir a los profesionales de datos trabajar y experimentar fácilmente.
¿Qué es un Single Store?
SingleStore es un sistema de gestión de bases de datos distribuido, en memoria y SQL diseñado para aplicaciones de alto rendimiento y alta velocidad. Ofrece análisis en tiempo real y combina las capacidades de una base de datos operativa tradicional con las de una base de datos analítica para permitir que las transacciones y el análisis se realicen en un solo sistema.
Regístrese en SingleStore para usar los Notebooks.
Una vez que se registre en SingleStore, también recibirá $600 en recursos informáticos gratuitos. ¿Por qué no aprovechar esta oportunidad?
Haga clic en ‘Notebooks’ y comience con un Notebook en blanco.
Asígnele un nombre como ‘LangChain-Tutorial’ o como desee.
Comencemos a trabajar con nuestro Notebook recién creado. Siga esta guía paso a paso y agregue el código mostrado en cada paso en su Notebook y ejecútelo. ¡Comencemos!
Ahora, para usar Langchain, primero instalemoslo con el comando pip.
Para trabajar con LangChain, necesita integraciones con uno o más proveedores de modelos como OpenAI o Hugging Face. En este ejemplo, aprovechemos las API de OpenAI, así que instalemoslo.
A continuación, necesitamos configurar la variable de entorno para el playground. Hagamos eso.
Espero que sepas cómo obtener tu clave de API, si no, ve a este enlace para obtener tu clave de API de OpenAI.
[Nota: Asegúrese de que aún tenga la cuota para usar su clave de API]
A continuación, obtengamos un LLM como OpenAI y predigamos con este modelo.
Preguntemos a nuestro modelo cuáles son las 5 ciudades más pobladas del mundo.
Como puedes ver, nuestro modelo hizo una predicción e imprimió las 5 ciudades más pobladas del mundo.
Plantillas de prompts
Primero definamos la plantilla de prompt.
Creamos nuestro prompt. Para obtener una predicción, llamamos ahora al método format y le pasamos una entrada.
Creando cadenas
Hasta ahora, hemos visto cómo inicializar un modelo LLM y cómo obtener una predicción con este modelo. Ahora, demos un paso adelante y encadenemos estos pasos usando la clase LLMChain.
Puedes ver la predicción del modelo.
Desarrollando una aplicación usando LangChain LLM
Una vez más, usa los Notebooks de SingleStore como entorno de desarrollo.
Desarrollemos una aplicación de chat muy simple.
Comienza con un Notebook en blanco y asígnale un nombre como desees.
- Primero, instala las dependencias.
- A continuación, importa las dependencias instaladas.
-
Obtén tu clave de API de OpenAI y guárdala de forma segura.
-
Agrega y personaliza la plantilla LLM
- Carga la cadena ChatGPT con la clave de API que guardaste de forma segura. Agrega la entrada humana como ‘¿Qué es SingleStore?’. Puedes cambiar tu entrada a lo que desees.
El script inicializa la cadena LLM usando la clave de API de OpenAI y un prompt predefinido. Luego recibe la entrada del usuario y muestra la salida resultante.
La salida esperada se muestra a continuación,
Juega con esto cambiando el texto/contenido de entrada humano.
Los pasos de ejecución completos en formato de código están disponibles en GitHub.
LangChain se presenta como un marco indispensable para ingenieros de datos y desarrolladores que se esfuerzan por construir aplicaciones de vanguardia impulsadas por grandes modelos de lenguaje. A diferencia de las herramientas y plataformas tradicionales, LangChain ofrece un marco más sólido y versátil diseñado para aplicaciones de IA complejas. LangChain no es solo otra herramienta en el arsenal de un desarrollador; es un marco transformador que redefine lo que es posible en el ámbito de las aplicaciones impulsadas por IA.
En el ámbito de las aplicaciones GenAI y LLMs, se recomienda encarecidamente conocer las bases de datos vectoriales. Recientemente escribí un resumen completo de las bases de datos vectoriales, es posible que desees leer ese artículo.
¡Base de datos vectorial: una guía para principiantes!