Arrakis: инструмент с открытым исходным кодом, обеспечивающий безопасную среду "песочницы" для искусственного интеллекта

Общее введение

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

Arrakis:为AI智能体提供安全沙盒环境的开源工具Arrakis:为AI智能体提供安全沙盒环境的开源工具

 

Список функций

  • надежная изоляция: Используйте технологию MicroVM для изоляции кода ИИ и защиты хостов и других задач.
  • Снимки и обратный путь: Поддержка сохранения состояния "песочницы" и его восстановления, что облегчает AI-тестирование многоэтапных задач.
  • Python SDK: Предоставлено py-arrakisПрограммируемая песочница управления.
  • REST API: через arrakis-restserver Предоставьте интерфейсы для управления песочницей.
  • Графический интерфейс пользователя (GUI) (вычислительная техника): В каждой песочнице есть встроенный VNC-сервер и Chrome с поддержкой графического интерфейса.
  • Конфигурация сети: Автоматическая настройка сети с поддержкой проброса портов и SSH-доступа.
  • Индивидуальные среды: через Dockerfile Настройте программное обеспечение и конфигурацию песочницы.
  • Совместимость с MCP: Поддержка MCP Клиенты (например. Клод Desktop) для легкой интеграции.

 

Использование помощи

Установка и использование Arrakis требует нескольких шагов. Здесь представлены подробные инструкции, которые помогут вам быстро начать работу.

Процесс установки

  1. Проверка системных требований
    Arrakis поддерживается только в системах Linux, потому что он опирается на /dev/kvm Виртуализация. Проверить поддержку виртуализации можно с помощью команды:
stat /dev/kvm

Если возвращается ошибка, значит, хост не поддерживается и необходимо включить виртуализацию.

  1. скачать и установить
    Выполните следующую команду в Linux, чтобы загрузить файл предварительной сборки:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash

При загрузке создается arrakis-prebuilt папка, содержащая двоичные файлы и образы.

  1. Запуск REST-сервера
    Перейдите в папку и запустите службу:
cd arrakis-prebuilt
sudo ./arrakis-restserver

По умолчанию служба запускается на 127.0.0.1:7000. Требуется sudo в части управления виртуальными машинами.

  1. Установка 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)
    

Индивидуальные песочницы

  1. найти rootfs/Dockerfile.
  2. Отредактируйте, чтобы добавить программное обеспечение, например:
    RUN apt-get update && apt-get install -y vim
    
  3. Перезапустите песочницу:
    ./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 писать файлы и тестировать обратный путь в песочнице:

  1. Запустите песочницу:
    ./arrakis-client start -n test-sandbox
    
  2. Выполнить команду:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. Сохраните снимок:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. Измените файл:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. Восстановление моментальных снимков:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. Проверьте файл:
    ./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
    

    На выходе должно получиться 第一步.

Более подробную информацию можно найти на GitHub в разделе README.md.

 

сценарий применения

  1. Отладка кода искусственного интеллекта
    Разработчики запускают ненадежный код с помощью Arrakis, чтобы изолировать риск. Отслеживайте ошибки, чтобы проверить наличие проблем.
  2. обучающий эксперимент
    Преподаватель создает песочницу для студентов, чтобы они могли практиковаться в программировании ИИ, а студенты могут манипулировать ею по своему усмотрению, не затрагивая главный компьютер.
  3. многоэтапное тестирование заданий
    Предприятия используют Arrakis для тестирования автоматизированных процессов ИИ, таких как веб-операции или обработка файлов, с поддержкой восстановления моментальных снимков.

 

QA

  1. Поддерживает ли Arrakis операционную систему Windows?
    не поддерживается и в настоящее время работает только в Linux из-за зависимости от cloud-hypervisor.
  2. Как остановить песочницу?
    расход или издержки ./arrakis-client stop -n 名称 Остановить или destroy Удалить.
  3. Сколько места занимает моментальный снимок?
    В зависимости от содержимого песочницы, обычно составляющего несколько сотен мегабайт, рекомендуется очищать неиспользуемые снимки.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...