หน้านี้อธิบายแนวทางปฏิบัติแนะนำและข้อควรพิจารณาบางประการ สำหรับเทมเพลตพรอมต์ของเซิร์ฟเวอร์ ซึ่งรวมถึงฟีเจอร์ที่ยังไม่รองรับ โปรดทราบว่าฟีเจอร์หลายอย่างเหล่านี้จะใช้ไม่ได้ในรุ่นเริ่มต้นของ เทมเพลตพรอมต์ฝั่งเซิร์ฟเวอร์ ดังนั้นโปรดดูข้อมูลอัปเดตในบันทึกประจำรุ่น
แนวทางปฏิบัติแนะนำ
แนวทางปฏิบัติแนะนำหลายข้อเหล่านี้มีรายละเอียดอยู่ในหัวข้อจัดการเทมเพลตด้วย
กำหนดเวอร์ชันเทมเพลต
สร้างรหัสเทมเพลตที่ต่อท้ายด้วยเวอร์ชันที่ใช้ การกำหนดเวอร์ชันเชิงความหมาย (semver)
ใช้ Firebase Remote Config เพื่อให้คุณเปลี่ยนเทมเพลตและค่าอื่นๆ ในคำขอได้อย่างง่ายดาย
ปกป้องเทมเพลตของคุณ
ล็อกเทมเพลตก่อนเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง และหลีกเลี่ยงการแก้ไขเทมเพลต ที่ใช้ในเวอร์ชันที่ใช้งานจริง
การล็อกเทมเพลตจะช่วยป้องกันการแก้ไขโดยไม่ตั้งใจ แต่ไม่ได้บล็อกการแก้ไขทั้งหมด สมาชิกโปรเจ็กต์ที่มี สิทธิ์ที่เหมาะสมจะปลดล็อกเทมเพลตเพื่อแก้ไขได้เสมอ
เราขอแนะนำให้ล็อกเทมเพลตที่โค้ดใช้อยู่ โดยเฉพาะโค้ดเวอร์ชันที่ใช้งานจริง
เขียนการตรวจสอบอินพุตที่รัดกุม สำหรับตัวแปรอินพุต ซึ่งจะช่วยในเรื่องต่อไปนี้
- ช่วยป้องกันการแทรกพรอมต์ได้
- ช่วยให้มั่นใจได้ว่าคำขอจะสำเร็จและการตอบกลับจะเป็นไปตามที่คาดไว้
ฟีเจอร์ที่ยังไม่รองรับ
ฟีเจอร์หลายรายการที่ยังไม่รองรับจะใช้ไม่ได้เฉพาะในการเปิดตัวครั้งแรกเท่านั้น โปรดดูข้อมูลอัปเดตในหมายเหตุประจำรุ่น
ความสามารถของ Firebase AI Logic ที่ยังไม่รองรับ
เทมเพลตพรอมต์ของเซิร์ฟเวอร์ยังไม่รองรับความสามารถต่อไปนี้ของ Firebase AI Logic ความสามารถเหล่านี้หลายอย่างจะพร้อมใช้งานในเร็วๆ นี้
- แชท
- การใช้เครื่องมือ (รวมถึงการเรียกใช้ฟังก์ชันและการอ้างอิงจาก Google Search)
- การแต่งรูปภาพแบบวนซ้ำ (แชท) ด้วยโมเดล Gemini (ต้องใช้แชท)
- การแก้ไขรูปภาพด้วยโมเดล Imagen
- การสตรีมแบบ 2 ทาง (Gemini Live API)
- ไฮบริดในอุปกรณ์
- จำกัดเอาต์พุตให้เป็นรายการของ Enum
- การกำหนดการตั้งค่าที่เกี่ยวข้องกับการคิด
- การกำหนดค่าการตั้งค่าความปลอดภัย
นอกจากนี้ โปรดทราบว่าหากคุณใช้การตรวจสอบ AI ในFirebaseคอนโซล ระบบจะยังไม่ได้ป้อนรหัสเทมเพลตในระเบียนใดๆ
องค์ประกอบทั่วไปของ Dotprompt ที่ยังไม่รองรับ
เทมเพลตพรอมต์ของเซิร์ฟเวอร์น่าจะรองรับองค์ประกอบทั่วไปต่อไปนี้ของ Dotprompt ในเร็วๆ นี้
ใช้ข้อกำหนดสคีมา JSON สำหรับสคีมาอินพุตและเอาต์พุตใน Frontmatter
- โปรดทราบว่าคำขอเทมเพลตที่ไม่ใช่ฝั่งเซิร์ฟเวอร์ก็ไม่รองรับข้อกำหนดนี้เช่นกัน ปัจจุบันเรารองรับเฉพาะข้อกำหนดของสคีมา OpenAPI
การประกาศคำจำกัดความของฟิลด์ไวลด์การ์ดโดยใช้
*การใช้
@keyหรือการวนซ้ำฟิลด์ของอินพุตออบเจ็กต์โดยทั่วไป (ซึ่งเป็นกรณีที่@keyเกี่ยวข้อง)การใช้
@rootซึ่งช่วยให้คุณอ้างอิงบริบทตัวแปรรากได้ไม่ว่าthisจะเป็นอะไรก็ตาม
เทมเพลตพรอมต์ของเซิร์ฟเวอร์อาจไม่รองรับองค์ประกอบทั่วไปต่อไปนี้ของ Dotprompt
- การใช้ Partial ซึ่งเป็นข้อมูลโค้ดเทมเพลตที่ใช้ซ้ำได้ซึ่งรวมอยู่ในเทมเพลตอื่นๆ
ข้อควรพิจารณาอื่นๆ
โดยค่าเริ่มต้น เมื่อคุณใช้ UI ที่มีคำแนะนำในคอนโซล Firebase เราจะจัดสรรเทมเพลตในทุกภูมิภาคที่พร้อมใช้งานสำหรับ Firebase AI Logic หากคุณใช้ Vertex AI Gemini API และ Use Case ของคุณต้องมีข้อจำกัดตามตำแหน่ง คุณจะระบุตำแหน่งสำหรับเทมเพลตได้โดยใช้ REST API
หากต้องการระบุเทมเพลตพรอมต์ของเซิร์ฟเวอร์เป็นไฟล์ (แทนการใช้ UI ที่มีคำแนะนำของคอนโซล Firebase) คุณสามารถใช้ REST API ได้ โปรดทราบว่าเทมเพลตพรอมต์ของเซิร์ฟเวอร์ไม่รองรับสคีมาที่กำหนดไว้ใน โค้ดแอปและส่งไปยังเทมเพลต
แม้ว่าเทมเพลตจะอยู่ในเซิร์ฟเวอร์ แต่ก็ไม่สามารถโต้ตอบโดยตรงกับทรัพยากรฝั่งเซิร์ฟเวอร์อื่นๆ ของโปรเจ็กต์ Firebase (เช่น ฐานข้อมูล) ได้ ยกเว้น URL ของ Cloud Storage for Firebase (ซึ่งระบุเป็นตัวแปรอินพุตได้)