Şablonlarla ilgili en iyi uygulamalar ve dikkat edilmesi gereken noktalar


Bu sayfada, sunucu istem şablonları için bazı en iyi uygulamalar ve dikkat edilmesi gereken noktalar (henüz desteklenmeyen özellikler dahil) açıklanmaktadır. Bu özelliklerin çoğu, sunucu istem şablonları geliştikçe kullanıma sunulacaktır. Güncellemeler için sürüm notlarını inceleyin.

En iyi uygulamalar

Bu en iyi uygulamaların çoğu, Şablonlarınızı yönetme bölümünde de ayrıntılı olarak açıklanmıştır.

Şablonlarınızı sürümlendirme

Şablonunuzu koruma

  • Değişikliği kapsamlı bir şekilde test etmediğiniz sürece üretimde kullanılan şablonları düzenlemekten kaçının.

  • Üretime geçmeden önce şablonunuzu kilitleyin.

    • Şablonu kilitlemek, istenmeyen düzenlemelere karşı koruma sağlar ancak kilitleme, düzenlemeyi tamamen engellemez. Uygun izinlere sahip bir proje üyesi, düzenlemek için şablonun kilidini her zaman açabilir.

    • Kod tarafından (özellikle üretim kodu) etkin bir şekilde kullanılan şablonları kilitlemenizi öneririz.

Gemini API kullanımını koruma

  • Giriş değişkenleriniz için güçlü giriş doğrulama yazın. Bu, aşağıdakilere yardımcı olabilir:

    • İstem enjeksiyonuna karşı koruma sağlayabilir.
    • İsteklerin başarılı olmasını ve yanıtların beklendiği gibi olmasını sağlamaya yardımcı olabilir.
  • Firebase projeniz için yalnızca şablon modunu zorunlu kılarak Firebase AI Logic üzerinden gönderilen tüm Gemini API isteklerinin bir sunucu istem şablonu kullanmasını sağlayın.

Sunucu istem şablonları tarafından henüz desteklenmeyen özellikler

Bu özelliklerin çoğu, sunucu istem şablonları geliştikçe kullanılabilir hale gelecektir. Güncellemeler için sürüm notlarını inceleyin.

Firebase AI Logic özellikleri henüz şablonlar tarafından desteklenmiyor

Firebase AI Logic tarafından sunulan aşağıdaki standart özellikler henüz sunucu istem şablonları aracılığıyla desteklenmemektedir:

  • Çift yönlü akış (Gemini Live API)
  • Karma veya cihaz üzerinde çıkarım
  • Çıkışı bir enum listesiyle sınırlama

Ayrıca, Firebase konsolunda yapay zeka kullanım takibi özelliğini kullanıyorsanız şablon kimliği henüz hiçbir kayda eklenmez.

Dotprompt'un şablonlar tarafından henüz desteklenmeyen ortak öğeleri

Sunucu istem şablonları yakında Dotprompt'un aşağıdaki yaygın öğelerini destekleyecektir:

  • Frontmatter'ınızdaki giriş ve çıkış şemaları için JSON şeması spesifikasyonunu kullanma.

    • Bu spesifikasyonun sunucu dışı şablon isteklerinde de desteklenmediğini unutmayın. Şu anda yalnızca OpenAPI şema spesifikasyonu desteklenmektedir.
  • * kullanarak joker karakter alan tanımı yapma.

  • @key kullanma veya genellikle bir nesne girişinin alanları üzerinde yineleme yapma (@key ile ilgili olan durum budur).

  • Mevcut this ne olursa olsun kök değişken bağlamına referans vermenizi sağlayan @root kullanma.

Sunucu istem şablonları, Dotprompt'un aşağıdaki yaygın öğelerini büyük olasılıkla desteklemeyecektir:

  • Diğer şablonlara dahil edilebilen, yeniden kullanılabilir şablon snippet'leri olan parçaları kullanma.

Dikkat edilmesi gereken diğer noktalar

  • Firebase konsolunda rehberli kullanıcı arayüzünü kullandığınızda şablonu varsayılan olarak Firebase AI Logic için desteklenen tüm bölgelerde sağlarız. Agent Platform Gemini API (formerly Vertex AI) kullanıyorsanız ve kullanım alanınız konuma dayalı kısıtlamalar gerektiriyorsa REST API'yi kullanarak şablonunuzun konumunu belirtebilirsiniz.

  • Firebase Console'un rehberli kullanıcı arayüzünü kullanmak yerine sunucu istem şablonunu dosya olarak sağlamak istiyorsanız REST API'yi kullanabilirsiniz. Sunucu istem şablonlarının, uygulama kodunda tanımlanan ve şablona iletilen şemayı desteklemediğini unutmayın.

  • Şablon sunucuda olsa bile Firebase projenizin diğer sunucu tarafı kaynaklarıyla (veritabanı gibi) doğrudan etkileşim kuramaz. Cloud Storage for Firebase URL'leri (giriş değişkenleri olarak sağlanabilir) bunun istisnasıdır.