コード実行のトラブルシューティング

このドキュメントでは、分離されたサンドボックス環境でコード実行を行う際の一般的な問題とその解決策について説明します。サンドボックスの作成失敗、実行タイムアウト、ファイル I/O の問題に関するヘルプが含まれています。

サンドボックスの作成に関する問題

  • 権限エラー: サンドボックスの作成時にエラーが発生した場合は、 プロジェクトにエージェント プラットフォーム ユーザー Google Cloud (roles/aiplatform.user) Identity and Access Management(IAM)ロールがあることを確認してください。

  • プロジェクト ID またはロケーションが無効: コードで使用されている PROJECT_ID 変数と LOCATION 変数が正しく、サポートされていることを確認します。サポートされているリージョンのリストについては、サポートされているリージョンをご覧ください。

  • エージェント エンジンが作成されていない: サンドボックスを作成する前に、エージェント プラットフォーム インスタンスが正常に作成されたことを確認します。agent_engine.create() メソッドはエラーなしで完了する必要があります。

コードの実行に関する問題

  • コードエラー: execute_code レスポンスの stderr 出力を確認して、コードの構文エラー、ランタイム例外、論理的な欠陥を特定します。

  • ファイル I/O の問題:

    • ファイルが見つからない: input_datafiles 配列で指定された入力ファイルが、コード内で正しく参照されていることを確認します。 コードはファイルと同じフォルダで実行され、他のフォルダにアクセスできません。

    • 出力ファイルが生成されない: コードが想定される出力ファイル名に書き込んでいること、ファイルの作成や書き込みを妨げるエラーがないことを確認します。

    • サイズ上限: ファイルのサイズ上限は 100 MB です。

  • 状態の永続性: コードが以前の状態に依存している場合は、後続の呼び出しで同じ sandbox_name を使用していることを確認します。 また、サンドボックスの有効期限が切れていないことを確認します。

  • タイムアウト: コードの実行は 300 秒後にタイムアウトします。 パフォーマンスを向上させるためにコードを最適化するか、複雑なタスクをより管理しやすい小さなステップに分割することを検討してください。

サンドボックスの管理とクリーンアップ

  • 削除するサンドボックスが見つからない: サンドボックスを削除できない場合は、使用している sandbox_name が正しいこと、サンドボックスがまだ存在することを確認します。

  • 削除するエージェント エンジンが見つからない: サンドボックスと同様に、エージェント プラットフォーム インスタンスを削除しようとするときに agent_engine_name を確認します。

  • リソースの割り当て: 多くのサンドボックスを作成する場合や、頻繁に実行する場合は、リソースの割り当て上限に達する可能性があります。プロジェクトのエージェント プラットフォーム サービスの割り当てを確認し、必要に応じて増加をリクエストしてください。エージェント エンジンの割り当ての一覧については、割り当てをご覧ください。