Contáctenos

OpenAgents: una plataforma abierta para agentes lingüísticos en la naturaleza

Inteligencia Artificial

OpenAgents: una plataforma abierta para agentes lingüísticos en la naturaleza

mm

Desarrollos recientes han demostrado que los agentes lingüísticos, en particular los creados sobre modelos de lenguaje grandes (LLM), tienen el potencial de realizar una amplia gama de tareas complejas en diversos entornos utilizando el lenguaje natural. Sin embargo, el enfoque principal de la mayoría de los marcos de agentes lingüísticos actualmente es facilitar la construcción de agentes lingüísticos de prueba de concepto. Este enfoque a menudo viene acompañado de poca o ninguna atención a los diseños a nivel de aplicación y con frecuencia descuida la accesibilidad de estos agentes para usuarios no expertos.

Para superar las limitaciones actuales que experimentan los agentes lingüísticos, los desarrolladores han ideado la Marco OpenAgents, una plataforma abierta para alojar e implementar agentes lingüísticos en la naturaleza y en una serie de tareas cotidianas. El marco OpenAgents se basa en tres agentes.

  • Agente de datos: Ayuda con el análisis de datos utilizando herramientas de datos y lenguajes de consulta como SQL o lenguajes de programación como Python. 
  • Agentes de complementos: Ayuda proporcionando acceso a más de 200 herramientas API útiles para las tareas diarias. 
  • Agentes web: Ayuda a navegar por la web manteniendo su anonimato. 

El marco OpenAgents utiliza una interfaz de usuario web optimizada para fallas comunes y respuestas rápidas en un intento de permitir que los usuarios generales interactúen con las funcionalidades del agente y, al mismo tiempo, ofrece a los investigadores y desarrolladores una experiencia de implementación perfecta en sus configuraciones locales. Sería seguro decir que el marco OpenAgents es un intento de proporcionar una base sólida para facilitar evaluaciones del mundo real y crear agentes lingüísticos innovadores, eficaces y avanzados. 

En el artículo de hoy, profundizaremos en el marco de OpenAgents y hablaremos sobre el marco con mayor detalle. Hablaremos sobre el funcionamiento y la arquitectura del marco, al mismo tiempo que discutiremos los desafíos comunes enfrentados y los resultados. Entonces empecemos. 

OpenAgents y agentes de lenguaje: una introducción

Los agentes del lenguaje, en esencia, se derivan de agentes inteligentes. Se conceptualiza que estos agentes inteligentes poseen capacidades autónomas de resolución de problemas, junto con la capacidad de sentir su entorno, tomar decisiones y actuar en consecuencia. Con avances en grandes modelos lingüísticos, la comunidad de desarrollo global ha aprovechado el concepto de agentes inteligentes y LLM para crear agentes lingüísticos. Estos agentes utilizan programación en lenguaje natural (NLP) para realizar una amplia gama de tareas complejas en diversos entornos y recientemente han demostrado un potencial notable.

Los marcos de agentes de lenguaje actuales, como Gravitas y Chase, proporcionan principalmente una interfaz de consola adaptada a los desarrolladores, junto con implementaciones de prueba de concepto. Sin embargo, a menudo restringen la accesibilidad a un público más amplio, en particular a aquellos que no dominan la codificación. Además, los puntos de referencia de los agentes actuales son construidos por desarrolladores con requisitos específicos para la evaluación determinista, especialmente en escenarios que requieren navegación web, codificación, utilización de herramientas o una combinación de estos.

En un esfuerzo por desarrollar agentes lingüísticos e inteligentes basados ​​en LLM para una base de usuarios más amplia, actores establecidos como OpenAI y Microsoft han implementado una gama de productos bien diseñados, incluido el análisis de datos avanzado, también conocido como Code Interpreter, y complementos de navegador. Aunque estos agentes son eficaces en sus funciones, ofrecen una ayuda limitada a la comunidad de desarrollo. Esta limitación surge porque el código de lógica empresarial y las implementaciones del modelo no han sido de código abierto, lo que obstaculiza las oportunidades para que los desarrolladores e investigadores los exploren más a fondo, además de limitar el acceso gratuito para los usuarios.

En un intento de abordar este problema, los desarrolladores han ideado Agentes abiertos, una plataforma de código abierto para alojar y utilizar agentes, y actualmente está construida sobre una base de tres agentes internos.

  • Agente de datos: Ayuda con el análisis de datos utilizando herramientas de datos y lenguajes de consulta como SQL o lenguajes de programación como Python. 
  • Agentes de complementos: Ayuda proporcionando acceso a más de 200 herramientas API útiles para las tareas diarias. 
  • Agentes web: Ayuda a navegar por la web manteniendo su anonimato. 

La siguiente figura muestra la plataforma OpenAgents para usuarios generales, desarrolladores e investigadores. 

  1. En lugar de utilizar consolas o paquetes orientados al programador, los usuarios generales pueden interactuar con los tres agentes en el marco OpenAgents mediante una interfaz web en línea. 
  2. Los desarrolladores pueden hacer uso de la lógica empresarial y los códigos de investigación proporcionados por el marco OpenAgents para implementar sin problemas el backend y el frontend para futuros desarrollos. 
  3. Los investigadores tienen la flexibilidad de crear nuevos agentes lingüísticos desde cero o implementar métodos relacionados con los agentes utilizando los componentes y ejemplos compartidos y evaluar su rendimiento mediante la interfaz de usuario web. 

En resumen, el marco OpenAgents está pensado originalmente para ser una plataforma holística y realista para la evaluación de agentes de lenguaje con participación humana que permita a los usuarios interactuar con estos agentes para completar una amplia gama de tareas, y estos agentes humanos. Las interacciones de los agentes junto con los comentarios de los usuarios se almacenan y analizan para su posterior desarrollo y evaluación. 

Para aquellos que no son conscientes, indicaciones de LLM es un proceso que permite a los desarrolladores elaborar instrucciones que protejan contra entradas adversas o incorrectas, mejoren la estética de la salida y se adapten a la lógica del backend. Durante la fase de desarrollo, los desarrolladores que trabajan en el marco OpenAgents utilizan la técnica de indicaciones LLM para subrayar la importancia de especificar los requisitos de la aplicación de manera efectiva. Sin embargo, los desarrolladores pronto observaron que la acumulación de estas instrucciones o indicaciones de LLM puede ser sustancial en momentos que podrían afectar las capacidades de manejo del contexto de los marcos de LLM junto con las limitaciones de los tokens. Los desarrolladores también observaron que para implementar estos agentes de manera efectiva en el mundo real, los modelos de agentes no solo deberían exhibir un rendimiento excepcional, sino que también deberían poder abordar una amplia gama de escenarios interactivos en tiempo real. A pesar de marcos de agentes actuales Cuando tienen cubierto el rendimiento, a menudo ignoran las consideraciones del mundo real, especialmente en tiempo real, lo que a menudo confunde el verdadero potencial de los marcos LLM al sacrificar la capacidad de respuesta o la precisión. 

En la siguiente figura, comparamos el marco de OpenAgents directamente con trabajos existentes sobre puntos de referencia sobre el concepto de agente y la construcción de prototipos. 

OpenAgents: Diseño e implementación de plataformas

El diseño sistemático o la arquitectura de la plataforma OpenAgents se puede dividir en dos componentes principales: Interfaz de usuario, incluyendo tanto backend como frontend, y Agente de idiomas, que comprende herramientas, modelos de lenguaje y entornos. El marco OpenAgents proporciona una interfaz para la comunicación entre los usuarios y los agentes. El flujo de interacción en el marco es el siguiente.

Los agentes utilizan las herramientas disponibles para planificar y tomar las acciones requeridas en los entornos una vez que han recibido aportaciones de los usuarios. La arquitectura o diseño sistemático del marco se demuestra en la siguiente imagen. 

Interfaz de usuario

Los desarrolladores del marco OpenAgents han pensado y esforzado mucho en desarrollar no sólo una interfaz de usuario altamente funcional sino también fácil de usar después de abordar una gran cantidad de agentes host y lógica empresarial reutilizable. Como resultado, el marco OpenAgents se jacta de brindar soporte para una amplia gama de tareas técnicas que incluyen manejo de errores, operaciones de servidor backend, transmisión de datos y mucho más, con el objetivo principal de hacer que el marco OpenAgents sea fácil de usar, pero altamente efectivo y utilizable al mismo tiempo. 

Agente de idiomas

Dentro del marco de OpenAgents, el agente de lenguaje tiene tres componentes esenciales: una interfaz de herramienta, un modelo de lenguaje y el entorno mismo. El método de solicitud implementado en el marco de OpenAgents crea un proceso secuencial a seguir por los agentes que comienza con Observación -> Deliberación -> Acción. El marco también solicita al LLM que genere texto analizable con mayor eficiencia, y la interfaz de la herramienta consta de analizadores que pueden traducir estos textos analizables generados por los LLM en acciones ejecutables, como realizar llamadas API o generar código. Estas acciones luego son ejecutadas por el marco dentro de los límites del entorno correspondiente. 

Agentes de OpenAgents

En el centro de OpenAgents, hay tres agentes distintos: Agente de datos que ayuda con el análisis de datos utilizando herramientas de datos y lenguajes de consulta como SQL o lenguajes de programación como Python. Agentes complementarios que ayuda proporcionando acceso a más de 200 herramientas API útiles para las tareas diarias, y Agentes web que ayuda a navegar por la web manteniendo su anonimato. Estos agentes tienen experiencia en dominios individuales similares a los complementos de ChatGPT; sin embargo, a diferencia de ChatGPT, la implementación en OpenAgents se basa exclusivamente en la interfaz de programación de aplicaciones o API de lenguaje abierto. 

Agente de datos

El agente de datos en el marco de OpenAgents ha sido diseñado e implementado de manera que pueda manejar una amplia gama de tareas relacionadas con datos que los usuarios finales encuentran de forma regular. Los agentes de datos admiten la generación y ejecución de código en dos lenguajes de programación, a saber, SQL y Python, y el agente también tiene varias herramientas de datos a su disposición, incluidas Perfil de datos para proporcionar información de datos básicos, Búsqueda de datos de Kaggle para buscar conjuntos de datos, y Herramienta de gráficos electrónicos para trazar gráficos electrónicos interactivos. Además, el marco de OpenAgents solicita al agente de datos que utilice estas herramientas de manera proactiva para responder de manera efectiva a las solicitudes de los usuarios finales. Además, dados los exhaustivos requisitos de codificación, el marco OpenAgents opta por modelos de lenguaje integrados para el agente de datos y, en lugar de que el agente genere el código, son las herramientas como Python, ECharts y SQL las que generan el código. Con este enfoque, el marco puede aprovechar completamente la destreza de programación de los modelos de lenguaje y, por lo tanto, reduce la tensión sobre el agente de datos. 

Con la ayuda de estas herramientas de datos, el agente de datos es capaz de gestionar numerosas solicitudes centradas en datos y realiza visualización, manipulación y consultas de datos de manera competente, superando así los límites de la generación de código y texto. La siguiente figura destaca un agente de datos en acción y las herramientas disponibles para los usuarios comunes. 

Agente de complementos

El agente de complemento en el marco OpenAgents ha sido diseñado meticulosamente por los desarrolladores para satisfacer los requisitos multifacéticos del usuario para las tareas diarias, como buscar en Internet, comprar en línea, leer noticias o crear sitios web y aplicaciones, brindando acceso a más de 200 complementos, con especial atención. se le paga por la interfaz de llamada de funciones, los pings de API y la duración de las respuestas de API. Algunos de los complementos destacados incluyen 

  1. Búsqueda de Google 
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Muéstrame
  7. Speak
  8. Pregunte a su PDF
  9. BizTok
  10. Mira

Según sus necesidades y requisitos, los usuarios pueden elegir la cantidad de complementos que desean que utilicen los agentes de complementos, y el funcionamiento se demuestra en la siguiente figura. 

Además, para ayudar a los usuarios en situaciones en las que no están seguros de qué complemento se adaptará mejor a sus necesidades, el marco OpenAgents ofrece a los usuarios una función que selecciona automáticamente los complementos más relevantes para sus instrucciones. 

Agentes web

El marco OpenAgents presenta al agente web como una herramienta especializada encargada de mejorar la eficiencia y las capacidades del agente de chat. Aunque el agente de chat aún alberga la interfaz de interacción principal, incorpora perfectamente el agente web cuando es necesario. Luego, el agente web entrega la respuesta final al usuario final y el proceso se ilustra en la siguiente figura. 

La estrategia de diseño implementada en estos agentes web demuestra ser de gran beneficio ya que el agente de chat procesa parámetros importantes o inicia URL sistemáticamente, antes de transferirlas al agente web, asegurando así una mejor alineación entre los requisitos del usuario y el resultado generado, por lo que dando como resultado una comunicación clara. Además, la estrategia también permite a los agentes web adaptarse a las consultas de los usuarios adaptables y en capas mediante el empleo de una navegación web dinámica de múltiples turnos junto con diálogos de chat. Por lo tanto, al demarcar claramente las funciones y responsabilidades de los agentes de chat y de navegación múltiple, el marco de OpenAgents deja paso al refinamiento y la evolución de cada módulo individual. 

OpenAgents: aplicaciones prácticas e implementación en el mundo real

En esta sección, hablaremos sobre la trayectoria del marco OpenAgents desde la teorización hasta la implementación en el mundo real junto con los desafíos encontrados y los aprendizajes absorbidos junto con las complejidades de evaluación que abordaron los desarrolladores. 

Uso de indicaciones para transformar modelos de lenguaje grandes en aplicaciones del mundo real

Cuando se utilizan indicaciones de LLM para crear aplicaciones del mundo real para usuarios finales, el marco de OpenAgents utiliza instrucciones de solicitud para especificar ciertos requisitos. El objetivo de algunas de las instrucciones es garantizar que la salida esté alineada con un formato específico, permitiendo así que se procese la lógica del backend, mientras que el objetivo de otras instrucciones es mejorar el atractivo estético de la salida, mientras que el resto protege el marco contra posibles ataques maliciosos. 

Factores incontrolables del mundo real

Cuando los desarrolladores implementaron el marco OpenAgents en el mundo real, fueron bienvenidos por una serie de factores incontrolables del mundo real desencadenados por la infraestructura de Internet, los usuarios, la lógica empresarial y más. Estos factores incontrolables obligaron a los desarrolladores a reevaluar y modificar algunas suposiciones basándose en investigaciones previas y, en última instancia, podrían conducir a situaciones en las que los usuarios finales pueden no estar satisfechos con la respuesta que genera el marco. 

Complejidad de la evaluación

Aunque los agentes construidos dirigidos directamente a las aplicaciones pueden tener una aplicación más amplia y facilitar una mejor evaluación, esto aumenta la complejidad de crear aplicaciones basadas en LLM, lo que dificulta el análisis del rendimiento de las aplicaciones. Además, este enfoque también aumenta la inestabilidad y extiende la cadena del sistema del LLM eso dificulta que el marco se adapte a diferentes componentes. Por lo tanto, tiene sentido perfeccionar el diseño del sistema y la lógica operativa de estos agentes para simplificar los procedimientos y garantizar resultados eficaces. 

Conclusión

En este artículo, hemos hablado del marco OpenAgents, una plataforma abierta para alojar e implementar agentes lingüísticos. en la naturaleza y en una serie de tareas cotidianas. El marco de OpenAgents se basa en tres agentes: Agente de datos, ayuda con el análisis de datos utilizando herramientas de datos y lenguajes de consulta como SQL o lenguajes de programación como Python, agentes de complemento, ayuda al brindar acceso a más de 200 herramientas API útiles para las tareas diarias y los agentes web le ayudan a navegar por la web mientras mantiene su anonimato. . El marco OpenAgents utiliza una interfaz de usuario web optimizada para fallas comunes y respuestas rápidas en un intento de permitir que los usuarios generales interactúen con las funcionalidades del agente y, al mismo tiempo, ofrece a los investigadores y desarrolladores una experiencia de implementación perfecta en sus configuraciones locales. Al proporcionar una plataforma transparente, holística y desplegable, OpenAgents pretende hacer que el potencial de los LLM sea accesible a una gama más amplia de usuarios, no limitados a investigadores y desarrolladores, sino también a usuarios finales con experiencia técnica limitada. 

"Ingeniero de profesión, escritor de corazón". Kunal es un escritor técnico con un profundo amor y comprensión de AI y ML, dedicado a simplificar conceptos complejos en estos campos a través de su atractiva e informativa documentación.