このページでは、サーバー プロンプト テンプレートに関するベスト プラクティスと考慮事項 について説明します。これには、 まだサポートされていない機能も含まれます。これらの機能の多くは、 サーバー プロンプト テンプレートの最初のリリースでは 利用できないため、最新情報については リリースノートをご確認ください。
ベスト プラクティス
これらのベスト プラクティスの多くは、 テンプレートを管理するでも詳しく説明されています。
テンプレートをバージョニングする
Firebase Remote Config を使用すると、リクエスト内のテンプレートやその他の値を簡単に変更できます。
テンプレートを保護する
本番環境に移行する前にテンプレートをロックします。また、本番環境で使用されているテンプレートは編集しないでください。
テンプレートをロックすると、意図しない編集を防ぐことができますが、ロックしても編集を完全にブロックすることはできません。適切な権限を持つプロジェクト メンバーは、いつでもテンプレートのロックを解除して編集できます。
コード(特に本番環境コード)で積極的に使用されているテンプレートはロックすることをおすすめします。
入力変数に対して強力な 入力検証 を記述すると、次のことが可能になります。
- プロンプト インジェクションから保護できます。
- リクエストが成功し、レスポンスが期待どおりになるようにできます。
まだサポートされていない機能
これらのサポートされていない機能の多くは、最初の リリースでは利用できないため、最新情報についてはリリースノートをご確認ください。
Firebase AI Logic でまだサポートされていない機能
サーバー プロンプト テンプレートは、Firebase AI Logic の次の機能をまだサポートしていません Firebase AI Logic。これらの機能のいくつかは近日中にリリースされる予定です。
- チャット
- 関数呼び出し
- Gemini モデルを使用した画像の反復編集(チャット)(チャットが必要)
- 双方向ストリーミング(Gemini Live API)
- ハイブリッドまたはオンデバイス推論
- 出力を enum のリストに制限する
また、Firebase コンソールで AI モニタリングを使用する場合、テンプレート ID はまだどのレコードにも入力されていません。
Dotprompt でまだサポートされていない共通要素
サーバー プロンプト テンプレートは、Dotprompt の次の共通 要素を 近日中にサポートする予定です。
フロントマターで入力スキーマと出力スキーマに JSON スキーマ仕様 を使用する。
- この仕様は、サーバー以外のテンプレート リクエストでもサポートされていません。現在サポートしているのは OpenAPI スキーマ仕様のみです。
*を使用してワイルドカード フィールド定義を宣言する。@keyを使用するか、オブジェクト入力のフィールドを反復処理する(@keyが関連する場合)。@rootを使用する。これにより、現在のthisに関係なく、ルート変数コンテキストを参照できます。
サーバー プロンプト テンプレートは、Dotprompt の次の共通 要素をサポートしない可能性があります。
- パーシャルを使用する。パーシャルは、他のテンプレートに含めることができる再利用可能なテンプレート スニペットです。
その他の考慮事項
デフォルトでは、Firebase コンソールでガイド付き UI を使用すると、Firebase AI Logic で利用可能なすべてのリージョンにテンプレートがプロビジョニングされます。Firebase AI LogicVertex AI Gemini API を使用していて、ユースケースで ロケーション ベースの制限が必要な場合は、 REST API を使用してテンプレートのロケーションを 指定できます。
Firebase コンソールのガイド付き UI を使用するのではなく、サーバー プロンプト テンプレートをファイルとして提供する場合は、REST API を使用できます。Firebaseサーバー プロンプト テンプレートは、アプリコードで定義され、テンプレートに渡されるスキーマをサポートしていません。
テンプレートはサーバー上にありますが、Firebase プロジェクトの他のサーバーサイド リソース(データベースなど)と直接やり取りすることはできません。URL を除く(入力変数として指定できます)。Cloud Storage for Firebase