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

Революция в автономном ИИ: использование векторных баз данных для расширения возможностей Auto-GPT

May 16, 20235 min read

ChatGPT, или Chat Generative Pre-trained Transformer, стал революционным прорывом в технологии ИИ благодаря передовым достижениям. Однако даже при наличии больших языковых моделей (LLM), таких как GPT, и специализированных ИИ-приложений, таких как Midjourney, для промптов по-прежнему необходим человеческий ввод. Эта зависимость от людей вызывает вопрос: может ли ИИ функционировать самостоятельно и достигать целей без вмешательства человека? Auto-GPT стал популярным решением этой потребности.

Что такое Auto-GPT?

Auto-GPT — это экспериментальный open-source проект на GitHub. Он объединяет языковую модель GPT с другими инструментами, чтобы создать ИИ-систему, которая может работать непрерывно и самостоятельно с минимальным человеческим вводом или даже без него.

Auto-GPT состоит из двух ключевых частей: LLM и набора команд. LLM, такая как GPT, служит «мозгом» Auto-GPT и выполняет когнитивную обработку. Поэтому промпты Auto-GPT разрабатываются LLM, а не традиционным человеческим вводом. В то же время набор команд автономно выполняет различные задачи, такие как управление файлами, проведение веб-поиска и доступ к социальным сетям. Эти способности эквивалентны «рукам» и «чувствам» Auto-GPT.

Чтобы подробнее объяснить процесс, Auto-GPT использует языковую модель GPT и человеческую обратную связь для анализа и разбиения крупных задач на более мелкие. Затем он назначает этим меньшим задачам конкретные команды, выполняет их и получает вводные данные для следующего раунда когнитивной обработки. Эти процедуры повторяются, пока Auto-GPT не завершит задачу.

Ограничения Auto-GPT

Теперь, когда вы знаете, что такое Auto-GPT, важно понять его возможности и ограничения. Хотя Auto-GPT может выполнять задачи автоматически, у него есть ограничения в понимании и удержании обширной контекстной информации, поскольку модель GPT, которую он использует, имеет лимит токенов. Например, GPT-3 от OpenAI может обрабатывать максимум 4 096 токенов контекста, что означает, что когда разговоры превышают лимит токенов, GPT-3 может забывать предыдущие обсуждения.

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

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

Улучшение контекстных возможностей Auto-GPT с помощью векторной базы данных

Интеграция Auto-GPT с векторной базой данных — более результативное и эффективное решение для улучшения памяти и контекстного понимания Auto-GPT. Вот как работает интеграция:

  • Интеграция преобразует команды Auto-GPT и результаты выполнения каждого шага в embeddings и сохраняет их в векторной базе данных.

  • При генерации следующей задачи она извлекает сообщения из окна истории и сохраняет их как входные данные для поиска по векторной базе данных.

  • Затем она извлекает top-k исторических сообщений, чтобы улучшить контекст с большим хронологическим охватом.

image image

Как Auto-GPT работает с векторной базой данных

Кроме того, благодаря возможности поиска по сходству векторной базы данных система может определить, похоже ли последнее действие на текущее и помогает ли оно выполнить задачу, предоставляя более точную информацию для следующей команды.

Как настроить Auto-GPT с Milvus

Milvus — одна из самых популярных векторных баз данных с открытым исходным кодом, способная обрабатывать огромные наборы данных, содержащие миллионы, миллиарды или даже триллионы векторов. Вы можете следовать приведенному ниже руководству, чтобы легко интегрировать Milvus с вашим Auto-GPT.

  1. Загрузите Docker-образ Milvus и установите его с помощью Docker Compose:
https://github.com/milvus-io/milvus/releases/download/v2.2.8/milvus-standalone-docker-compose.yml
docker compose up -d
  1. Установите клиент pymilvus в вашей среде python:
pip install pymilvus==2.2.8
  1. Обновите ваш файл .env:
MEMORY_BACKEND=milvus

Если вам сложно развертывать и поддерживать Milvus, рассмотрите возможность использования Zilliz Cloud. Это полностью управляемый облачный нативный сервис для Milvus, который поможет вам легко управлять памятью Auto-GPT. Zilliz Cloud имеет широкую базу пользователей по всему миру и был рекомендован генеральным директором Nvidia Дженсеном Хуангом на GTC 2023. Кроме того, Zilliz Cloud является назначенным OpenAI поставщиком плагина ChatGPT Retrieval.

Вот руководство по использованию Zilliz Cloud в качестве бэкенда памяти Auto-GPT:

  1. Войдите в Zilliz Cloud или зарегистрируйтесь, если у вас нет учетной записи.

  2. Создайте базу данных и получите публичную облачную конечную точку.

  3. Установите pymilvus, выполнив pip install pymilvus==2.2.8 , и обновите ваш файл .env следующими командами:

MEMORY_BACKEND=milvus
MILVUS_ADDR=your-public-cloud-endpoint
MILVUS_USERNAME=your-db-username
MILVUS_PASSWORD=your-db-password

Используя Milvus или Zilliz Cloud в качестве бэкенда памяти для Auto-GPT, вы можете значительно улучшить его возможности и приблизить его на шаг к достижению настоящей автономности.

Ограничения интеграции Auto-GPT с векторной базой данных

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

  1. При извлечении сообщений из векторной базы данных результаты top-k не фильтруются. В результате может присутствовать информация с низким сходством, что может ввести модель GPT в заблуждение и в конечном итоге замедлить ее продвижение к достижению желаемого результата.

  2. Вы можете только добавлять и запрашивать контекстные данные, но не можете удалять данные, которые больше не являются актуальными или необходимыми.

  3. В настоящее время невозможно настроить модель эмбеддингов. Единственный доступный вариант — использовать интерфейс эмбеддингов, предоставляемый OpenAI.

Объяснение Auto-GPT

Auto-GPT — это новая разработка в области технологий ИИ, цель которой — достижение полной автономности при минимальном участии человека или без него. Хотя Auto-GPT всё еще является экспериментальным, он обладает огромным потенциалом, особенно в сочетании с векторными базами данных, такими как Milvus.

Как поставщик инфраструктурного программного обеспечения для технологий ИИ, мы рады видеть, что векторные базы данных играют ключевую роль в разработке и усилении новых систем контента, генерируемого ИИ (AIGC), таких как Auto-GPT. У нас есть множество информативных статей, если вы хотите узнать больше о векторных базах данных с открытым исходным кодом и Milvus, а также о связанных темах, таких как Hierarchical Navigable Small Worlds (HNSW). Итак, давайте работать вместе, чтобы продолжать расширять границы ИИ и создавать более светлое будущее для AIGC.

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