BoxLite: микро-VM для изоляции и управления окружениями AI-агентов

BoxLite: микро-VM для изоляции и управления окружениями AI-агентов

BoxLite — это микро-VM для AI-агентов, которая достаточно компактна для запуска на ноутбук, но при этом обеспечивает возможность масштабирования для облачных решений.

Этот проект решает задачу изоляции и управления окружениями для AI-агентов, позволяя запускать любые OCI-образы с гораздо меньшими накладными расходами, чем виртуальные машины. В отличие от обычных контейнеров, BoxLite использует собственное ядро, что обеспечивает более высокий уровень изоляции и защищенности, а также позволяет работать без создания фоновых процессов.

BoxLite написан на Rust и доступен для установки через пакетные менеджеры, такие как PyPI, npm и crates.io. Учитывай, что проект всё ещё на ранних стадиях разработки, что может повлиять на стабильность и функциональность. Полноценная работа на других платформах пока не гарантирована. Это решение может быть полезно разработчикам AI, интернет-предпринимателям и всем, кому нужен мощный и компактный инструмент для запуска AI-агентов.

Проект BoxLite представляет собой платформу для запуска изолированных микровиртуальных машин (микро-ВМ), способных работать с любыми образами Open Container Initiative (OCI). Это решение подходит как для локальной работы на ноутбуке, так и для развертывания в облаке, обеспечивая надёжную изоляцию и управление ресурсами.

Что такое BoxLite?

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

Как начать работу с BoxLite

Ты можешь интегрировать BoxLite в своё приложение как библиотеку или использовать его прямо из командной строки.

1. Интеграция как библиотека

Для начала работы нужно установить BoxLite через pip:

pip install boxlite

Пример кода на Python для использования BoxLite:


import asyncio
import boxlite

async def main():
    async with boxlite.SimpleBox(image="python:slim") as box:
        result = await box.exec("python", "-c", "print('Hello from BoxLite!')")
        print(result.stdout)

asyncio.run(main())

2. Запуск из командной строки

Если ты хочешь просто запустить контейнер, достаточно выполнить одну команду после установки:


curl -fsSL https://sh.boxlite.ai | sh
boxlite run python:slim python -c "print('Hello from BoxLite!')"

Развёртывание BoxLite

3. Запуск как сервер

Можно запустить BoxLite как REST-сервис, позволяющий взаимодействовать с ним по HTTP:

boxlite serve

Пример запроса для создания нового контейнера:


curl -s -X POST http://localhost:8100/v1/boxes \
  -H 'Content-Type: application/json' \
  -d '{"image": "alpine:latest"}'

4. Масштабирование в облаке

BoxLite можно развернуть в облаке (например, AWS), поддерживая многоарендность и автоматическое масштабирование:


git clone https://github.com/boxlite-ai/boxlite && cd boxlite/apps/infra
npm install
npm run login                          # Авторизация через браузер
npm run bootstrap -- --stage prod      # Настройка IAM ролей и окружения
npm run deploy -- --stage prod

Особенности и ограничения

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

  • Поддерживает выполнение любых образов OCI и предоставляет асинхронное выполнение с возможностью получения выходных данных в реальном времени.
  • Каждый Box изолирован с использованием аппаратных виртуализаций и ОС песочниц, таких как seccomp.
  • Поддерживает постоянное хранилище и совместное использование файлов.
  • Подходит для работы на macOS, Linux и Windows (WSL2), но требует включённой виртуализации и соответствующих прав.

Для работы с BoxLite необходимы определённые системные требования, такие как доступ к KVM на Linux и WSL2 на Windows. Полные требования можно найти в проекте.

Открыть на GitHub: boxlite-ai/boxlite →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

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

Популярные темы на сайте