このドキュメントでは、アプリケーションの使用時に発生する可能性のあるエラーの解決方法について説明します。
オペレーション スキーマが空である
アプリが .operation_schemas()
から空のリストを返す場合は、次のいずれかの問題が原因である可能性があります。
アプリケーションの作成中にスキーマの生成に失敗する
問題:
アプリケーションをデプロイすると、次のような警告が表示されます。
WARNING:vertexai.reasoning_engines._reasoning_engines:failed to generate schema: issubclass() arg 1 must be a class
考えられる原因:
この警告は、1.49.0
より前のバージョンの google-cloud-aiplatform
に、事前構築済みの LangchainAgent
テンプレートを使用してアプリケーションをデプロイした場合に発生することがあります。使用しているバージョンを確認するには、ターミナルで次のコマンドを実行します。
pip show google-cloud-aiplatform
推奨される解決策:
ターミナルで次のコマンドを実行して、google-cloud-aiplatform
パッケージを更新します。
pip install google-cloud-aiplatform --upgrade
google-cloud-aiplatform
パッケージを更新したら、次のコマンドを実行してバージョンが 1.49.0
以降であることを確認します。
pip show google-cloud-aiplatform
ノートブック インスタンス(Jupyter、Colab、Workbench など)を使用している場合、更新されたパッケージを使用するには、ランタイムを再起動する必要があります。google-cloud-aiplatform
のバージョンが 1.49.0
以降であることを確認したら、アプリをデプロイし直してみてください。
アプリのクエリ時に PermissionDenied
エラーが発生する
必要な権限がない場合、クエリが失敗することがあります。
LLM 権限
問題:
次のような PermissionDenied
エラーが表示されることがあります。
PermissionDenied: 403 Permission 'aiplatform.endpoints.predict' denied on resource
'//aiplatform.googleapis.com/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/
google/models/{MODEL}' (or it may not exist). [reason: "IAM_PERMISSION_DENIED"
domain: "aiplatform.googleapis.com"
metadata {
key: "permission"
value: "aiplatform.endpoints.predict"
}
metadata {
key: "resource"
value: "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL}"
}
]
考えられる原因:
サービス アカウントに、大規模言語モデル(LLM)をクエリするための適切な権限がない可能性があります。
推奨される解決策:
サービス アカウントに、エラー メッセージに記載されている適切な Identity and Access Management(IAM)権限があることを確認します。不足している可能性がある IAM 権限の例は aiplatform.endpoints.predict
です。詳細については、サービス エージェントの権限を設定するをご覧ください。
Reasoning Engine の実行に失敗しました
アプリケーションをクエリするときに「Reasoning Engine Execution failed」というエラー メッセージが表示された場合は、このセクションで説明する問題のいずれかが原因である可能性があります。
.query()
への無効な入力
問題:
次のような FailedPrecondition
エラーが表示されることがあります。
FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"Invalid request: `{'query': ...}`"}
考えられる原因:
このエラーは、クエリへの入力をキーワード引数ではなく位置引数として指定した場合に発生します。たとえば、agent.query(input=query_str)
ではなく agent.query(query_str)
を呼び出します。
推奨される解決策:
デプロイされた推論エンジンのインスタンスをクエリする場合は、すべての入力をキーワード引数として指定します。
Gemini モデルの割り当て不足
問題:
次のようなエラーが表示されることがあります。これは、Gemini の呼び出しからエラーが発生したことを示します。
FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"...langchain_google_vertexai/chat_models.py...google.api_core.exceptions.ResourceExhausted: 429 Unable to submit request because the service is temporarily out of capacity. Try again later."}
または、別のエラー メッセージが表示されます。
FailedPrecondition: 400 Reasoning Engine Execution failed. Error Details:
{"detail":"...langchain_google_vertexai/chat_models.py...google.api_core.exceptions.InternalServerError: 500 Internal error occurred."}
考えられる原因:
これは、最近リクエストが多すぎて Gemini モデルの割り当てを使い切った場合に発生することがあります。
推奨される解決策:
Gemini モデルの割り当て管理プロセスに沿って割り当てを増やします。または、テストにレート制限を設定して、しばらくしてからもう一度お試しください。