talón AutoGen: potenciando aplicaciones de modelos de lenguajes grandes de próxima generación - Unite.AI
Contáctanos

Inteligencia artificial

AutoGen: potenciando aplicaciones de modelos de lenguajes grandes de próxima generación

mm

Publicado

 on

El marco de AutoGen

Modelos de lenguaje grande (LLM) son actualmente uno de los temas más discutidos en la IA convencional. Los desarrolladores de todo el mundo están explorando las posibles aplicaciones de los LLM. Estos modelos son algoritmos de inteligencia artificial que utilizan técnicas de aprendizaje profundo y grandes cantidades de datos de entrenamiento para comprender, resumir, predecir y generar una amplia gama de contenido, incluidos texto, audio, imágenes, videos y más.

Los modelos de lenguaje grandes son complejos algoritmos de inteligencia artificial. Desarrollar un modelo de este tipo es una tarea exhaustiva y construir una aplicación que aproveche las capacidades de un LLM es igualmente desafiante. Requiere experiencia, esfuerzo y recursos significativos para diseñar, implementar y, en última instancia, optimizar un flujo de trabajo capaz de aprovechar todo el potencial de un modelo de lenguaje grande para producir los mejores resultados. Dado el gran tiempo y recursos necesarios para establecer flujos de trabajo para aplicaciones que utilizan el poder de los LLM, la automatización de estos procesos tiene un valor inmenso. Esto es particularmente cierto ya que se prevé que los flujos de trabajo se volverán aún más complejos en el futuro cercano, y los desarrolladores crearán soluciones cada vez más sofisticadas. Aplicaciones basadas en LLM. Además, el espacio de diseño necesario para estos flujos de trabajo es complejo y amplio, lo que eleva aún más los desafíos de crear un flujo de trabajo óptimo y sólido que cumpla con las expectativas de rendimiento.

Generación automática es un marco desarrollado por el equipo de Microsoft que tiene como objetivo simplificar la orquestación y optimización de los flujos de trabajo de LLM mediante la introducción de la automatización en el proceso de flujo de trabajo. El marco AutoGen ofrece agentes conversables y personalizables que aprovechan el poder de los LLM avanzados como GPT-3 y GPT-4 y, al mismo tiempo, abordan sus limitaciones actuales integrando los LLM con herramientas y aportes humanos mediante el uso de chats automatizados para iniciar conversaciones. entre múltiples agentes. 

Cuando se utiliza el marco AutoGen, todo lo que se necesita son dos pasos para desarrollar un sistema complejo de conversación multiagente. 

Paso 1: Defina un conjunto de agentes, cada uno con sus roles y capacidades. 

Paso 2: Defina el comportamiento de interacción entre agentes, es decir, un agente debe saber qué responder cuando recibe un mensaje de otro agente. 

Los dos pasos anteriores son modulares e intuitivos, lo que hace que estos agentes sean componibles y reutilizables. La siguiente figura muestra un flujo de trabajo de muestra que aborda la respuesta a preguntas basada en código en la optimización de la cadena de suministro. Como puede verse, el escritor primero escribe el código y la interpretación, Safeguard garantiza la privacidad y seguridad del código, y luego el Commander ejecuta el código después de recibir la autorización requerida. Si el sistema encuentra algún problema durante el tiempo de ejecución, el proceso se repite hasta que se resuelva por completo. La implementación del siguiente marco da como resultado una reducción de la cantidad de interacción manual de 3 a 10 veces cuando se implementa en aplicaciones como la optimización de la cadena de suministro. Además, el uso de AutoGen también reduce la cantidad de esfuerzo de codificación hasta cuatro veces. 

AutoGen podría cambiar las reglas del juego, ya que tiene como objetivo transformar el proceso de desarrollo de aplicaciones complejas aprovechando el poder de los LLM. El uso de AutoGen no sólo puede reducir la cantidad de interacciones manuales necesarias para lograr los resultados deseados, sino que también puede reducir la cantidad de esfuerzos de codificación necesarios para crear aplicaciones tan complejas. El uso de AutoGen para crear Aplicaciones basadas en LLM no sólo puede acelerar significativamente el proceso, sino que también ayudará a reducir la cantidad de tiempo, esfuerzo y recursos necesarios para desarrollar estas aplicaciones complejas. 

En este artículo, profundizaremos en el marco de AutoGen y exploraremos los componentes y la arquitectura esenciales del marco de AutoGen, junto con sus aplicaciones potenciales. Vamos a empezar. 

Introducción a AutoGen: potenciando aplicaciones de modelos de lenguajes grandes de próxima generación

AutoGen es un marco de código abierto desarrollado por el equipo de Microsoft que brinda a los desarrolladores el poder de crear aplicaciones aprovechando el poder de los LLM utilizando múltiples agentes que pueden conversar entre sí para ejecutar con éxito las tareas deseadas. Los agentes en AutoGen son conversables, personalizables y pueden operar en diferentes modos que emplean la combinación de herramientas, aportación humana y LLM. Los desarrolladores también pueden usar el marco AutoGen para definir el comportamiento de interacción de los agentes, y los desarrolladores pueden usar código de computadora y lenguaje natural para programar patrones de conversación flexibles implementados en varias aplicaciones. Al ser un marco de código abierto, AutoGen puede considerarse un marco genérico que los desarrolladores pueden utilizar para crear aplicaciones y marcos de diversas complejidades que aprovechen el poder de los LLM. 

Los grandes modelos de lenguaje están desempeñando un papel crucial en el desarrollo de agentes que utilizan los marcos LLM para adaptarse a nuevas observaciones, uso de herramientas y razonamiento en numerosas aplicaciones del mundo real. Pero desarrollar estas aplicaciones que puedan aprovechar todo el potencial de los LLM es un asunto complejo y, dada la demanda y las aplicaciones cada vez mayores de los LLM, junto con el aumento de la complejidad de las tareas, es vital ampliar el poder de estos agentes mediante el uso de múltiples agentes. que funcionan en sincronía entre sí. Pero, ¿cómo se puede utilizar un enfoque de múltiples agentes para desarrollar aplicaciones basadas en LLM que luego puedan aplicarse a una amplia gama de dominios con diversas complejidades? El marco AutoGen intenta responder a la pregunta anterior mediante el uso de conversaciones entre múltiples agentes. 

AutoGen: componentes y marco

En un intento por reducir la cantidad de esfuerzo que los desarrolladores deben realizar para crear aplicaciones complejas utilizando capacidades LLM en una amplia gama de dominios, el principio fundamental de AutoGen es consolidar y optimizar los flujos de trabajo de múltiples agentes mediante el uso de conversaciones entre múltiples agentes. , maximizando así también la reutilización de estos agentes implementados. AutoGen utiliza múltiples agentes que pueden conversar entre sí para ejecutar con éxito las tareas deseadas, y el marco se basa en dos conceptos fundamentales: Agentes conversables y Programación conversable. 

Agentes conversables

Un agente conversable en AutoGen es una entidad con una función predefinida que puede pasar mensajes para enviar y recibir información hacia y desde otros agentes conversables. Un agente conversable mantiene su contexto interno en función de los mensajes recibidos o enviados, y los desarrolladores pueden configurar estos agentes para que tengan un conjunto único de capacidades, como estar habilitados por herramientas LLM o recibir aportaciones humanas. 

Capacidades de los agentes impulsadas por humanos, herramientas y LLM 

Las capacidades de un agente se relacionan directamente con la forma en que procesa y responde a los mensajes, que es la razón principal por la que los agentes en el marco de AutoGen permiten a los desarrolladores la flexibilidad de dotar de diversas capacidades a sus agentes. AutoGen admite numerosas capacidades componibles comunes para agentes que incluyen

  1. LLM: Los agentes respaldados por LLM explotan las capacidades de los marcos LLM avanzados, como la interferencia de estado implícita, el juego de roles, la retroalimentación e incluso la codificación. Los desarrolladores pueden utilizar técnicas novedosas de indicación para combinar estas capacidades en un intento de aumentar la autonomía o la habilidad de un agente. 
  2. Humanos: Varias aplicaciones desean o requieren cierto grado de participación humana, y el marco AutoGen permite que las aplicaciones basadas en LLM faciliten la participación humana en la conversación con agentes con el uso de agentes respaldados por humanos que podrían solicitar aportaciones humanas durante ciertas rondas de conversación sobre la base de la configuración del agente. 
  3. Herramientas: Los agentes respaldados por herramientas suelen tener la capacidad de utilizar la ejecución de código o la ejecución de funciones para ejecutar herramientas.

Cooperación y personalización de agentes

Según las necesidades y requisitos específicos de una aplicación, los desarrolladores pueden configurar agentes individuales para que tengan una combinación de tipos de back-end esenciales para mostrar el comportamiento complejo involucrado en conversaciones entre múltiples agentes. El marco AutoGen permite a los desarrolladores crear fácilmente agentes con funciones y capacidades especializadas ampliando o reutilizando los agentes integrados. La figura adjunta a continuación demuestra la estructura básica de los agentes integrados en el marco de AutoGen. La clase ConversableAgent puede utilizar humanos, herramientas y LLM de forma predeterminada, ya que es la abstracción de agente de más alto nivel. UserProxyAgent y AssistantAgent son clases preconfiguradas de ConversableAgent, y cada una de ellas representa un modo de uso común, es decir, cada uno de estos dos agentes actúa como un asistente de IA (cuando está respaldado por LLM) y solicita información humana o ejecuta llamadas de funciones. o códigos (cuando están respaldados por herramientas y/o humanos) actuando como un proxy humano. 

La siguiente figura demuestra cómo los desarrolladores pueden usar el marco AutoGen para desarrollar un sistema de dos agentes que tiene una función de respuesta personalizada, junto con una ilustración del chat de agente automatizado resultante que utiliza el sistema de dos agentes durante la ejecución del programa. 

Al permitir el uso de agentes personalizados que pueden conversar entre sí, estos agentes conversables sirven como un componente fundamental en el marco de AutoGen. Sin embargo, los desarrolladores deben especificar y moldear estas conversaciones entre múltiples agentes para desarrollar aplicaciones en las que estos agentes puedan lograr avances sustanciales en las tareas especificadas. 

Programación de conversación

Para resolver el problema planteado anteriormente, el marco AutoGen utiliza programación de conversación, un paradigma informático construido sobre dos conceptos esenciales: cálculo, las acciones tomadas por los agentes en una conversación entre múltiples agentes para calcular su respuesta y flujo de control, las condiciones o secuencia bajo las cuales se llevan a cabo estos cálculos. La capacidad de programarlos permite a los desarrolladores implementar numerosos patrones flexibles de conversaciones entre múltiples agentes. Además, en el marco de AutoGen, los cálculos se centran en la conversación. Las acciones tomadas por un agente son relevantes para las conversaciones en las que participa el agente, y las acciones tomadas por los agentes dan como resultado el paso de mensajes para conversaciones posteriores hasta el punto en que se cumple una condición de terminación. Además, el flujo de control en el marco de AutoGen está impulsado por conversaciones, ya que es la decisión de los agentes participantes sobre qué agentes enviarán mensajes hacia y desde el procedimiento de cálculo. 

La figura anterior muestra una ilustración simple de cómo los agentes individuales realizan sus operaciones específicas de función y cálculos centrados en la conversación para generar las respuestas deseadas, como la ejecución de código y las llamadas de interferencia LLM. La tarea avanza con la ayuda de las conversaciones que se muestran en el cuadro de diálogo. 

Para facilitar la programación de conversaciones, el marco AutoGen presenta los siguientes patrones de diseño. 

  • Mecanismos de respuesta automática e interfaz unificada para chats automatizados con agentes

El marco AutoGen tiene una interfaz unificada para realizar el cálculo correspondiente que se centra en la conversación por naturaleza, incluido un “función de recibir o enviar” para recibir o enviar mensajes junto con un "generar_respuesta”Función que genera una respuesta en función del mensaje recibido y toma la acción requerida. El marco AutoGen también introduce e implementa el respuesta automática del agente mecanismo por defecto para realizar el control basado en conversaciones. 

  • Control por fusión de lenguaje natural y programación.

El marco AutoGen facilita el uso de lenguaje natural y programación en varios patrones de gestión de flujo de control que incluyen: Controles de lenguaje natural mediante LLMControl del lenguaje de programacióny Controlar la transición entre programación y lenguaje natural.

Avanzando, además de las conversaciones estáticas que generalmente van acompañadas de un flujo predefinido, el marco AutoGen también admite flujos de conversación dinámicos utilizando múltiples agentes, y el marco proporciona a los desarrolladores dos opciones para lograrlo.

  1. Mediante el uso de llamadas a funciones. 
  2. Mediante el uso de una función personalizada de generación de respuesta. 

Aplicaciones del AutoGen

Para ilustrar el potencial del marco AutoGen en el desarrollo de aplicaciones complejas de múltiples agentes, aquí hay seis aplicaciones potenciales de AutoGen que se seleccionan en función de su relevancia en el mundo real, capacidades de resolución de problemas mejoradas por el marco AutoGen, y su potencial innovador. 

Estas seis aplicaciones del marco AutoGen son

  1. Resolución de problemas matemáticos. 
  2. Recuperación de chats aumentados. 
  3. Charlas ALF. 
  4. Codificación multiagente. 
  5. Chat grupal dinámico. 
  6. Ajedrez conversacional. 

Aplicaciones del marco AutoGen

Aplicación 1: Resolución de problemas matemáticos

Las matemáticas son una de las disciplinas fundamentales para aprovechar los modelos LLM para ayudar a resolver problemas matemáticos complejos que abren un mundo completamente nuevo de aplicaciones potenciales, incluida la asistencia en la investigación de IA y la tutoría personalizada de IA. 

La figura adjunta arriba demuestra la aplicación del marco AutoGen para lograr un desempeño competitivo en la resolución de problemas matemáticos. 

Aplicación 2: Generación de código aumentada de recuperación y respuesta a preguntas

En los últimos meses, la generación de código aumentada de recuperación ha surgido como un enfoque eficaz y práctico para superar las limitaciones de los LLM a la hora de incorporar documentos externos. La siguiente figura demuestra la aplicación del marco AutoGen para un aumento de recuperación eficaz y un aumento del rendimiento en tareas de preguntas y respuestas. 

Aplicación 3: Toma de decisiones en entornos de mundo textual

El marco AutoGen se puede utilizar para crear aplicaciones que funcionen con la toma de decisiones interactiva o en línea. La siguiente figura demuestra cómo los desarrolladores pueden utilizar el marco AutoGen para diseñar un sistema conversacional de tres agentes con un agente de conexión a tierra para aumentar significativamente el rendimiento. 

Aplicación 4: Codificación multiagente

Los desarrolladores que trabajan en el marco AutoGen pueden utilizar el marco OptiGuide para crear un sistema de codificación multiagente que sea capaz de escribir código para implementar soluciones optimizadas y responder preguntas de los usuarios. La siguiente figura demuestra que el uso del marco AutoGen para crear un diseño de múltiples agentes ayuda a mejorar significativamente el rendimiento general, especialmente al realizar tareas de codificación que requieren protección. 

Aplicación 5: Chat grupal dinámico

El marco AutoGen brinda soporte para un patrón de comunicación que gira en torno a chats grupales dinámicos en los que los múltiples agentes participantes comparten el contexto y, en lugar de seguir un conjunto de órdenes predefinidas, conversan entre sí de manera dinámica. Estos chats grupales dinámicos se basan en conversaciones continuas para guiar el flujo de interacción dentro de los agentes. 

La figura anterior ilustra cómo el marco AutoGen admite chats grupales dinámicos entre agentes mediante el uso de "Administrador de chat grupal”, un agente especial. 

Aplicación 6: Ajedrez conversacional

Los desarrolladores del marco AutoGen lo utilizaron para desarrollar una aplicación de ajedrez conversacional que es un juego de interferencia natural que presenta agentes integrados para jugadores que pueden ser LLM o humanos, y también hay un agente de terceros que proporciona información relevante. información y valida los movimientos en el tablero basándose en un conjunto de reglas estándar predefinidas. La figura adjunta a continuación muestra el ajedrez conversacional, un juego de interferencia natural creado utilizando el marco AutoGen que permite a los jugadores usar chistes, personajes o incluso referencias a memes para expresar sus movimientos de manera creativa, lo que hace que el juego de ajedrez sea más interesante no solo para los jugadores. , sino también para el público y los observadores. 

Conclusión

En este artículo hemos hablado de AutoGen, un marco de código abierto que utiliza los conceptos de programación de conversaciones y agentes conversables y que tiene como objetivo simplificar la orquestación y optimización de los flujos de trabajo de LLM mediante la introducción de la automatización en el proceso de flujo de trabajo. El marco AutoGen ofrece agentes conversables y personalizables que aprovechan el poder de los LLM avanzados como GPT-3 y GPT-4 y, al mismo tiempo, abordan sus limitaciones actuales integrando los LLM con herramientas y aportes humanos mediante el uso de chats automatizados para iniciar conversaciones. entre múltiples agentes. 

Aunque el marco AutoGen aún se encuentra en sus primeras etapas experimentales, allana el camino para futuras exploraciones y oportunidades de investigación en el campo, y AutoGen podría ser la herramienta que ayude a mejorar la velocidad, las funcionalidades y la facilidad de desarrollo de aplicaciones que aprovechan el marco. capacidades de los LLM. 

"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.