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