Firebase AI Logic の場合、Firebase コンソールには、テンプレートの内容を指定するためのガイド付き UI が用意されています。ただし、次のようなユースケースでは、テンプレートを設定するより高度な方法が必要になることがあります。
このページで説明する高度なワークフローでは、Firebase AI Logic REST API を使用します。
REST API の使用に関する重要なお知らせ
テンプレートがロック解除されている場合は、REST API 呼び出しで同じテンプレート ID を使用してテンプレートを上書きできます。ロックされたテンプレートは上書きできません。
REST API を介してサーバー プロンプト テンプレートを作成し、そのロケーションを
globalに設定すると、サーバー プロンプト テンプレートは すべてのロケーション(globalを含む)で自動的にプロビジョニングされ、両方の Gemini API プロバイダで使用できるようになります。ただし、REST API を介してテンプレートを作成するときに他のロケーションを設定すると、テンプレートは Vertex AI Gemini API でのみ使用できます。詳しくは、このページの後半のテンプレートの特定の場所を設定するをご覧ください。Firebase コンソールのガイド付き UI を使用すると、テンプレートは すべてのロケーション(
globalを含む)で自動的にプロビジョニングされ、両方の Gemini API プロバイダで使用できるようになります。REST API を介して
templateGenerateContentまたはtemplateStreamGenerateContentリクエストでサーバー プロンプト テンプレートにアクセスするには、Gemini API プロバイダ固有のエンドポイント(Gemini Developer API | Vertex AI Gemini API)を使用する必要があります。
(Vertex AI Gemini API のみ) テンプレートの特定のロケーションを設定する
このセクションは、次のような状況に適用されます。
アプリのユースケースに位置情報に基づく要件がある。
アプリのリクエストで Vertex AI Gemini API を使用し、モデルにアクセスする場所を指定します。
このページの冒頭で説明したように、次のいずれかの操作を行うと、サーバー プロンプト テンプレートが Firebase AI Logic(global を含む)のすべての
利用可能なリージョンに自動的にプロビジョニングされます。
- Firebase コンソールのガイド付き UI を使用してテンプレートを作成します。
- REST API を使用してテンプレートを作成し、そのロケーションを
globalに設定します。
つまり、アプリのリクエストで Firebase AI Logic の使用可能なリージョンを任意に設定すると、テンプレートが使用可能になります。アプリの global へのリクエストで位置情報を設定する必要はありません。
ただし、テンプレートを特定の場所でのみ使用可能にする場合は、REST API を使用してテンプレートを作成し、その特定の場所を明示的に設定する必要があります。場所を global に設定しないでください。
projects.locations.templates.createエンドポイントを呼び出して、テンプレートを作成します。PromptTemplateの作成の一部として、テンプレートのlocation(europe-west4など)を指定します。アプリのリクエストで、モデルにアクセスする場所がテンプレートの場所(
europe-west4)と一致していることを確認します。
次の点に注意してください。
Firebase コンソールのテンプレートのリストには、
globalロケーションに(少なくとも)プロビジョニングされているテンプレートのみが表示されます。REST API を使用して特定のロケーション(
globalではない)にテンプレートをプロビジョニングする場合、アプリのリクエストでモデルにアクセスするロケーションは、テンプレートに設定されたロケーションと一致している必要があります。ロケーションが一致しない場合、リクエストは失敗します(リージョン分離ポリシーによる)。
テンプレートをファイルとして提供する
サーバー プロンプト テンプレート ファイルの内容は、projects.locations.templates.create エンドポイントを呼び出すことで指定できます。