46.5kЗаказать демоВойтиНачать бесплатно

Объяснение Auto GPT: подробное руководство по Auto-GPT для вашего уникального сценария использования

Jun 08, 20238 min read

Эта статья изначально была опубликована в 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 на удивление легко настроить. Сначала перейдите на страницу 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 configure-env.png

В корневом каталоге Auto-GPT есть файл с названием .env.template. Нам нужно изменить это имя файла просто на .env. Затем мы можем использовать этот файл для хранения всей информации, необходимой для подключения к внешним инструментам, которые дают Auto-GPT его автономные возможности. Есть одно изменение, которое нужно внести, прежде чем мы вообще сможем запустить Auto-GPT. Нам нужно изменить значение OPENAI_API_KEY на наш ключ OpenAI API.

Запустите свою первую задачу с Auto-GPT

run-task-auto-gpt.png run-task-auto-gpt.png

После обновления ключа OpenAI API Key вы можете начать использовать Auto-GPT для автоматизации некоторой работы. В этом примере мы автоматизируем создание рассылки о самых значимых событиях в сфере ИИ за прошлый месяц. Выполните python -m autogpt в терминале, чтобы запустить его. Когда мы запускаем Auto-GPT, он предлагает нам дать ему имя, определить для него роль и задать ему цели.

run-first-task-auto-gpt.png 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-ability.png

На изображении выше мы видим способность Auto-GPT распознать, что первая статья, которую он нашел в Google, на самом деле не содержит необходимой информации для выполнения его задачи. Он сообщает нам об этом, а затем формулирует следующий шаг для получения информации о значимых разработках в области ИИ за прошлый месяц.

Добавление памяти в Auto-GPT

adding-memory-auto-gpt.png 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 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 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 milvus-memory.png

Краткое содержание "Объяснение Auto GPT"

В этой статье мы рассмотрели основы Auto-GPT. Сначала мы загрузили Auto-GPT с GitHub и запустили экземпляр. После запуска мы рассмотрели файлы, созданные Auto-GPT. Изучив файлы Auto-GPT, мы обнаружили, что он использует JSON-файл, заполненный векторами, чтобы локально отслеживать свою память.

JSON-файлы не масштабируются. Для более надежного бэкенда памяти мы используем векторную базу данных Milvus, один из других вариантов памяти, интегрированных в Auto-GPT. Мы показываем, как добавить бэкенд Milvus двумя способами: как набор автономных Docker-контейнеров или как экземпляр, запускаемый Auto-GPT. Следите за новыми публикациями о векторных базах данных с LLM.

Обновлено Jul 09, 2026