アップデート一覧に戻る
New releaseSep 5, 2026

monty v0.0.22

AI向けの、Rustで書かれた最小限で安全なPythonインタプリタ

共有

Monty

AIが書いたコードのための、Rustで書かれた安全なPythonサンドボックス。

CI Codspeed Coverage PyPI NPM crates.io license Join Slack

Montyは、LLMが生成したコードを実行するためのコンテナベースのサンドボックスが抱えるレイテンシ、複雑さ、コストを回避します。 Montyには2つの形態があります。パッケージとしてインストールするMITライセンスのPython 3.14サンドボックスであるOSS Montyと、 同じサンドボックスをgRPCストリーム経由でサービスとして実行する商用サーバーであるFull Montyです。

新しいOSS Montyサンドボックスは、実行中のプールから1ms未満で起動します(Full Montyでは約2ms)。 これはサンドボックスサービスの約1500msと比較した場合の値です。

ファイルシステム、環境変数、ネットワークはサンドボックス内には存在しません。サンドボックスがホストにアクセスできるのは、 渡された関数とマウントを通じてのみです。

ドキュメント: pydantic.dev/docs/monty

インストール

uv add pydantic-monty        # Python
npm install @pydantic/monty  # JavaScript / TypeScript
cargo add monty              # Rust

商用版 Full Monty は、同じワーカーをコンテナイメージとして実行します。

例

code 文字列は、チョコレートバー1本で電球をどれだけの時間点灯できるかをモデルに尋ねたときに、モデルが書き出す内容です:

from pydantic_monty import Monty

code = """
kcal = nutrition('chocolate bar')['kcal']
hours = kcal * 4184 / (bulb_watts * 3600)
print(f'a chocolate bar powers a {bulb_watts} W bulb for {hours:.1f} hours')
"""

with Monty() as pool:
    with pool.checkout() as session:
        session.feed_run(
            code,
            inputs={'bulb_watts': 10},
            external_lookup={'nutrition': lambda food: {'kcal': 230}},
        )
        #> a chocolate bar powers a 10 W bulb for 26.7 hours

nutrition はホスト上で実行され、サンドボックスはその戻り値のみを受け取りました。

ドキュメント

Monty は Pydantic AI 内で Code Mode を実行します。 コミュニティバインディング: gomonty (Go) および dart_monty (Dart / Flutter)。

Pydantic Stack の一部

Pydantic Stack は、本番グレードの AI エージェントを出荷するために必要なすべてを提供します:

カテゴリ