Comparativa entre herramientas de creación de agentes inteligentes
Introducción
En Onesait Platform se hace uso de Flowise, pero antes de decidirnos por esta herramienta, se llevó a cabo un análisis de las herramientas existentes para decidir cuál era la mejor opción para la Plataforma.
Por ello, durante el tercer trimestre de 2024 se estuvo analizando qué herramientas integrar para la creación de agentes inteligentes (IA), considerando dos opciones: Flowise y Langflow.
Un vistazo a los candidatos
Flowise
Esta es una herramienta low code de código abierto pensada para que los desarrolladores creen flujos de orquestación LLM y agentes inteligentes personalizados de manera rápida y sencilla. Está construida sobre NodeJS y tiene multitud de herramientas para usar en los flujos.
En el siguiente vídeo se analiza y ve la potencia que tiene esta herramienta:
En GitHub se puede descargar e instalar Flowise para probarlo en local:
Se puede encontrar más información al respecto en su página web.
Langflow
Esta otra herramienta web, también de código abierto, se encuentra construida en Python y ofrece una interfaz gráfica para definir flujos LLM con LangChain, permitiendo manejar los conceptos de «Chains», «Agents» y «Prompt Engineering» de una forma muy sencilla.
En este vídeo se puede hacer a la idea de la potencia de la herramienta, mostrándose cómo crear una Newsletter con Langflow de manera rápida y con unos pocos clics:
En GitHub se puede descargar e instalar Langflow para probarlo en local:
Se puede encontrar más información al respecto en su página web.
Análisis de las herramientas
Ambas herramientas van a permitir crear agentes inteligentes de manera visual a modo de flujo de manera sencilla y rápida, mediante el uso de drag & drop de funcionalidades, pero evidentemente existen diferencias entre ambas.
La más significativa de todas es, sin duda, en cuanto al uso general de cada una de ellas. Si bien ambas herramientas son muy potentes, se puede decir que Langflow está más orientada a la creación de un chat bot, mientras que Flowise permite abarcar un abanico más amplio de aplicaciones de inteligencia artificial.
Para llevar a cabo la elección de la herramienta final a implementar, se ha valorado no solo esta importante diferencia, sino también otros puntos que se consideraron de especial interés:
Interfaz
Se buscaba que el interfaz de usuario fuese sencillo y fácil de utilizar, a lo que ambas herramientas cumplían sin problemas.
Documentación
Sin documentación lejos se puede llegar, y nuevamente en ambos casos cuentan con extensa documentación y una amplia comunidad. Desde el punto de vista de la Plataforma, Flowise tiene algo más de detalle, concretamente en cuanto a configuración y despliegue se refiere, lo que facilita las cosas.
Como referencia, la documentación a cada herramienta es la siguiente:
Flowise: https://docs.flowiseai.com/
Langflow: https://docs.langflow.org/
Componentes disponibles y extensiones
En este punto, Flowise dispone de una mayor cantidad de componentes especializados. Además, ofrece la posibilidad de crear herramientas personalizadas desde funciones/módulos de NodeJS, con la ventaja que eso implica.
Facilidad de integración con Onesait Platform
Este aspecto no es baladí, pues si se enfoca desde el punto de vista de mantener un ecosistema de tecnologías reducido y reutilizable, en este caso Flowise cuadra mucho mejor con la arquitectura de Onesait Platform.
Principalmente se han valorado los siguientes aspectos:
Tecnología base: Flowise está basado en NodeJS, lo que va a permitir reducir el número de tecnologías distintas a usar, ya que otros componentes que se utilizan en la Plataforma, como FlowEngine, están también basados en NodeJS.
Base de datos: tanto Flowise como Langflow requieren de una base de datos relacional para almacenar la definición de los flujos de trabajo. En el caso de Flowise, cuenta con más diversidad para configurar, mientras que LangFlow solo permite el uso de PostgreSQL. La elección de Flowise en este caso va a permitir poder usar nuestra propia base de datos de configuración (configDB). Esto simplifica no solo la arquitectura, sino también en los despliegues, ya que no se tendrá que estar gestionando distintos almacenes de datos, con el coste que ello lleva.