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 に設定しないでください。
projects.locations.templates.createエンドポイントを呼び出して、テンプレートを作成します。PromptTemplateの作成の一環として、テンプレートのlocation(europe-west4など)を指定します。アプリのリクエストで、モデルにアクセスするロケーションがテンプレートのロケーション(
eu)と一致していることを確認します。
次の点に注意してください。
Firebase コンソールのテンプレートのリストには、
globalロケーションに(少なくとも)プロビジョニングされているテンプレートのみが表示されます。REST API を使用して特定のロケーション(
global以外)にテンプレートをプロビジョニングする場合、アプリのリクエストでモデルにアクセスするロケーションは、テンプレートに設定されたロケーションと一致している必要があります。ロケーションが一致しない場合、リクエストは失敗します(リージョン分離ポリシーのため)。
テンプレートをファイルとして指定する
サーバー プロンプト テンプレート ファイルの内容を指定するには、projects.locations.templates.create エンドポイントを呼び出します。