Skip to main content
wandb.sandbox は非推奨です。 W&B Python SDK の将来のリリースで削除されます。代わりに cwsandbox パッケージを使用してください。詳細は CoreWeave サンドボックスのドキュメントを参照してください。移行にあたっては、次の 2 点が変わります。
  • import: W&B の extra を指定して cwsandbox をインストールし (pip install "cwsandbox[wandb]")、wandb.sandbox ではなく cwsandbox から import します。
  • 認証情報: cwsandbox はデフォルトで CWSANDBOX_API_KEY に設定された CoreWeave API アクセストークンで認証します。引き続き W&B APIキーを使用する場合は、auth=AuthStrategy.WANDB を渡してください。認証情報の選択を参照してください。
このページの例では引き続き wandb.sandbox を使用しています。同等の cwsandbox のコードについては、cwsandbox への移行を参照してください。
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 スクリプトを読み込む、ログや結果を書き出す、またはサンドボックスからアクセスできるようにデータのディレクトリーを読み取り専用でマウントする、といったものがあります。 共有の設定を持つ複数のサンドボックスを管理するには、セッション を使用します。セッションが閉じられると、そのセッション内のすべてのサンドボックスは自動的に停止します。詳しくは、複数のサンドボックスを管理する を参照してください。

基本的な使い方

次の手順に従ってサンドボックスを作成し、その中でコマンドを実行します。
  1. 次のコマンドを使用して、W&B Python SDK (wandb) と serverless sandbox の依存関係をインストールします。
  2. wandb login CLI コマンドを使用して W&B にログインします。プロンプトが表示されたら、APIキーを入力してアイデンティティを認証し、W&B アカウントにアクセスします。
  3. 次のコードスニペットを Python ファイルにコピー&ペーストして実行してください。このコードスニペットでは、次のことを行います。
    1. Sandbox.run() を使用してサンドボックスを作成します。
    2. Sandbox.exec() メソッドを使用して、サンドボックス内でコマンド echo "Hello from Serverless Sandboxes!" を実行します。
    3. Sandbox.exec() から返される Process オブジェクトを使用して、出力をコンソールに表示します。
    hello_sandbox.py
    コンソールに Hello from Serverless Sandboxes! と出力されます。 サンドボックスは、コンテキストマネージャー (with ブロック) を抜けると自動的に停止します。サンドボックスのライフサイクルと状態の詳細については、サンドボックスのライフサイクルを参照してください。

cwsandbox への移行

wandb.sandbox は非推奨であり、W&B Python SDK の将来のリリースで削除されます。代わりに cwsandbox パッケージを使用してください。cwsandbox は W&B APIキーと CoreWeave API アクセストークンのどちらも使用できます。リファレンスドキュメントは CoreWeave sandbox のドキュメント を参照してください。 移行するには、パッケージのインストール方法、インポート方法、および使用する認証情報の選択方法を変更します。
  1. W&B の extra を指定して cwsandbox をインストールします。この extra により wandb ライブラリが同時にインストールされます。cwsandbox はこのライブラリを使用して W&B の認証情報を解決します。
  2. wandb.sandbox ではなく cwsandbox からインポートし、サンドボックスまたはセッションを作成する際に auth=AuthStrategy.WANDB を渡します。cwsandbox はデフォルトで CWSANDBOX_API_KEY から CoreWeave API アクセストークンを読み取るため、W&B 認証を使用する場合は明示的に指定する必要があります。
    変更前: wandb.sandbox
    変更後: cwsandbox
W&B の認証情報は従来と同じ方法で解決されます。具体的には、実行中の wandb login セッション、WANDB_API_KEY 環境変数、または ~/.netrc 内の api.wandb.ai エントリのいずれかです。サンドボックスの料金を W&B ではなく CoreWeave アカウントに請求する場合は、auth を省略し、CWSANDBOX_API_KEY に CoreWeave API アクセストークンを設定します。2 つの認証情報の比較については、Choose a credential を参照してください。

移行後に変わる動作

wandb.sandboxcwsandbox をラップし、cwsandbox パッケージ単体では適用されない W&B Serverless のデフォルトを適用します。移行の際は、以下の相違点に注意してください。

Serverless Sandboxes のチュートリアル

より詳しい例については、以下を参照してください。

インテグレーション

以下のサードパーティ製フレームワークは、サンドボックスプロバイダとして Serverless Sandboxes をサポートしています。