Arrakis: инструмент с открытым исходным кодом, обеспечивающий безопасную среду "песочницы" для искусственного интеллекта
Общее введение
Arrakis - это среда-песочница, созданная для искусственного интеллекта и обеспечивающая безопасное, настраиваемое окружение. Разработанная Абхишеком Бхардваджем и размещенная на GitHub под лицензией AGPL v3, Arrakis изолирует код ИИ и защищает хост с помощью технологии MicroVM. Каждая песочница имеет встроенный Ubuntu, запускается с собственной службой выполнения кода и VNC-сервером, а также поддерживает графический интерфейс. Инструмент предоставляет Python SDK и REST API, чтобы облегчить разработчикам управление песочницей. Он также поддерживает снимки и обратный путь, позволяя ИИ вернуться к предыдущему состоянию в случае ошибки ИИ. Arrakis идеально подходит для разработчиков, которым необходимо безопасно выполнять код или тестировать многоэтапные процессы.


Список функций
- надежная изоляция: Используйте технологию MicroVM для изоляции кода ИИ и защиты хостов и других задач.
- Снимки и обратный путь: Поддержка сохранения состояния "песочницы" и его восстановления, что облегчает AI-тестирование многоэтапных задач.
- Python SDK: Предоставлено
py-arrakis
Программируемая песочница управления. - REST API: через
arrakis-restserver
Предоставьте интерфейсы для управления песочницей. - Графический интерфейс пользователя (GUI) (вычислительная техника): В каждой песочнице есть встроенный VNC-сервер и Chrome с поддержкой графического интерфейса.
- Конфигурация сети: Автоматическая настройка сети с поддержкой проброса портов и SSH-доступа.
- Индивидуальные среды: через
Dockerfile
Настройте программное обеспечение и конфигурацию песочницы. - Совместимость с MCP: Поддержка MCP Клиенты (например. Клод Desktop) для легкой интеграции.
Использование помощи
Установка и использование Arrakis требует нескольких шагов. Здесь представлены подробные инструкции, которые помогут вам быстро начать работу.
Процесс установки
- Проверка системных требований
Arrakis поддерживается только в системах Linux, потому что он опирается на/dev/kvm
Виртуализация. Проверить поддержку виртуализации можно с помощью команды:
stat /dev/kvm
Если возвращается ошибка, значит, хост не поддерживается и необходимо включить виртуализацию.
- скачать и установить
Выполните следующую команду в Linux, чтобы загрузить файл предварительной сборки:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash
При загрузке создается arrakis-prebuilt
папка, содержащая двоичные файлы и образы.
- Запуск REST-сервера
Перейдите в папку и запустите службу:
cd arrakis-prebuilt
sudo ./arrakis-restserver
По умолчанию служба запускается на 127.0.0.1:7000
. Требуется sudo
в части управления виртуальными машинами.
- Установка Python SDK (необязательно)
Если вы хотите управлять песочницей с помощью Python, установите SDK:
pip install py-arrakis
Основные функции
Создание песочницы
- Использование CLI
Создайте песочницу:
./arrakis-client start -n my-sandbox
Возвращает информацию об IP-адресе и состоянии песочницы.
- Использование Python
Создается с помощью SDK:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())
работающий код
- Метод CLI
Выполнение команд в "песочнице":./arrakis-client run -n my-sandbox --cmd "echo Hello World"
- Питонский способ
Запустите его с помощью SDK:sandbox.run_cmd('echo Hello World')
Выход возвращается на терминал.
Использование графического интерфейса
Каждая песочница запускается с собственным VNC-сервером и Chrome:
- Используйте CLI:
./arrakis-client info -n my-sandbox
Возвращает что-то вроде
port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}]
. - Используйте Python:
print(sandbox.info()['port_forwards'])
- Подключите VNC:
Подключение с помощью VNC-клиента (например, noVNC)主机IP:3000
Можно увидеть графический интерфейс.
Снимки и обратный путь
- Сохранить снимок
Используйте CLI:./arrakis-client snapshot -n my-sandbox -o snap1
Используйте Python:
snapshot_id = sandbox.snapshot('snap1')
- Восстановление моментального снимка
Сначала разрушьте песочницу:./arrakis-client destroy -n my-sandbox
Восстановление в правах:
./arrakis-client restore -n my-sandbox --snapshot snap1
Или с помощью Python:
sandbox.destroy() sandbox = manager.restore('my-sandbox', snapshot_id)
Индивидуальные песочницы
- найти
rootfs/Dockerfile
. - Отредактируйте, чтобы добавить программное обеспечение, например:
RUN apt-get update && apt-get install -y vim
- Перезапустите песочницу:
./arrakis-client start -n my-sandbox --rootfs custom-rootfs
Доступ по SSH
Каждая песочница поддерживает SSH:
- Получите IP:
./arrakis-client info -n my-sandbox
Возвращает что-то вроде
ip: "10.20.1.2/24"
. - Войдите в систему:
ssh elara@10.20.1.2
пользователь по умолчанию
elara
Парольelara0000
.
Пример потока операций
Пытаемся заставить AI писать файлы и тестировать обратный путь в песочнице:
- Запустите песочницу:
./arrakis-client start -n test-sandbox
- Выполнить команду:
./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
- Сохраните снимок:
./arrakis-client snapshot -n test-sandbox -o step1
- Измените файл:
./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
- Восстановление моментальных снимков:
./arrakis-client destroy -n test-sandbox ./arrakis-client restore -n test-sandbox --snapshot step1
- Проверьте файл:
./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
На выходе должно получиться
第一步
.
Более подробную информацию можно найти на GitHub в разделе README.md
.
сценарий применения
- Отладка кода искусственного интеллекта
Разработчики запускают ненадежный код с помощью Arrakis, чтобы изолировать риск. Отслеживайте ошибки, чтобы проверить наличие проблем. - обучающий эксперимент
Преподаватель создает песочницу для студентов, чтобы они могли практиковаться в программировании ИИ, а студенты могут манипулировать ею по своему усмотрению, не затрагивая главный компьютер. - многоэтапное тестирование заданий
Предприятия используют Arrakis для тестирования автоматизированных процессов ИИ, таких как веб-операции или обработка файлов, с поддержкой восстановления моментальных снимков.
QA
- Поддерживает ли Arrakis операционную систему Windows?
не поддерживается и в настоящее время работает только в Linux из-за зависимости отcloud-hypervisor
. - Как остановить песочницу?
расход или издержки./arrakis-client stop -n 名称
Остановить илиdestroy
Удалить. - Сколько места занимает моментальный снимок?
В зависимости от содержимого песочницы, обычно составляющего несколько сотен мегабайт, рекомендуется очищать неиспользуемые снимки.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...