Session を使用して共通の設定を持つ複数のサンドボックスを管理する方法を説明します。サンドボックスのグループを連携させ、共通のデフォルトを適用し、ワークロード全体で一貫したクリーンアップを確実に行う必要があるクライアント開発者向けです。
認証を選択する
以下の例は、セクション内で CKS が指定されていない限り、サーバーレスキャパシティ上で実行されます。サンドボックスを所有するアカウントの認証情報を選択してください。キーまたはトークンの取得方法については、認証情報の選択と取得を参照してください。 インストールコマンドは、有効化した Python 仮想環境で実行してください。 使用する認証情報のタブにある Python コードを、sandbox_auth.py という名前で、このページで実行する Python スクリプトと同じディレクトリに保存します。このファイルに保存されるのはどの認証方式を使うかという設定のみで、認証情報そのものは含まれません。各例ではこのファイルから AUTH をインポートし、新しいサンドボックスやセッションを作成するたびに明示的に渡します。
- Forge API キー
- CoreWeave API アクセストークン
SDK の W&B 認証方式で、Forge の APIキーを使用します。
sandbox_auth.py
SandboxDefaults で placement_mode="cks" を設定します。auth=AUTH を指定してセッションを作成すると、そのセッションが所有するサンドボックスも認証されます。サンドボックスへの再接続、一覧表示、クリーンアップの際も、同じ認証情報を使用してください。
Session の概要
Session は以下を提供します:
- すべてのサンドボックスに対する共有デフォルト設定。
- セッションが閉じられたときの自動クリーンアップ。
@session.function()デコレータのスコープ。
基本的な使い方
サンドボックスを作成する
以下のセクションでは、セッションを使用してサンドボックスを作成する方法と、セッションのデフォルトを上書きする方法について説明します。session.sandbox()
セッションのデフォルトを使用してサンドボックスを作成します。サンドボックスは初回使用時まで起動されません。デフォルトを上書きする
追加の引数を渡して、セッションのデフォルトを上書きします。 次のサーバーレスの例では、CPU とメモリのリクエストをそれぞれの制限と同じ値に設定した、遅延起動の GPU サンドボックスを構成します。サンドボックスを起動するには、セッションを抜ける前にgpu_sandbox.start().result() を呼び出すか、コマンドを実行してください。
複数のサンドボックスの管理
セッションは、サンドボックスプールの管理に適しています。セッションのライフサイクル
以下のセクションでは、セッションを閉じる方法、close() の動作、およびエラーの処理方法について説明します。
手動で閉じる
コンテキストマネージャーを使用しない場合は、セッションを明示的に閉じてください:close() の動作
close() を呼び出すと、セッションを通じて作成された、またはセッションに取り込まれたすべてのサンドボックスの停止が開始され、すぐに OperationRef[None] が返されます。クリーンアップの完了を待つには、session.close().result() を呼び出します。
エラー処理
例外が発生した場合でも、セッションはクリーンアップされます。外部のサンドボックスを取り込む
セッション外で作成されたサンドボックスをセッションの管理下に取り込みます。Session のプロパティ
sandbox_count などの組み込みプロパティを使用して、セッションの状態を確認できます。