Auto GPT explicado: una guía completa de Auto-GPT para tu caso de uso único
Este artículo se publicó originalmente en The Sequence y se vuelve a publicar aquí con permiso.
En diciembre de 2022, ChatGPT, la interfaz de chatbot impulsada por GPT, introdujo los grandes modelos de lenguaje (LLMs) en los medios convencionales. Desde entonces, han aparecido numerosas apps de GPT. ¿Una de las más populares? Auto-GPT. Una app de código abierto basada en GPT que busca hacer que GPT sea completamente autónomo. En unas pocas semanas, ha acumulado más de 120 mil estrellas en GitHub, eclipsando a PyTorch, Scikit-Learn, HuggingFace Transformers y cualquier otra biblioteca de IA/ML de código abierto que se te ocurra.
¿Qué hace que Auto-GPT sea un proyecto tan popular? Primero, muestra potencial para cumplir con la visión autodenominada de un GPT autónomo. Auto-GPT tiene “agentes” integrados para buscar en la web, hablar, llevar un registro de conversaciones y más. La gente lo ha usado para pedir pizza, programar apps y vender merchandising. Ahora es tu turno de aprender a aprovechar Auto-GPT para potenciar tu flujo de trabajo y automatizar tareas mundanas.
En este tutorial de Auto GPT, aprenderás:
- ¿Qué es Auto-GPT?
- Cómo configurar Auto GPT en minutos
- Configurar
.envpara Auto-GPT
- Configurar
- Ejecutar tu primera tarea con Auto-GPT
- Añadir memoria a Auto-GPT
- Usar Milvus Standalone (Docker Compose)
- Usar Milvus Lite(Pip Install)
- Resumen de "Auto-GPT explicado"
¿Qué es Auto-GPT?
La IA ha estado en auge recientemente. Se informa que ChatGPT es la app de crecimiento más rápido de todos los tiempos, alcanzando más de mil millones de visitantes mensuales en febrero de 2023. Los LLMs han sido proclamados como la llegada de la Inteligencia Artificial General (AGI), el futuro del software y el avance tecnológico que llevará a la humanidad a la iluminación o a la destrucción. Sin embargo, los LLMs tienen un defecto evidente. No pueden actuar por sí mismos. Requieren que alguien los incite repetidamente de una tarea a otra.
Auto-GPT se propone resolver este problema. Auto-GPT es un software de código abierto que busca permitir que GPT-4 funcione de forma autónoma. ¿Cómo proporciona esta autonomía? Mediante el uso de agentes. Auto-GPT permite a los usuarios poner en marcha agentes para realizar tareas como navegar por internet, hablar mediante herramientas de texto a voz, escribir código, llevar un registro de sus entradas y salidas, y más.
Esta funcionalidad ampliada alimenta el entusiasmo y la narrativa fatalista de los medios. Sin embargo, no tienes que tener miedo de la IA. Siempre que entiendas cómo aprovechar la IA para tu propio bien, tu narrativa de la IA puede ser positiva y productiva. Así que veamos cómo puedes poner Auto GPT en marcha en tu máquina local en solo unos minutos.
Cómo configurar Auto-GPT en minutos
Cómo configurar auto-GPT
Auto-GPT es sorprendentemente fácil de configurar. Primero, ve a la página de GitHub de Auto-GPT y copia el enlace de clonación. Luego, abre tu terminal o instancia de VSCode y navega a un directorio de trabajo. Para mí, es ~/Documents/workspace. Usa git clone [git@github.com](mailto:git@github.com):Significant-Gravitas/Auto-GPT.git para clonar el repositorio localmente. A continuación, navega a la carpeta recién creada.
En la carpeta recién creada, crea un nuevo entorno virtual de Python para tener una base limpia. Una vez que estés en tu entorno virtual, ejecuta pip install -r requirements.txt para instalar todas las dependencias. Ahora tenemos Auto-GPT instalado. Lo último que necesitamos hacer para poner una instancia en marcha es colocar nuestra clave de API de OpenAI en las variables de entorno.
Configura .env para Auto-GPT
configure-env.png
Auto-GPT tiene un archivo titulado .env.template en su directorio raíz. Tenemos que cambiar este nombre de archivo a simplemente .env. Luego, podemos usar este archivo para almacenar toda la información que necesitamos para conectarnos con las herramientas externas que le dan a Auto-GPT sus capacidades autónomas. Hay un cambio que debemos hacer antes de poder siquiera iniciar Auto-GPT. Tenemos que cambiar el valor de OPENAI_API_KEY por nuestra clave de OpenAI API.
Ejecuta tu primera tarea con Auto-GPT
run-task-auto-gpt.png
Con tu clave de OpenAI API actualizada, puedes empezar a usar Auto-GPT para automatizar parte del trabajo por ti. En este ejemplo, automatizamos la creación de un boletín sobre los avances más impactantes en IA del mes pasado. Ejecuta python -m autogpt en tu terminal para iniciarlo. Cuando iniciamos Auto-GPT, nos pide que le demos un nombre, definamos un rol para él y le demos algunos objetivos.
run-first-task-auto-gpt.png
En este ejemplo, llamamos a nuestra IA “Newsletter-Generator”. Para el siguiente prompt, le decimos a la IA que Newsletter-Generator es una IA diseñada para investigar y escribir boletines de forma autónoma sobre avances en IA. A continuación, Auto-GPT nos pide que demos hasta cinco objetivos para nuestra IA.
Le he dado a Newsletter-Generator tres objetivos. Primero, investigar y encontrar los avances en IA más impactantes del último mes. Segundo, recopilar y resumir artículos sobre los avances en IA más impactantes del último mes. Tercero, escribir un boletín sobre la investigación que se ha realizado. Una vez completada la configuración, Auto-GPT genera un archivo llamado ai_settings.yaml para guardar esta configuración y comienza sus tareas.
Para cada tarea , proporciona pensamientos, razonamiento, un plan, una crítica de su plan y el siguiente paso. Antes de ejecutar una tarea, nos pide aprobación o comentarios sobre su plan. Podemos permitirle realizar las siguientes N tareas de forma autónoma sin pedirnos aprobación si queremos.
auto-gpt-ability.png
En la imagen de arriba, vemos la capacidad de Auto-GPT para discernir que el primer artículo que encontró en Google en realidad no contiene la información necesaria para completar su tarea. Nos devuelve esto y luego propone el siguiente paso para obtener los avances en IA impactantes del mes pasado.
Añadir memoria a Auto-GPT
adding-memory-auto-gpt.png
Al usar la opción de almacenamiento “local” predeterminada de Auto-GPT, Auto-GPT genera un documento llamado auto-gpt.json que se parece a la imagen de arriba. Contiene un bloque de texto seguido de un montón de números. Los bloques de texto hacen seguimiento de tu conversación actual con Auto-GPT y los números son los embeddings vectoriales que representan esa conversación.
Usar un archivo JSON para la memoria no es una solución escalable. A medida que trabajas más con Auto-GPT, produce más datos. No solo en forma de memoria de tu conversación hasta ahora, sino también archivos para escribir y “agentes” adicionales. Aunque JSON puede hacer seguimiento de esta información, si alguna vez quieres buscar, recuperar o editar cualquier cosa que hayas creado, necesitarás un backend de almacenamiento permanente.
Por suerte, Auto-GPT puede usar muchos backends de memoria diferentes. Dado que estamos almacenando datos vectoriales, una base de datos vectorial como Milvus es una solución ideal. Milvus es una base de datos vectorial de código abierto con múltiples soluciones, incluidas soluciones distribuidas para ejecutarse en Kubernetes o Docker y una forma de ejecutar una instancia local. En este ejemplo, cubrimos dos formas de usar Milvus como backend.
Primero, cubrimos cómo usar Milvus Standalone, una solución distribuida que usa Docker Compose y que puedes ejecutar localmente. Segundo, cubrimos cómo usar Milvus Lite, para instanciar y usar una base de datos vectorial en tu código Python. La primera solución solo requiere un par de cambios en el código de Auto-GPT, pero requiere que descargues Milvus mediante Docker Compose. La segunda solución requiere algunos cambios más en el paquete existente, pero te permite usar Milvus con solo un pip install.
Uso de Milvus Standalone (Docker Compose)
Usar Milvus Standalone como solución de memoria requiere menos cambios en el código de Auto-GPT, pero requiere Docker. Sigue las instrucciones de Milvus Standalone y pon una instancia en funcionamiento en un contenedor Docker local.
Una vez que tenemos una instancia de Milvus en funcionamiento, solo necesitamos hacer algunos cambios para que Auto-GPT use nuestra instancia de Milvus para almacenamiento a largo plazo. En el archivo .env, busca MEMORY_BACKEND y cámbialo de local a milvus. Luego, busca MILVUS. Debajo de MILVUS hay dos variables de entorno, MILVUS_ADDR y MILVUS_COLLECTION. Descoméntalas. Puedes dejar los valores predeterminados.
Ejecuta pip install pymilvus para obtener el SDK de Milvus. Luego, inicia Auto-GPT de nuevo usando python -m autogpt. Esta vez, deberías notar un cambio. La terminal debería mostrar un mensaje Using memory of type: MilvusMemory. Eso es todo lo que hay que hacer para agregar Milvus a Auto-GPT.
add-milvus-auto-gpt.png
Uso de Milvus Lite (Pip Install)
Nota: La pull request para incorporar estos cambios en Auto-GPT está abierta.
A diferencia de Milvus Standalone, Milvus Lite no tiene dependencias adicionales. Instalamos Milvus Lite y el SDK de Milvus para Python con pip ejecutando pip install milvus pymilvus. Como no vamos a iniciar Milvus externamente antes de iniciar Auto-GPT, tenemos que hacer que se inicie mientras Auto-GPT se está configurando.
Hacemos esto realizando cambios en tres archivos: .env, autogpt/memory/milvus.py y autogpt/config/config.py. Empezamos haciendo los mismos cambios que hicimos con la instancia de Milvus Standalone. Cambia la variable MEMORY_BACKEND a milvus y descomenta las variables MILVUS_ADDR y MILVUS_COLLECTION. Bajo la sección de Milvus en el archivo .env, agrega una nueva variable de entorno llamada MILVUS_TYPE y establécela igual a lite.
milvus-type.png
Hay dos archivos bajo la carpeta autogpt en los que hacemos cambios. En el archivo config.py bajo la carpeta config, establece el valor de milvus_type para obtener MILVUS_TYPE de las variables de entorno.
# milvus type can be standalone, lite, or cloud
self.milvus_type = os.getenv("MILVUS_TYPE")
En el archivo milvus.py bajo la carpeta memory agregamos una sentencia if que comprueba el valor de milvus_type en la configuración. Si el valor es lite, entonces importamos Milvus, iniciamos un servidor y nos conectamos al servidor predeterminado de Milvus Lite. Movemos la línea de código original a la sentencia else.
if cfg.milvus_type == "lite":
from milvus import default_server
print("Starting Milvus Lite")
default_server.start()
connections.connect(host='127.0.0.1', port=default_server.listen_port)
else:
connections.connect(address=cfg.milvus_addr)
Una vez realizados estos cambios, podemos ejecutar Auto-GPT como de costumbre. Ejecutar python -m autogpt inicia una instancia de Auto-GPT con una salida de inicio ligeramente diferente. La terminal debería mostrar una línea que diga “Starting Milvus Lite” y el texto de salida de Milvus Lite. Aún debería mostrar “Using memory of type: MilvusMemory”.
milvus-memory.png
Resumen de "Auto GPT Explained"
En este artículo hicimos un recorrido por los conceptos básicos de Auto-GPT. Primero descargamos Auto-GPT desde GitHub y pusimos en marcha una instancia. Después de ponerla en funcionamiento, revisamos los archivos generados por Auto-GPT. Al examinar los archivos de Auto-GPT, descubrimos que utiliza un archivo JSON lleno de vectores para llevar un registro de su memoria localmente.
Los archivos JSON no son escalables. Para un backend de memoria más robusto, usamos la base de datos vectorial Milvus, una de las otras opciones de memoria integradas en Auto-GPT. Mostramos cómo agregar un backend de Milvus de dos maneras: como un conjunto de contenedores Docker independientes o como una instancia puesta en marcha por Auto-GPT. Mantente atento a más publicaciones sobre bases de datos vectoriales con LLMs.
Sigue leyendo

Zilliz Cloud Just Landed in Claude Code
The Zilliz Cloud Plugin brings the full power of Zilliz Cloud directly into your Claude Code terminal as natural-language conversations.

Introducing Zilliz MCP Server: Natural Language Access to Your Vector Database
Developers can easily manage and query vector databases with natural language via Zilliz MCP Server in AI-native environments.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.



