テンプレートの高度なワークフロー


Firebase AI Logic の場合、Firebase コンソールには、テンプレートの内容を指定するためのガイド付き UI が用意されています。ただし、次のようなユースケースでは、より高度な方法でテンプレートを設定する必要があります。

このページで説明する高度なワークフローでは、Firebase AI Logic REST API を使用します。

REST API の使用に関する重要な情報

  • テンプレートのロックが解除されている場合は、REST API 呼び出しで同じテンプレート ID を使用してテンプレートを上書きできます。ロックされたテンプレートは上書きできません。

  • REST API を介してサーバー プロンプト テンプレートを作成し、そのロケーションを global に設定すると、サーバー プロンプト テンプレートは global を含むすべてのロケーションに自動的にプロビジョニングされ、両方の Gemini API プロバイダで使用できるようになります。ただし、REST API を使用してテンプレートを作成するときに他のロケーションを設定すると、テンプレートは Agent Platform Gemini API (formerly Vertex AI) でのみ使用可能になります。テンプレートに特定のロケーションを設定する方法については、このページで後ほど説明します。

    Firebase コンソールのガイド付き UI を使用すると、テンプレートはすべてのロケーション(global を含む)に自動的にプロビジョニングされ、両方の Gemini API プロバイダで使用できます。

  • REST API を介して templateGenerateContent リクエストまたは templateStreamGenerateContent リクエストでサーバー プロンプト テンプレートにアクセスするには、Gemini API プロバイダ(Gemini Developer API | Agent Platform Gemini API (formerly Vertex AI))に固有のエンドポイントを使用する必要があります。

(Agent Platform Gemini API (formerly Vertex AI) のみ)テンプレートの特定のロケーションを設定する

このセクションは、次の状況に適用されます。

  • アプリのユースケースに位置情報ベースの要件がある。

  • アプリのリクエストで Agent Platform Gemini API (formerly Vertex AI) を使用し、モデルにアクセスするロケーションを指定します。

このページで前述したように、次のいずれかを行うと、サーバー プロンプト テンプレートが Firebase AI Logic サポート対象の地域(global を含む)に自動的にプロビジョニングされます。all

  • Firebase コンソールのガイド付き UI を使用してテンプレートを作成します。
  • REST API を使用してテンプレートを作成し、そのロケーションを global に設定する。

つまり、アプリのリクエストでロケーションを Firebase AI Logic で使用可能なリージョンのいずれかに設定すると、テンプレートを使用できるようになります。アプリのリクエストで global に位置情報を設定する必要はありません。

ただし、テンプレートを特定のロケーションでのみ使用できるようにする場合は、REST API を介してテンプレートを作成し、その特定のロケーションを明示的に設定する必要があります。ロケーションを global に設定しないでください。

  1. projects.locations.templates.create エンドポイントを呼び出して、テンプレートを作成します。PromptTemplate の作成の一環として、テンプレートの location(europe-west4 など)を指定します。

  2. アプリのリクエストで、モデルにアクセスするロケーションがテンプレートのロケーション(eu)と一致していることを確認します。

次の点に注意してください。

  • Firebase コンソールのテンプレートのリストには、global ロケーションに(少なくとも)プロビジョニングされているテンプレートのみが表示されます。

  • REST API を使用して特定のロケーション(global 以外)にテンプレートをプロビジョニングする場合、アプリのリクエストでモデルにアクセスするロケーションは、テンプレートに設定されたロケーションと一致している必要があります。ロケーションが一致しない場合、リクエストは失敗します(リージョン分離ポリシーのため)。

テンプレートをファイルとして指定する

サーバー プロンプト テンプレート ファイルの内容を指定するには、projects.locations.templates.create エンドポイントを呼び出します。