Serverless Sandboxes はパブリックプレビューです。
Serverless Sandboxes では、Python を使用して、必要に応じて分離されたコンピュート環境を作成、使用し、不要になったら破棄できます。
Serverless Sandboxes は CoreWeave Sandbox ライブラリを使用して構築されています。基盤となる API リファレンスとライブラリのドキュメントについては、CoreWeave Sandbox documentation を参照してください。
サンドボックス は、単一の分離されたコンピュート環境です。作成して、内部でコマンドを実行し、不要になったら停止します。各サンドボックスは、それぞれ独自のファイルシステム、ネットワーク、プロセス空間を持つ専用のコンテナー内で実行されます。
サンドボックスを作成および管理する際、W&B はユーザーのアイデンティティを認証します。サンドボックス内で W&B または Weave を使用するには、W&B Secrets Manager または環境変数を使って APIキー を渡してください。サンドボックスでシークレットを使用する方法の詳細は、Secrets を参照してください。
サンドボックスは、ライフサイクルの中で複数の状態 を遷移します。コンテナーが実行中であれば、その内部で コマンドを実行 できます。
ファイルの読み取り、書き込み、読み取り専用マウント を使用して、サンドボックスとの間でファイルを扱えます。一般的な例としては、実行する Python スクリプトを読み込む、ログや結果を書き出す、またはサンドボックスからアクセスできるようにデータのディレクトリーを読み取り専用でマウントする、といったものがあります。
共有の設定を持つ複数のサンドボックスを管理するには、セッション を使用します。セッションが閉じられると、そのセッション内のすべてのサンドボックスは自動的に停止します。詳しくは、複数のサンドボックスを管理する を参照してください。
次の手順に従ってサンドボックスを作成し、その中でコマンドを実行します。
-
次のコマンドを使用して、W&B Python SDK (
wandb) と serverless sandbox の依存関係をインストールします。
pip install wandb[sandbox]
-
wandb login CLI コマンドを使用して W&B にログインします。プロンプトが表示されたら、APIキーを入力してアイデンティティを認証し、W&B アカウントにアクセスします。
-
次のコードスニペットを Python ファイルにコピー&ペーストして実行してください。このコードスニペットでは、次のことを行います。
Sandbox.run() を使用してサンドボックスを作成します。
Sandbox.exec() メソッドを使用して、サンドボックス内でコマンド echo "Hello from Serverless Sandboxes!" を実行します。
Sandbox.exec() から返される Process オブジェクトを使用して、出力をコンソールに表示します。
from wandb.sandbox import Sandbox
with Sandbox.run() as sandbox:
process = sandbox.exec(["echo", "Hello from Serverless Sandboxes!"]).result()
print(process.stdout)
コンソールに Hello from Serverless Sandboxes! と出力されます。
サンドボックスは、コンテキストマネージャー (with ブロック) を抜けると自動的に停止します。サンドボックスのライフサイクルと状態の詳細については、サンドボックスのライフサイクルを参照してください。
Serverless Sandboxes のチュートリアル
より詳しい例については、以下を参照してください。