テンプレートのベスト プラクティスと考慮事項


このページでは、サーバー プロンプト テンプレートに関するベスト プラクティスと考慮事項について説明します。これには、まだサポートされていない機能も含まれます。これらの機能の多くは、サーバー プロンプト テンプレートの初回リリース時には利用できません。リリースノートで最新情報を確認してください。

ベスト プラクティス

これらのベスト プラクティスの多くは、テンプレートを管理するでも詳しく説明されています。

テンプレートをバージョニングする

テンプレートを保護する

  • 本番環境に移行する前に、テンプレートをロックします。また、本番環境で使用されているテンプレートは編集しないでください。

    • テンプレートをロックすると、意図しない編集を防ぐことができますが、ロックしても編集を完全にブロックすることはできません。適切な権限を持つプロジェクト メンバーは、いつでもテンプレートのロックを解除して編集できます。

    • コード(特に本番環境コード)でアクティブに使用されているテンプレートはロックすることをおすすめします。

  • 入力変数に対して強力な入力検証を記述します。これは、次のことに役立ちます。

    • プロンプト インジェクションから保護するのに役立ちます。
    • リクエストが成功し、レスポンスが想定どおりになるようにします。

まだサポートされていない機能

これらの未サポート機能の多くは、初回リリースでのみ利用できないため、リリースノートで最新情報を確認してください。

Firebase AI Logic のまだサポートされていない機能

サーバー プロンプト テンプレートは、Firebase AI Logic の次の機能をまだサポートしていません。これらの機能のいくつかは近日中にリリースされる予定です。

  • チャット
  • ツールの使用(関数呼び出しや Google 検索によるグラウンディングなど)
  • Gemini モデルを使用した画像の反復編集(チャット)(チャットが必要)
  • Imagen モデルを使用した画像の編集
  • 双方向ストリーミング(Gemini Live API)
  • ハイブリッド オンデバイス
  • 出力を列挙型のリストに制限する
  • 思考に関する設定を構成する
  • 安全性設定の構成

また、Firebase コンソールで AI モニタリングを使用する場合、テンプレート ID はまだどのレコードにも入力されていません。

Dotprompt のまだサポートされていない共通要素

サーバー プロンプト テンプレートは、まもなく Dotprompt の次の共通要素をサポートする予定です。

  • フロントマターの入力スキーマと出力スキーマに JSON スキーマ仕様を使用します。

    • この仕様は、サーバー以外のテンプレート リクエストでもサポートされていません。現在、OpenAPI スキーマ仕様のみがサポートされています。
  • * を使用してワイルドカード フィールド定義を宣言する。

  • @key を使用する、またはオブジェクト入力のフィールドを一般的に反復処理する(@key が関連する場合)。

  • @root を使用します。これにより、現在の this に関係なく、ルート変数コンテキストを参照できます。

サーバー プロンプト テンプレートは、Dotprompt の次の一般的な要素をサポートしない可能性があります。

  • パーシャルを使用する。これは、他のテンプレートに含めることができる再利用可能なテンプレート スニペットです。

その他の考慮事項

  • デフォルトでは、Firebase コンソールのガイド付き UI を使用すると、Firebase AI Logic利用可能なすべてのリージョンにテンプレートがプロビジョニングされます。Vertex AI Gemini API を使用していて、ユースケースでロケーション ベースの制限が必要な場合は、REST API を使用してテンプレートのロケーションを指定できます。

  • サーバー プロンプト テンプレートをファイルとして提供するFirebase コンソールのガイド付き UI を使用するのではなく)場合は、REST API を使用できます。サーバー プロンプト テンプレートは、アプリコードで定義され、テンプレートに渡されるスキーマをサポートしていません。

  • テンプレートはサーバー上にありますが、Cloud Storage for Firebase URL(入力変数として指定可能)を除き、Firebase プロジェクトの他のサーバーサイド リソース(データベースなど)と直接やり取りすることはできません。