Об этом проекте
Monty — это безопасная песочница Python, реализованная на Rust и предназначенная для выполнения кода, создаваемого моделями ИИ. Вместо запуска контейнера на каждое выполнение она предоставляет легковесный интерпретатор, который стартует менее чем за миллисекунду из работающего пула, снижая задержки, сложность и затраты, связанные с песочницами на основе контейнеров.
Проект выпускается в двух формах: OSS Monty — песочница Python 3.14 с лицензией MIT, распространяемая как пакет, и Full Monty — коммерческий сервер, который запускает ту же песочницу за WebSocket как сервис. В README указано, что новая OSS-песочница запускается менее чем за 1 мс из работающего пула, а Full Monty — примерно за 2 мс, по сравнению с примерно 1500 мс для сервиса песочниц.
По замыслу песочница не имеет доступа к файловой системе, переменным окружения или сети. Код достигает хоста только через функции и монтирования, явно переданные вызывающей стороной. В README это иллюстрируется примером, где написанный моделью фрагмент вызывает предоставленную хостом функцию `nutrition`; песочница получает только возвращаемое значение функции.
Установка доступна для Python (`uv add pydantic-monty`), JavaScript/TypeScript (`npm install @pydantic/monty`) и Rust (`cargo add monty`). Коммерческий Full Monty запускает те же рабочие процессы в виде контейнерного образа.
Документация включает введение с измерениями задержек, сравнение с альтернативами, такими как Docker, Pyodide, WASI и сервисами песочниц, краткие руководства для Python, JavaScript и Rust, а также концепции, включая модель безопасности, ограничения ресурсов, снимки и поддерживаемое подмножество Python. Monty используется для запуска Code Mode в Pydantic AI, существуют привязки сообщества для Go (gomonty) и Dart/Flutter (dart_monty). Проект входит в Pydantic Stack наряду с Pydantic AI, Pydantic Logfire и Logfire AI Gateway.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.