このガイドでは、Gemini API の呼び出し時に発生する一般的な問題の診断と解決に役立つ情報を説明します。Gemini API バックエンド サービスまたはクライアント SDK で問題が発生することがあります。クライアント SDK は、次のリポジトリでオープンソースとして公開されています。
API キーに関する問題が発生した場合は、API キーの設定ガイドに沿って API キーが正しく設定されていることを確認してください。
Gemini API バックエンド サービスのエラーコード
次の表に、発生する可能性のある一般的なバックエンド エラーコードと、その原因の説明、トラブルシューティングの手順を示します。
HTTP コード | ステータス | 説明 | 例 | ソリューション |
400 | INVALID_ARGUMENT | リクエストの本文の形式が正しくない。 | リクエストに入力ミスがあるか、必須項目が入力されていません。 | リクエストの形式、例、サポートされているバージョンについては、API リファレンスをご覧ください。古いエンドポイントで新しい API バージョンの機能を使用すると、エラーが発生する可能性があります。 |
400 | FAILED_PRECONDITION | Gemini API の無料枠は、お住まいの国ではご利用いただけません。Google AI Studio でプロジェクトの課金を有効にしてください。 | 無料の階層がサポートされていないリージョンでリクエストを実行しており、Google AI Studio でプロジェクトの課金を有効にしていない。 | Gemini API を使用するには、Google AI Studio を使用して有料プランを設定する必要があります。 |
403 | PERMISSION_DENIED | API キーに必要な権限がありません。 | 間違った API キーを使用している。適切な認証を行わずに、チューニング済みモデルを使用しようとしている。 | API キーが設定され、適切なアクセス権があることを確認します。また、チューニング済みモデルを使用するには、適切な認証手続きを完了してください。 |
404 | NOT_FOUND | リクエストされたリソースが見つかりませんでした。 | リクエストで参照されている画像、音声、動画ファイルが見つかりません。 | リクエスト内のすべてのパラメータが有効かどうか、API のバージョンで確認します。 |
429 | RESOURCE_EXHAUSTED | レート制限を超えています。 | 無料の Gemini API で 1 分あたりに送信されるリクエストが多すぎます。 | モデルのレート制限内であることを確認します。必要に応じて、割り当ての増加をリクエストします。 |
500 | INTERNAL | Google 側で予期しないエラーが発生しました。 | 入力コンテキストが長すぎます。 | 入力コンテキストを減らすか、別のモデルに一時的に切り替えて(Gemini 1.5 Pro から Gemini 1.5 Flash など)、問題が解決するかどうかを確認します。または、しばらく待ってからリクエストを再試行してください。再試行しても問題が解決しない場合は、Google AI Studio の [フィードバックを送信] ボタンを使用して問題をお知らせください。 |
503 | UNAVAILABLE | サービスが一時的に過負荷状態になっているか、停止している可能性があります。 | サービスが一時的に容量不足になっています。 | 別のモデル(Gemini 1.5 Pro から Gemini 1.5 Flash など)に一時的に切り替えて、動作するかどうかを確認します。または、しばらく待ってからリクエストを再試行してください。再試行しても問題が解決しない場合は、Google AI Studio の [フィードバックを送信] ボタンを使用して問題をお知らせください。 |
504 | DEADLINE_EXCEEDED | サービスが期限内に処理を完了できない。 | プロンプト(またはコンテキスト)が大きすぎて、時間内に処理できない。 | このエラーを回避するには、クライアント リクエストで「タイムアウト」を長く設定してください。 |
クライアント SDK エラーコード
次の表に、発生する可能性のある一般的な Python クライアント SDK エラーコードと、その原因の説明を示します。
例外/エラーの種類 | クラス | 説明 |
---|---|---|
APIError | google.genai.errors.APIError | GenAI API によって発生する一般的なエラー。 |
ClientError | google.genai.errors.ClientError | GenAI API によって発生したクライアント エラー。 |
ServerError | google.genai.errors.ServerError | GenAI API によって発生したサーバーエラー。 |
UnknownFunctionCallArgumentError | google.genai.errors.UnknownFunctionCallArgumentError | 関数呼び出し引数をパラメータ アノテーションに変換できない場合に発生します。 |
UnsupportedFunctionError | google.genai.errors.UnsupportedFunctionError | 関数がサポートされていない場合に発生します。 |
FunctionInvocationError | google.genai.errors.FunctionInvocationError | 指定された引数で関数を呼び出すことができない場合に発生します。 |
ValidationError | pydantic.ValidationError | 検証対象のデータにエラーが見つかった場合に Pydantic によって発生します。Pydantic のエラー処理をご覧ください。 |
すべてのエラーは errors クラスにも表示されます。
SDK によって発生したエラーを処理するには、try-except
ブロックを使用します。
from google.genai import errors
try:
client.models.generate_content(
model="invalid-model-name",
contents="What is your name?",
)
except errors.APIError as e:
print(e.code) # 404
print(e.message)
API 呼び出しでモデル パラメータのエラーを確認する
モデル パラメータが次の値の範囲内であることを確認します。
モデル パラメータ | 値(範囲) |
候補数 | 1 ~ 8(整数) |
温度 | 0.0 ~ 1.0 |
最大出力トークン |
get_model (Python)を使用して、使用しているモデルのトークンの最大数を決定します。 |
TopP | 0.0 ~ 1.0 |
パラメータ値を確認するだけでなく、正しい API バージョン(/v1
または /v1beta
)と、必要な機能をサポートするモデルを選択します。たとえば、機能がベータ版リリース中の場合は、/v1beta
API バージョンでのみ使用できます。
適切なモデルを使用しているかどうかを確認する
モデルのページに記載されているサポート対象のモデルを使用していることを確認します。
安全性に関する問題
API 呼び出しの安全設定が原因でプロンプトがブロックされている場合は、API 呼び出しで設定したフィルタに照らし合わせてプロンプトを確認します。
BlockedReason.OTHER
が表示された場合は、クエリまたはレスポンスが利用規約に違反しているか、サポートされていない可能性があります。
朗読に関する問題
RECITATION の理由でモデルの出力生成が停止した場合、モデルの出力が特定のデータに似ている可能性があります。これを解決するには、プロンプトやコンテキストをできるだけ一意にし、温度を高くします。
モデルの出力を改善する
モデルの出力の品質を高めるには、より構造化されたプロンプトの作成を検討してください。プロンプト設計の概要のページでは、プロンプトの設計を開始するための基本的なコンセプト、戦略、ベスト プラクティスについて説明します。
適切な入出力ペアの例が数百ある場合は、モデル チューニングも検討できます。
トークンの上限について
トークンのカウント方法と上限について詳しくは、トークン ガイドをご覧ください。
既知の問題
- この API は、一部の言語のみをサポートしています。サポートされていない言語でプロンプトを送信すると、予期しないレスポンスやブロックされたレスポンスが返される可能性があります。最新情報については、対応言語をご覧ください。
バグを報告
ご不明な点がございましたら、Google AI デベロッパー フォーラムでディスカッションに参加してください。