Praktik terbaik dan pertimbangan untuk template


Halaman ini menjelaskan beberapa praktik terbaik dan pertimbangan untuk template perintah server, termasuk fitur yang belum didukung. Perhatikan bahwa banyak fitur ini akan tersedia seiring berkembangnya template perintah server, jadi periksa catatan rilis untuk mengetahui info terbaru.

Praktik terbaik

Banyak praktik terbaik ini juga dijelaskan secara mendetail di Mengelola template Anda.

Menetapkan versi template

Melindungi template Anda

  • Hindari mengedit template yang digunakan dalam produksi kecuali jika Anda telah menguji perubahan secara menyeluruh.

  • Kunci template Anda sebelum melanjutkan ke produksi.

    • Mengunci template berfungsi sebagai perlindungan terhadap pengeditan yang tidak disengaja, tetapi mengunci tidak memblokir pengeditan sepenuhnya. Anggota project dengan izin yang sesuai dapat selalu membuka kunci template untuk mengeditnya.

    • Sebaiknya kunci template yang sedang aktif digunakan oleh kode – terutama kode produksi.

Melindungi penggunaan Gemini API

  • Tulis validasi input yang kuat untuk variabel input Anda, yang dapat membantu hal berikut:

    • Dapat membantu melindungi dari injeksi perintah.
    • Dapat membantu memastikan permintaan berhasil dan respons sesuai yang diharapkan.
  • Terapkan mode khusus template untuk project Firebase Anda sehingga semua permintaan Gemini API melalui Firebase AI Logic harus menggunakan template prompt server.

Fitur yang belum didukung oleh template perintah server

Banyak fitur ini akan tersedia seiring berkembangnya template perintah server, jadi periksa catatan rilis untuk mengetahui info terbaru.

Kemampuan Firebase AI Logic belum didukung oleh template

Kemampuan standar berikut dari Firebase AI Logic belum didukung melalui template perintah server:

  • Streaming dua arah (Gemini Live API)
  • Inferensi hybrid atau di perangkat
  • Membatasi output ke daftar enum

Perhatikan juga bahwa jika Anda menggunakan pemantauan AI di konsol Firebase, ID template belum diisi dalam catatan apa pun.

Elemen umum Dotprompt belum didukung oleh template

Template prompt server kemungkinan akan segera mendukung elemen umum Dotprompt berikut:

  • Menggunakan spesifikasi skema JSON untuk skema input dan output di frontmatter Anda.

    • Perhatikan bahwa spesifikasi ini juga tidak didukung dalam permintaan template non-server. Saat ini kami hanya mendukung spesifikasi skema OpenAPI.
  • Mendeklarasikan definisi bidang karakter pengganti menggunakan *.

  • Menggunakan @key atau umumnya melakukan iterasi pada kolom input objek (yang merupakan kasus saat @key relevan).

  • Menggunakan @root, yang memungkinkan Anda mereferensikan konteks variabel root terlepas dari this saat ini.

Template prompt server kemungkinan tidak akan mendukung elemen umum Dotprompt berikut:

  • Menggunakan parsial, yang merupakan cuplikan template yang dapat digunakan kembali dan dapat disertakan dalam template lain.

Pertimbangan lainnya

  • Secara default, saat Anda menggunakan UI terpandu di Firebase console, kami akan menyediakan template di semua wilayah yang tersedia untuk Firebase AI Logic. Jika Anda menggunakan Vertex AI Gemini API dan kasus penggunaan Anda memerlukan pembatasan berbasis lokasi, Anda dapat menentukan lokasi untuk template menggunakan REST API.

  • Jika ingin menyediakan template perintah server sebagai file (bukan menggunakan UI terpandu konsol Firebase), Anda dapat menggunakan REST API. Perhatikan bahwa template perintah server tidak mendukung skema yang ditentukan dalam kode aplikasi dan diteruskan ke template.

  • Meskipun template ada di server, template tidak dapat berinteraksi secara langsung dengan resource sisi server project Firebase Anda yang lain (seperti database) kecuali URL Cloud Storage for Firebase (yang dapat diberikan sebagai variabel input).