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


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 コンソールのガイド付き UI を使用してテンプレートを作成する。
  • REST API を介してテンプレートを作成し、and そのロケーションを global に設定する。

つまり、アプリのリクエストで Firebase AI Logic で使用可能な任意のリージョンにロケーションを設定すると、テンプレートを使用できます。アプリのリクエストでロケーションを global に設定する必要はありません。

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

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

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

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

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

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

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

` projects.locations.templates.create` エンドポイントを呼び出すことで、サーバーのプロンプト テンプレート ファイルの内容を指定できます。