Объяснение Auto GPT: подробное руководство по Auto-GPT для вашего уникального сценария использования
Эта статья изначально была опубликована в The Sequence и перепубликована здесь с разрешения.
В декабре 2022 года ChatGPT, интерфейс чат-бота на базе GPT, представил большие языковые модели (LLM) массовым медиа. С тех пор появилось множество приложений GPT. Одно из самых популярных? Auto-GPT. Приложение с открытым исходным кодом на базе GPT, цель которого — сделать GPT полностью автономным. Всего за несколько коротких недель оно набрало более 120 тыс. звёзд на GitHub, обогнав PyTorch, Scikit-Learn, HuggingFace Transformers и любую другую библиотеку ИИ/ML с открытым исходным кодом, которую вы только можете вспомнить.
Что делает Auto-GPT таким популярным проектом? Во-первых, он демонстрирует перспективы в реализации заявленного им видения автономного GPT. В Auto-GPT встроены “агенты” для поиска в интернете, речи, отслеживания разговоров и многого другого. Люди использовали его, чтобы заказывать пиццу, писать код приложений и продавать мерч. Теперь ваша очередь узнать, как использовать Auto-GPT, чтобы усилить свой рабочий процесс и автоматизировать рутинные задачи.
В этом руководстве по Auto GPT вы узнаете:
- Что такое Auto-GPT?
- Как настроить Auto GPT за минуты
- Настроить
.envдля Auto-GPT
- Настроить
- Запустить вашу первую задачу с Auto-GPT
- Добавить память в Auto-GPT
- Использование Milvus Standalone (Docker Compose)
- Использование Milvus Lite(Pip Install)
- Краткое изложение "Auto-GPT Explained"
Что такое Auto-GPT?
ИИ в последнее время на пике популярности. Сообщается, что ChatGPT является самым быстрорастущим приложением всех времён, достигнув более 1 миллиарда посетителей в месяц по состоянию на февраль 2023 года. LLM провозглашают предвестниками общего искусственного интеллекта (AGI), будущим программного обеспечения и технологическим прорывом, который приведёт человечество к просветлению или уничтожению. Однако у LLM есть один вопиющий недостаток. Они не могут действовать самостоятельно. Им требуется, чтобы кто-то постоянно задавал им подсказки от задачи к задаче.
Auto-GPT стремится решить эту проблему. Auto-GPT — это программное обеспечение с открытым исходным кодом, которое стремится позволить GPT-4 функционировать автономно. Как оно обеспечивает эту автономность? С помощью агентов. Auto-GPT позволяет пользователям запускать агентов для выполнения таких задач, как просмотр интернета, речь через инструменты преобразования текста в речь, написание кода, отслеживание своих входных и выходных данных и многое другое.
Эта расширенная функциональность подпитывает ажиотаж и мрачный нарратив СМИ. Однако вам не нужно бояться ИИ. Пока вы понимаете, как использовать ИИ себе во благо, ваш нарратив об ИИ может быть позитивным и продуктивным. Итак, давайте посмотрим, как можно запустить Auto GPT на вашей локальной машине всего за несколько минут.
Как настроить Auto-GPT за минуты
Как настроить auto-GPT
Auto-GPT на удивление легко настроить. Сначала перейдите на страницу Auto-GPT в GitHub и скопируйте ссылку для клонирования. Затем откройте свой терминал или экземпляр VSCode и перейдите в рабочий каталог. У меня это ~/Documents/workspace. Используйте git clone [git@github.com](mailto:git@github.com):Significant-Gravitas/Auto-GPT.git, чтобы клонировать репозиторий локально. Далее перейдите в только что созданную папку.
В только что созданной папке создайте новую виртуальную среду Python, чтобы начать с чистого листа. Когда вы окажетесь в своей виртуальной среде, выполните pip install -r requirements.txt, чтобы установить все зависимости. Теперь у нас установлен Auto-GPT. Последнее, что нам нужно сделать, чтобы запустить экземпляр, — поместить наш ключ API OpenAI в переменные среды.
Настройка .env для Auto-GPT
configure-env.png
В корневом каталоге Auto-GPT есть файл с названием .env.template. Нам нужно изменить это имя файла просто на .env. Затем мы можем использовать этот файл для хранения всей информации, необходимой для подключения к внешним инструментам, которые дают Auto-GPT его автономные возможности. Есть одно изменение, которое нужно внести, прежде чем мы вообще сможем запустить Auto-GPT. Нам нужно изменить значение OPENAI_API_KEY на наш ключ OpenAI API.
Запустите свою первую задачу с Auto-GPT
run-task-auto-gpt.png
После обновления ключа OpenAI API Key вы можете начать использовать Auto-GPT для автоматизации некоторой работы. В этом примере мы автоматизируем создание рассылки о самых значимых событиях в сфере ИИ за прошлый месяц. Выполните python -m autogpt в терминале, чтобы запустить его. Когда мы запускаем Auto-GPT, он предлагает нам дать ему имя, определить для него роль и задать ему цели.
run-first-task-auto-gpt.png
В этом примере мы называем наш ИИ «Newsletter-Generator». В следующем запросе мы сообщаем ИИ, что Newsletter-Generator — это ИИ, предназначенный для автономного исследования и написания рассылок о разработках в области ИИ. Затем Auto-GPT предлагает нам задать до пяти целей для нашего ИИ.
Я задал Newsletter-Generator три цели. Во-первых, исследовать и найти самые значимые разработки в области ИИ за последний месяц. Во-вторых, собрать и обобщить статьи о самых значимых разработках в области ИИ за последний месяц. В-третьих, написать рассылку о проведенном исследовании. После завершения настройки Auto-GPT генерирует файл под названием ai_settings.yaml, чтобы сохранить эту конфигурацию, и приступает к своим задачам.
Для каждой задачи он предоставляет мысли, рассуждения, план, критику своего плана и следующий шаг. Перед выполнением задачи он запрашивает у нас одобрение или обратную связь по своему плану. При желании мы можем разрешить ему автономно выполнить следующие N задач без запроса нашего одобрения.
auto-gpt-ability.png
На изображении выше мы видим способность Auto-GPT распознать, что первая статья, которую он нашел в Google, на самом деле не содержит необходимой информации для выполнения его задачи. Он сообщает нам об этом, а затем формулирует следующий шаг для получения информации о значимых разработках в области ИИ за прошлый месяц.
Добавление памяти в Auto-GPT
adding-memory-auto-gpt.png
При использовании стандартной опции «локального» хранилища Auto-GPT генерирует документ под названием auto-gpt.json, который выглядит примерно как изображение выше. Он содержит блок текста, за которым следует множество чисел. Текстовые блоки отслеживают ваш текущий разговор с Auto-GPT, а числа являются векторными эмбеддингами, представляющими этот разговор.
Использование JSON-файла в качестве памяти не является масштабируемым решением. По мере того как вы больше работаете с Auto-GPT, он создает больше данных. Не только в виде памяти о вашем разговоре на данный момент, но и файлы для записи и дополнительных «агентов». Хотя JSON может отслеживать эту информацию, если вы когда-либо захотите искать, извлекать или редактировать что-либо из созданного вами, вам понадобится постоянный backend-хранилище.
К счастью, Auto-GPT может использовать множество различных бэкендов памяти. Поскольку мы храним векторные данные, векторная база данных, такая как Milvus, является идеальным решением. Milvus — это векторная база данных с открытым исходным кодом и несколькими решениями, включая распределённые решения для запуска в Kubernetes или Docker, а также способ запуска локального экземпляра. В этом примере мы рассмотрим два способа использования Milvus в качестве бэкенда.
Сначала мы рассмотрим, как использовать Milvus Standalone — распределённое решение с использованием Docker Compose, которое можно запускать локально. Затем мы рассмотрим, как использовать Milvus Lite, чтобы создавать и использовать векторную базу данных в вашем Python-коде. Первое решение требует всего нескольких изменений в коде Auto-GPT, но требует загрузки Milvus через Docker Compose. Второе решение требует немного больше изменений в существующем пакете, но позволяет использовать Milvus всего лишь с помощью pip install.
Использование Milvus Standalone (Docker Compose)
Использование Milvus Standalone в качестве решения для памяти требует меньше изменений в коде Auto-GPT, но требует Docker. Следуйте инструкциям Milvus Standalone и запустите экземпляр в локальном контейнере Docker.
После того как экземпляр Milvus запущен и работает, нам нужно внести лишь несколько изменений, чтобы Auto-GPT использовал наш экземпляр Milvus для долгосрочного хранения. В файле .env найдите MEMORY_BACKEND и измените его с local на milvus. Затем найдите MILVUS. Под MILVUS находятся две переменные окружения: MILVUS_ADDR и MILVUS_COLLECTION. Раскомментируйте их. Значения по умолчанию можно оставить.
Выполните pip install pymilvus, чтобы получить SDK Milvus. Затем снова запустите Auto-GPT с помощью python -m autogpt. На этот раз вы должны заметить изменение. В терминале должно отображаться сообщение Using memory of type: MilvusMemory. Вот и всё, что нужно, чтобы добавить Milvus в Auto-GPT.
add-milvus-auto-gpt.png
Использование Milvus Lite (Pip Install)
Примечание: Pull request для внесения этих изменений в Auto-GPT открыт.
В отличие от Milvus Standalone, Milvus Lite не имеет дополнительных зависимостей. Мы устанавливаем Milvus Lite и Python SDK Milvus с помощью pip, выполнив pip install milvus pymilvus. Поскольку мы не будем запускать Milvus извне перед запуском Auto-GPT, нам нужно, чтобы он запускался во время настройки Auto-GPT.
Мы делаем это, внося изменения в три файла: .env, autogpt/memory/milvus.py и autogpt/config/config.py. Начинаем с тех же изменений, что и для экземпляра Milvus Standalone. Измените переменную MEMORY_BACKEND на milvus и раскомментируйте переменные MILVUS_ADDR и MILVUS_COLLECTION. В разделе Milvus в файле .env добавьте новую переменную окружения с именем MILVUS_TYPE и задайте ей значение lite.
milvus-type.png
В папке autogpt есть два файла, в которые мы вносим изменения. В файле config.py в папке config задайте значение milvus_type, чтобы получить MILVUS_TYPE из переменных окружения.
# milvus type can be standalone, lite, or cloud
self.milvus_type = os.getenv("MILVUS_TYPE")
В файле milvus.py в папке memory мы добавляем оператор if, который проверяет значение milvus_type в конфигурации. Если значение равно lite, то мы импортируем Milvus, запускаем сервер и подключаемся к серверу Milvus Lite по умолчанию. Исходную строку кода мы переносим в оператор 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)
После внесения этих изменений мы можем запускать Auto-GPT как обычно. Запуск python -m autogpt запускает экземпляр Auto-GPT с немного отличающимся выводом при старте. В терминале должна отображаться строка с текстом “Starting Milvus Lite” и текст вывода Milvus Lite. Также должно по-прежнему отображаться “Using memory of type: MilvusMemory”.
milvus-memory.png
Краткое содержание "Объяснение Auto GPT"
В этой статье мы рассмотрели основы Auto-GPT. Сначала мы загрузили Auto-GPT с GitHub и запустили экземпляр. После запуска мы рассмотрели файлы, созданные Auto-GPT. Изучив файлы Auto-GPT, мы обнаружили, что он использует JSON-файл, заполненный векторами, чтобы локально отслеживать свою память.
JSON-файлы не масштабируются. Для более надежного бэкенда памяти мы используем векторную базу данных Milvus, один из других вариантов памяти, интегрированных в Auto-GPT. Мы показываем, как добавить бэкенд Milvus двумя способами: как набор автономных Docker-контейнеров или как экземпляр, запускаемый Auto-GPT. Следите за новыми публикациями о векторных базах данных с LLM.
Читать далее

Zilliz Cloud Audit Logs Goes GA: Security, Compliance, and Transparency at Scale
Zilliz Cloud Audit Logs are now GA, giving enterprises real-time visibility, compliance-ready trails, and stronger security across AWS, GCP, and Azure.

Zilliz Cloud Enterprise Vector Search Powers High-Performance AI on AWS
Zilliz Cloud on AWS powers secure, scalable, ultra-fast vector search for enterprise AI apps, with BYOC, sub-10ms latency, and zero-DevOps simplicity.

Zilliz Named "Highest Performer" and "Easiest to Use" in G2's Summer 2025 Grid® Report for Vector Databases
Zilliz shines in G2's Summer 2025 Grid® Report as both "Highest Performer" and "Easiest to Use," solving the performance-usability dilemma.



