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 で のみ使用できます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 を介してテンプレートを作成し、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` エンドポイントを呼び出すことで、サーバーのプロンプト テンプレート ファイルの内容を指定できます。