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 を含む)に自動的に
プロビジョニングされます。Firebase AI Logic
- Firebase コンソールのガイド付き UI を使用してテンプレートを作成する。
- REST API を介してテンプレートを作成し、and そのロケーションを
globalに設定する。
つまり、アプリのリクエストで Firebase AI Logic で使用可能な任意のリージョンにロケーションを設定すると、テンプレートを使用できます。アプリのリクエストでロケーションを global に設定する必要はありません。
ただし、テンプレートを
_特定のロケーションでのみ使用できるようにする_場合は、REST API を介して
テンプレートを作成し、その特定のロケーションを明示的に設定する必要があります。ロケーションを global に設定しないでください。
projects.locations.templates.createエンドポイントを呼び出してテンプレートを作成します。 テンプレートのlocation(europe-west4など)をPromptTemplateの作成時に指定します。アプリのリクエストで、モデルにアクセスするロケーションがテンプレートのロケーション(
europe-west4)と一致していることを確認します。
次の点に注意してください。
Firebase コンソールのテンプレートのリストには、
globalロケーションにプロビジョニングされているテンプレート (少なくとも)のみが表示されます。REST API を使用して特定のロケーション (not
globalではない)にテンプレートをプロビジョニングする場合、アプリのリクエストでモデルにアクセスするロケーションは、テンプレートに設定されたロケーションと 一致している必要があります。ロケーションが一致しない場合、リクエストは失敗します(リージョン分離ポリシーが原因)。
テンプレートをファイルとして提供する
projects.locations.templates.create エンドポイントを呼び出すことで、サーバーのプロンプト テンプレート ファイルの内容を提供できます。