Connect with us

Inteligencia artificial

Auto-GPT y GPT-Engineer: Una guía detallada sobre los agentes de IA líderes de hoy

mm

Al comparar ChatGPT con agentes de IA autónomos como Auto-GPT y GPT-Engineer, surge una diferencia significativa en el proceso de toma de decisiones. Mientras que ChatGPT requiere una participación humana activa para impulsar la conversación, proporcionando orientación basada en las sugerencias del usuario, el proceso de planificación depende en gran medida de la intervención humana.

Los modelos de IA generativa como los transformadores son la tecnología central de última generación, que impulsa a estos agentes de IA autónomos. Estos transformadores se entrenan con grandes conjuntos de datos, lo que les permite simular capacidades de razonamiento y toma de decisiones complejas.

Orígenes de código abierto de agentes autónomos: Auto-GPT y GPT-Engineer

Muchos de estos agentes de IA autónomos provienen de iniciativas de código abierto lideradas por individuos innovadores que transforman flujos de trabajo convencionales. En lugar de ofrecer solo sugerencias, agentes como Auto-GPT pueden manejar tareas de manera independiente, desde compras en línea hasta la construcción de aplicaciones básicas. El intérprete de código de OpenAI tiene como objetivo mejorar ChatGPT de solo sugerir ideas a resolver activamente problemas con esas ideas.

Ambos Auto-GPT y GPT-Engineer están equipados con el poder de GPT 3.5 y GPT-4. Entienden la lógica del código, combinan múltiples archivos y aceleran el proceso de desarrollo.

La esencia de la funcionalidad de Auto-GPT radica en sus agentes de IA. Estos agentes están programados para ejecutar tareas específicas, desde tareas mundanas como la programación hasta tareas más complejas que requieren toma de decisiones estratégicas. Sin embargo, estos agentes de IA operan dentro de los límites establecidos por los usuarios. Al controlar su acceso a través de API, los usuarios pueden determinar la profundidad y alcance de las acciones que la IA puede realizar.

Por ejemplo, si se les asigna la tarea de crear una aplicación web de chat integrada con ChatGPT, Auto-GPT divide de manera autónoma el objetivo en pasos realizables, como crear un frontend de HTML o un backend de Python. Mientras la aplicación produce estos pasos de manera autónoma, los usuarios aún pueden supervisar y modificarlos. Como lo demuestra el creador de AutoGPT @SigGravitas, es capaz de construir y ejecutar un programa de prueba basado en Python.

https://twitter.com/SigGravitas/status/1642181498278408193

Aunque el diagrama a continuación describe una arquitectura más general de un agente de IA autónomo, ofrece una visión valiosa de los procesos que ocurren detrás de escena.

Arquitectura de agente de IA autónomo como Autogpt, GPT Engineer

Arquitectura de agente de IA autónomo

El proceso se inicia verificando la clave de API de OpenAI y inicializando varios parámetros, incluyendo el contenido de la memoria a corto plazo y la base de datos. Una vez que los datos clave se pasan al agente, el modelo interactúa con GPT3.5/GPT4 para recuperar una respuesta. Esta respuesta se convierte en formato JSON, que el agente interpreta para ejecutar una variedad de funciones, como realizar búsquedas en línea, leer o escribir archivos, o incluso ejecutar código. Auto-GPT emplea un modelo preentrenado para almacenar estas respuestas en una base de datos, y las interacciones futuras utilizan esta información almacenada como referencia. El ciclo continúa hasta que se considera que la tarea está completa.

Guía de configuración para Auto-GPT y GPT-Engineer

Configurar herramientas de vanguardia como GPT-Engineer y Auto-GPT puede agilizar su proceso de desarrollo. A continuación, se presenta una guía estructurada para ayudarlo a instalar y configurar ambas herramientas.

Auto-GPT

Configurar Auto-GPT puede parecer complejo, pero con los pasos correctos, se vuelve sencillo. Esta guía cubre el procedimiento para configurar Auto-GPT y ofrece información sobre sus diversas situaciones.

1. Requisitos previos:

  1. Entorno de Python: Asegúrese de tener Python 3.8 o posterior instalado. Puede obtener Python desde su sitio web oficial.
  2. Si planea clonar repositorios, instale Git.
  3. Clave de API de OpenAI: Para interactuar con OpenAI, se necesita una clave de API. Obtenga la clave desde su cuenta de OpenAI
Generación de clave de API de Open AI

Generación de clave de API de Open AI

Opciones de backend de memoria: Un backend de memoria sirve como mecanismo de almacenamiento para que AutoGPT acceda a los datos esenciales para sus operaciones. AutoGPT emplea capacidades de almacenamiento a corto y largo plazo. Pinecone, Milvus, Redis, y otros son algunas opciones disponibles.

2. Configuración del espacio de trabajo:

  1. Crear un entorno virtual: python3 -m venv myenv
  2. Activar el entorno:
    1. MacOS o Linux: source myenv/bin/activate

3. Instalación:

  1. Clonar el repositorio de Auto-GPT (asegúrese de tener Git instalado): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Para asegurarse de que esté trabajando con la versión 0.2.2 de Auto-GPT, deberá checkout a esa versión específica: git checkout stable-0.2.2
  3. Navegar al repositorio descargado: cd Auto-GPT
  4. Instalar las dependencias necesarias: pip install -r requirements.txt

4. Configuración:

  1. Ubicar .env.template en electorio principal /Auto-GPT. Duplicarlo y renombrarlo a .env
  2. Abrir .env y establecer su clave de API de OpenAI junto a OPENAI_API_KEY=
  3. De manera similar, para utilizar Pinecone u otros backends de memoria, actualice el archivo .env con su clave de API de Pinecone y región.

5. Instrucciones de línea de comandos:

Auto-GPT ofrece un conjunto rico de argumentos de línea de comandos para personalizar su comportamiento:

  • Uso general:
    • Mostrar ayuda: python -m autogpt --help
    • Ajustar configuraciones de IA: python -m autogpt --ai-settings <nombre de archivo>
    • Especificar un backend de memoria: python -m autogpt --use-memory <backend de memoria>
AutoGPT en CLI

AutoGPT en CLI

6. Iniciando Auto-GPT:

Una vez que las configuraciones estén completas, inicie Auto-GPT utilizando:

  • Linux o Mac: ./run.sh start
  • Windows: .\run.bat

Integración con Docker (Enfoque de configuración recomendado)

Para aquellos que buscan contenerizar Auto-GPT, Docker proporciona un enfoque simplificado. Sin embargo, tenga en cuenta que la configuración inicial de Docker puede ser ligeramente intrincada. Consulte la guía de instalación de Docker para obtener ayuda.

Proceda siguiendo los pasos a continuación para modificar la clave de API de OpenAI. Asegúrese de que Docker esté ejecutándose en segundo plano. Ahora, vaya alectorio principal de AutoGPT y siga los pasos a continuación en su terminal

  • Construir la imagen de Docker: docker build -t autogpt .
  • Ahora ejecute: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Con docker-compose:

  • Ejecutar: docker-compose run --build --rm auto-gpt
  • Para personalizaciones adicionales, puede integrar argumentos adicionales. Por ejemplo, para ejecutar con ambos –gpt3only y –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Dado el amplio grado de autonomía que Auto-GPT posee al generar contenido a partir de grandes conjuntos de datos, existe un riesgo potencial de que acceda involuntariamente a fuentes web maliciosas.

To mitigatear riesgos, operar Auto-GPT dentro de un contenedor virtual, como Docker. Esto garantiza que cualquier contenido potencialmente dañino permanezca confinado dentro del espacio virtual, manteniendo sus archivos y sistema externos intactos. Como alternativa, Windows Sandbox es una opción, aunque se reinicia después de cada sesión, lo que impide que retenga su estado.

Para la seguridad, siempre ejecute Auto-GPT en un entorno virtual, asegurándose de que su sistema permanezca aislado de salidas inesperadas.

Dado todo esto, todavía existe la posibilidad de que no pueda obtener los resultados deseados. Los usuarios de Auto-GPT informaron problemas recurrentes al intentar escribir en un archivo, encontrando frecuentemente intentos fallidos debido a nombres de archivo problemáticos. Aquí hay uno de esos errores: Auto-GPT (versión 0.2.2) no agrega el texto después del error "write_to_file returned: Error: El archivo ya ha sido actualizado

Se han discutido varias soluciones para abordar esto en el hilo de GitHub asociado para referencia.

GPT-Engineer

Flujo de trabajo de GPT-Engineer:

  1. Definición de la solicitud: Cree una descripción detallada de su proyecto utilizando lenguaje natural.
  2. Generación de código: Basado en su solicitud, GPT-Engineer comienza a trabajar, generando fragmentos de código, funciones o incluso aplicaciones completas.
  3. Refinamiento y optimización: Después de la generación, siempre hay espacio para mejoras. Los desarrolladores pueden modificar el código generado para cumplir con requisitos específicos, asegurando una calidad óptima.

El proceso de configuración de GPT-Engineer se ha condensado en una guía fácil de seguir. A continuación, se presenta un desglose paso a paso:

1. Preparación del entorno: Antes de sumergirse, asegúrese de tener suectorio de proyecto listo. Abra una terminal y ejecute el comando a continuación

  • Crear unectorio nuevo llamado ‘website’: mkdir website
  • Moverse alectorio: cd website

2. Clonar el repositorio:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navegar e instalar dependencias: Una vez clonado, cambie alectorio cd gpt-engineer e instale todas las dependencias necesarias make install

4. Activar el entorno virtual: Dependiendo de su sistema operativo, active el entorno virtual creado.

  • Para macOS/Linux: source venv/bin/activate
  • Para Windows, es ligeramente diferente debido a la configuración de la clave de API: set OPENAI_API_KEY=[su clave de API]

5. Configuración – Configuración de la clave de API: Para interactuar con OpenAI, necesitará una clave de API. Si aún no la tiene, regístrese en la plataforma de OpenAI y luego:

  • Para macOS/Linux: export OPENAI_API_KEY=[su clave de API]
  • Para Windows (como se mencionó anteriormente): set OPENAI_API_KEY=[su clave de API]

6. Inicialización del proyecto y generación de código: La magia de GPT-Engineer comienza con el archivo main_prompt que se encuentra en la carpeta projects .

  • Si desea iniciar un nuevo proyecto: cp -r projects/example/ projects/website

Aquí, reemplace ‘website’ con el nombre de su proyecto.

  • Edite el archivo main_prompt utilizando un editor de texto de su elección, escribiendo los requisitos de su proyecto.

  • Una vez que esté satisfecho con la solicitud, ejecute: gpt-engineer projects/website

Su código generado residirá en electorio workspace dentro de la carpeta del proyecto.

7. Post-generación: Aunque GPT-Engineer es poderoso, puede que no siempre sea perfecto. Inspeccione el código generado, realice cambios manuales si es necesario y asegúrese de que todo funcione sin problemas.

Ejemplo de ejecución

Solicitud:

“Quiero desarrollar una aplicación básica de Streamlit en Python que visualice datos de usuario a través de gráficos interactivos. La aplicación debe permitir a los usuarios cargar un archivo CSV, seleccionar el tipo de gráfico (por ejemplo, barra, pastel, línea) y visualizar dinámicamente los datos. Puede utilizar bibliotecas como Pandas para la manipulación de datos y Plotly para la visualización.”

Configuración y ejecución de GPT-Engineer

Configuración y ejecución de GPT-Engineer

Al igual que Auto-GPT, GPT-Engineer puede encontrarse con errores incluso después de una configuración completa. Sin embargo, en mi tercer intento, accedí con éxito a la siguiente página web de Streamlit. Asegúrese de revisar cualquier error en la página de problemas del repositorio de GPT-Engineer.

Aplicación de Streamlit generada utilizando GPT-Engineer

Aplicación de Streamlit generada utilizando GPT-Engineer

Bottlenecks actuales de los agentes de IA

Gastos operativos

Una sola tarea ejecutada por Auto-GPT puede involucrar numerosos pasos. Lo importante es que cada uno de estos pasos podría cobrarse individualmente, aumentando los costos. Auto-GPT puede quedar atrapado en bucles repetitivos, fallando en entregar los resultados prometidos. Estos acontecimientos comprometen su confiabilidad y socavan la inversión.

Imagínese querer crear un ensayo corto con Auto-GPT. La longitud ideal del ensayo es de 8K tokens, pero durante el proceso de creación, el modelo se adentra en múltiples pasos intermedios para finalizar el contenido. Si está utilizando GPT-4 con una longitud de contexto de 8k, para la entrada, se le cobraría $0.03. Y para la salida, el costo sería $0.06. Ahora, supongamos que el modelo se encuentra con un bucle inesperado, volviendo a hacer ciertas partes múltiples veces. No solo el proceso se vuelve más largo, sino que cada repetición también suma al costo.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del Aprendizaje Automático y el Aprendizaje Profundo. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad continua también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.