レート制限と割り当て

Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。


レート制限(通常は割り当てと呼ばれます)は、一定期間内に Gemini API に対して行うことができるリクエストの数を規制します。これらの上限は、公平な使用を確保し、不正使用から保護し、すべてのユーザーのシステム パフォーマンスを維持するのに役立ちます。

Firebase AI Logic を使用して Gemini モデルと Imagen モデルにリクエストを送信する場合、プロジェクトのレート上限は選択した「Gemini API」プロバイダによって異なります。Firebase AI Logic には、ユーザーごとのレート上限を設定する方法もあります。

Gemini Developer API のレート制限を表示する

レート制限(割り当て)の仕組み

レート制限(割り当て)は、次の 4 つのディメンションで測定されます。

  • 1 分あたりのリクエスト数(RPM)
  • 1 日あたりのリクエスト数(RPD)
  • 1 分あたりのトークン数(TPM)
  • 1 日あたりのトークン数(TPD)

使用量は各上限に対して評価され、いずれかの上限を超えると 429 割り当て超過エラーがトリガーされます。たとえば、RPM 上限が 20 の場合、TPM やその他の上限を超えていなくても、1 分以内に 21 回のリクエストを行うとエラーが発生します。

レート上限はプロジェクト レベルで適用され、その Firebase プロジェクトを使用するすべてのアプリケーションと IP アドレスに適用されます。

上限は使用する特定のモデルによって異なり、一部の上限は特定のモデルにのみ適用されます。たとえば、画像 / 分(IPM)は画像を生成できるモデル(Imagen 3)に対してのみ計算されますが、概念的には TPM と似ています。

試験運用版モデルとプレビュー版モデルでは、レート制限が厳しくなっています。

レート制限の引き上げをリクエストする

Gemini Developer API の「有料階層」をご利用の場合は、レート制限の引き上げをリクエストできます。

「ユーザーごとの」レート制限を設定する

Firebase AI Logic を使用するには、選択した Gemini API プロバイダを有効にする必要があります。また、Firebase AI Logic API も有効にする必要があります。これは、Google のクライアント SDK と Gemini API プロバイダ間のゲートウェイとして機能します。この API は、Firebase プロジェクトで Firebase AI Logic を最初に設定したときに有効になります。

Firebase AI Logic API のレート上限(割り当て)は、アプリの「ユーザーごと」のレート上限として使用できます。特に、Firebase AI Logic に依存する AI 機能で使用できます。この上限を設定して、AI 機能にアクセスする単一ユーザーを合理的に収容すると同時に、単一ユーザーが Gemini API プロバイダの上限(すべてのユーザーが共有することを想定)を超えないようにする必要があります。

ユーザーごとのレート制限の詳細

Firebase AI Logic API のレート上限(割り当て)、特に 1 分あたりのリクエスト数(RPM)に関する重要な詳細は次のとおりです。

  • これは、ユーザー、リージョン、分単位の「コンテンツ生成リクエスト」に基づいており、モデルに基づくものではありません。

  • これはプロジェクト レベルで適用され、その Firebase プロジェクトを使用するすべてのアプリケーションと IP アドレスに適用されます。

  • これは、Firebase AI Logic SDK からの呼び出しに適用されます。

  • デフォルトのレート制限は、ユーザーあたり 100 RPM です。
    なお、Gemini API プロバイダの制限(上記を参照)は Firebase AI Logic API よりも優先されるため、引き続き考慮する必要があります。

「ユーザーごと」のレート制限を調整する

レート制限(割り当て)を調整するには、serviceusage.quotas.update 権限が必要です。この権限は、オーナーロールと編集者ロールにデフォルトで含まれています。

レート制限(割り当て)を編集する、または引き上げをリクエストする方法は次のとおりです。

  1. Google Cloud コンソールで、Firebase AI Logic API のページに移動します。

  2. [管理] をクリックします。

  3. ページの下部にある [割り当てとシステム上限] タブをクリックします。

  4. テーブルをフィルタして、機能(コンテンツ生成のリクエスト)やリージョンなど、関心のある割り当てを表示します。

    たとえば、サポートされているアジアのいずれかのリージョンでコンテンツ リクエストを生成するユーザーごとの割り当てを表示する場合、フィルタは次のようになります。 Generate content requests + Dimension:region:asia

  5. 目的の各割り当ての左側にあるチェックボックスをオンにします。

  6. 割り当ての行の末尾にある をクリックし、[割り当てを編集] を選択します。

  7. [割り当ての変更] フォームで、次の操作を行います。

    1. [新しい値] フィールドに、引き上げ後の割り当てを入力します。

      この割り当てはプロジェクト レベルで適用され、その Firebase プロジェクトを使用するすべてのアプリケーションと IP アドレスで共有されます。

    2. フォームのその他のフィールドに入力して、[完了] をクリックします。

    3. [リクエストを送信] をクリックします。