LangFlow | Interfaz de usuario para LangChain para desarrollar aplicaciones con LLMs

LangFlow UI for LangChain for LLM application development.

Introducción

Los Modelos de Lenguaje Grandes han causado sensación en el mundo. Con la llegada de ChatGPT, GPT3, Bard y otros Modelos de Lenguaje Grandes, los desarrolladores están constantemente trabajando con estos modelos para crear nuevas soluciones de productos. Cada día aparece un nuevo Modelo de Lenguaje Grande o nuevas versiones de los modelos existentes. Mantenerse al día con estas nuevas versiones o nuevos modelos puede ser problemático porque uno tiene que revisar la documentación de cada uno de estos Modelos de Lenguaje Grandes. LangChain, una biblioteca que envuelve todos los diferentes Modelos de Lenguaje Grandes, facilita las cosas. Además, se introdujo LangFlow, una interfaz de usuario basada en LangChain, para trabajar directamente con ella y crear aplicaciones, lo que mejora mucho las cosas.

Objetivos de aprendizaje

  • Entender la interfaz de usuario de LangFlow
  • Instalar y trabajar con LangFlow
  • Aprender el funcionamiento interno de LangFlow
  • Usar LangFlow para crear aplicaciones
  • Compartir las aplicaciones creadas a través de LangFlow

Este artículo fue publicado como parte del Data Science Blogathon.

¿Qué es LangFlow y por qué LangFlow?

LangFlow es una interfaz gráfica basada en el paquete de Python LangChain diseñado con react-flow. LangChain es un paquete de Python que se utiliza para crear aplicaciones con Modelos de Lenguaje Grandes. Está compuesto por diferentes componentes como Agentes, Modelos de Lenguaje Grandes, Cadenas, Memoria y Prompts. Los desarrolladores encadenan estos bloques para crear aplicaciones. LangChain contiene envoltorios para casi todos los Modelos de Lenguaje Grandes populares. Ahora, para usar LangChain, uno debe escribir el código para crear aplicaciones. Escribir código a veces puede llevar mucho tiempo e incluso propenso a errores.

Aquí es donde entra LangFlow. Es una interfaz gráfica basada en LangChain. Contiene todos los componentes que están en LangChain. LangFlow proporciona la función de arrastrar y soltar, donde puedes arrastrar componentes a la pantalla y comenzar a construir aplicaciones con Modelos de Lenguaje Grandes. Incluso contiene ejemplos completos con los que cualquiera puede comenzar. En este artículo, repasaremos esta interfaz y veremos cómo construir aplicaciones con ella.

Comencemos con LangFlow

Ahora que hemos visto qué es LangFlow y cómo encaja, sumerjámonos en ello para entender mejor su funcionalidad. La interfaz de usuario de LangFlow está disponible tanto para Javascript como para Python. Puedes elegir uno de ellos y comenzar a trabajar. Para la versión de Python, debes tener Python en tu sistema y la biblioteca LangChain.

Si quieres trabajar con LangFlow, necesitas los siguientes paquetes:

pip install langchain
pip install langflow

Lo anterior instalará el paquete LangFlow y el paquete LangChain. Ahora, para iniciar la interfaz de usuario, utiliza el siguiente comando:

python -m langflow

(o)

langflow

Ahora la interfaz de usuario de LangFlow está en funcionamiento. Está ejecutándose en el host local en el puerto número 7860. De esta manera, puedes instalar y comenzar a trabajar con LangFlow.

Los creadores de LangFlow, es decir, LogSpace AI, han implementado directamente LangFlow en el sitio web de HuggingFace. Puedes hacer clic aquí para visitar el sitio web de HuggingFace o buscar en Google. Se verá algo como lo siguiente, luego haz clic en Nuevo Proyecto.

Cuando hagas clic en Crear Nuevo Proyecto, aparecerá la interfaz de usuario de LangFlow.

Aquí, el espacio en blanco es donde crearemos las aplicaciones arrastrando los componentes. Y los componentes están presentes en el lado izquierdo (Agentes, Cadenas, Cargadores, etc.). Así que cuando hagas clic en Comps, se te presentarán diferentes tipos, de los cuales seleccionarás uno y lo arrastrarás al espacio en blanco. En el espacio en blanco, luego combinarás diferentes componentes para crear toda la aplicación.

Entendiendo la interfaz de usuario de LangFlow

En esta sección, entenderemos brevemente la interfaz de usuario de LangFlow, los elementos presentes en ella y cómo funciona, para tener una mejor comprensión de cómo construir aplicaciones de lenguaje grande rápidamente con LangFlow.

En la imagen de arriba, vemos la sección superior derecha de la interfaz de LangFlow. Los significados de los iconos pueden ser comprensibles. El segundo icono representa la opción de Exportar. Entonces, cuando construimos una aplicación a través de LangFlow y ahora queremos descargarla a nuestra máquina local. Entonces podemos hacerlo convirtiendo la configuración de nuestra aplicación en un archivo JSON. Al hacer clic en la opción de Exportar, podrás descargar el archivo JSON que contiene la información de tu aplicación. Ahora, si tu amigo quiere construir la misma aplicación, solo tiene que hacer clic en la primera opción que es Importar, y luego pasarle tu archivo JSON.

La tercera opción convierte tu aplicación a un código Python, con el que luego puedes trabajar directamente en tu sistema local, en lugar de ir al sitio web de LangFlow cada vez que quieras usar esa aplicación.

LangChain tiene envoltorios para muchos Modelos de Lenguaje Amplios. Cada Modelo de Lenguaje Amplio tiene su API para trabajar con él. Entonces, cuando intentamos trabajar con un MLL en LangFlow, nos proporciona la opción de agregar la Clave de API que se puede ver arriba. Junto con eso, incluso tenemos la opción de seleccionar el tipo de Modelo de Lenguaje Amplio con el que queremos trabajar.

Construyendo una Aplicación de Chat Simple con LangFlow

En esta sección, estaremos creando una aplicación de chatbot simple trabajando con la interfaz de LangFlow. Esta aplicación implica trabajar con Modelos de Lenguaje Amplios de OpenAI, por lo que se debe tener una Clave de API Abierta para trabajar con esta aplicación. La aplicación que crearemos es un chatbot que responderá a las preguntas de los usuarios de manera divertida.

Entonces, la aplicación que crearemos tendrá 3 elementos, el Modelo de Lenguaje Amplio, la Plantilla de Inicio y la Cadena MLL que los conecta. Comencemos arrastrando el envoltorio de OpenAI de LangChain a la sección punteada de la interfaz.

Envoltorio de Modelo de Lenguaje Amplio de OpenAI

El envoltorio del Modelo de Lenguaje Amplio de OpenAI se encuentra en la sección MLL de LangFlow. Podemos arrastrarlo a la sección blanca. Aquí seleccionamos el tipo de modelo con el que queremos trabajar. Por ahora, lo configuraré en modo Davinci. Y la temperatura, es decir, qué tan creativo debe ser el modelo, se establece en 0.7 y el máximo de tokens en 256. En el campo Clave de API Abierta, debemos proporcionar la Clave de API Abierta, y el campo debajo de eso se puede dejar en blanco.

En la imagen, vemos que hemos arrastrado la Plantilla de Inicio a la sección blanca. Aquí, la aplicación que estamos desarrollando es un bot simple que responde de manera divertida, por lo que tenemos que escribir la plantilla de inicio en consecuencia.

Plantilla de Inicio

Eres un bot de IA que responde a cada consulta realizada por el Humano de manera divertida.

Humano: {consulta}

IA:

Ahora vamos al último elemento, que es el elemento Cadena. La Cadena MLL es la que combina nuestro Modelo de Lenguaje Amplio de OpenAI y la Plantilla de Inicio juntos. Podemos ver que LLMChain se encuentra en la sección Cadenas en el lado izquierdo de la interfaz. Finalmente, es hora de unir todas las cosas.

Como se muestra en las imágenes de arriba, conecta la Plantilla de Prompt al Prompt de LLMChain y conecta el extremo de OpenAI al extremo LLM de LLMChain.

Ahora es hora de probar nuestra aplicación. Para que la aplicación se ejecute, haz clic en el ícono de Thunderbolt que se encuentra en la parte inferior derecha de la interfaz de usuario. Si la clave de OpenAI es válida, entonces en cada uno de los Elementos, en la parte superior, cerca del nombre de los elementos, se mostrará un punto verde (inicialmente es amarillo), luego verás un ícono de Chat Azul debajo del ícono de Thunderbolt. Haz clic en el ícono de Chat Azul.

Después de hacer clic en él, se abrirá una ventana de chat para que puedas chatear. Ahora puedes chatear con el Modelo de Lenguaje Grande que hemos dado en la interfaz de usuario. Intentemos preguntarle al bot “¿Cómo estás?”, para esto, el bot debe dar una respuesta divertida.

Podemos ver que el bot de hecho ha respondido de manera divertida siguiendo nuestra Plantilla de Prompt. Comparte con cualquier persona simplemente exportándolo a JSON. Este es solo uno de los casos de uso de ejemplo de lo que podemos lograr con LangFlow y LangChain.

Conclusión

La interfaz de usuario de LangFlow está construida sobre el Framework LangChain de Python, un paquete con el que se trabaja extensamente para crear aplicaciones con Modelos de Lenguaje Grande. Hemos visto los Componentes en la interfaz de usuario y hemos visto cómo uno puede construir modelos con la interfaz de usuario y compartirlos con otra persona exportándolos a un archivo JSON. Con esta interfaz de usuario, las posibilidades de crear aplicaciones de alta gama son infinitas.

Puntos clave

  • LangFlow proporciona una función de arrastrar y soltar fácil para construir aplicaciones con LLMs
  • La interfaz de usuario de LangFlow está disponible en Python y JavaScript
  • Esta interfaz de usuario permite a los usuarios convertir su aplicación en archivos JSON, lo que facilita su compartición
  • LangFlow incluso viene con un paquete de Python, que el usuario puede instalar y ejecutar la aplicación construida en LangFlow proporcionando la ruta al archivo JSON
  • LangFlow facilita a los no desarrolladores la construcción de aplicaciones con Modelos de Lenguaje Grande

Preguntas frecuentes

Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Búsqueda de empleo en Ciencia de Datos 5 libros que guiaron mi camino hacia el empleo

¡Sé que ha sido difícil! En medio de estos tiempos desafiantes, es innegable que estamos enfrentando dificultades sig...

Ciencia de Datos

Uniéndose a la lucha contra el sesgo en la atención médica

Leo Anthony Celi invita a la industria a ampliar su enfoque en la recolección y análisis de datos clínicos para todas...

Inteligencia Artificial

Adaptando estrategias de API a la tendencia dinámica de la IA

La inteligencia artificial está recibiendo mucha atención en estos días. Este artículo explora lo que significa la te...

Inteligencia Artificial

Abogado penalista advierte que la IA podría hacer que los tribunales duden de sus propios ojos

El gobierno federal de Australia está considerando nuevas regulaciones para la tecnología de inteligencia artificial.

Inteligencia Artificial

Investigadores de Google AI presentan MADLAD-400 un conjunto de datos de dominio web con tokens de 2.8T que abarca 419 idiomas.

En el campo en constante evolución del Procesamiento del Lenguaje Natural (NLP, por sus siglas en inglés), el desarro...

Inteligencia Artificial

Herramientas imprescindibles para un ingeniero de aprendizaje automático

Cambié mi carrera de Consultor SAP a Científico de Datos hace aproximadamente 4 años. Después de seguir un plan de es...