หน้านี้อธิบายแนวทางปฏิบัติแนะนำและข้อควรพิจารณาบางประการ สำหรับเทมเพลตพรอมต์ของเซิร์ฟเวอร์ ซึ่งรวมถึงฟีเจอร์ที่ยังไม่รองรับ โปรดทราบว่าฟีเจอร์หลายอย่างเหล่านี้จะยังไม่พร้อมใช้งานในรุ่นเริ่มต้นของเทมเพลตพรอมต์ฝั่งเซิร์ฟเวอร์ ดังนั้นโปรดดูข้อมูลอัปเดตในบันทึกประจำรุ่น
แนวทางปฏิบัติแนะนำ
แนวทางปฏิบัติแนะนำหลายข้อเหล่านี้มีรายละเอียดอยู่ในหัวข้อจัดการเทมเพลตด้วย
กำหนดเวอร์ชันเทมเพลต
สร้างรหัสเทมเพลตที่ต่อท้ายด้วยเวอร์ชันที่ใช้การกำหนดเวอร์ชันเชิงความหมาย (semver)
ใช้ Firebase Remote Config เพื่อให้คุณเปลี่ยนเทมเพลตและค่าอื่นๆ ในคำขอได้อย่างง่ายดาย
ปกป้องเทมเพลตของคุณ
ล็อกเทมเพลตก่อนเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง และหลีกเลี่ยงการแก้ไขเทมเพลต ที่ใช้ในเวอร์ชันที่ใช้งานจริง
การล็อกเทมเพลตจะช่วยป้องกันการแก้ไขโดยไม่ตั้งใจ แต่ไม่ได้บล็อกการแก้ไขทั้งหมด สมาชิกโปรเจ็กต์ที่มี สิทธิ์ที่เหมาะสมจะปลดล็อกเทมเพลตเพื่อแก้ไขได้เสมอ
เราขอแนะนำให้ล็อกเทมเพลตที่โค้ดใช้อยู่ โดยเฉพาะโค้ดเวอร์ชันที่ใช้งานจริง
เขียนการตรวจสอบอินพุตที่รัดกุม สำหรับตัวแปรอินพุต ซึ่งจะช่วยในเรื่องต่อไปนี้
- ช่วยป้องกันการแทรกพรอมต์ได้
- ช่วยให้มั่นใจได้ว่าคำขอจะสำเร็จและคำตอบจะเป็นไปตามที่คาดไว้
ฟีเจอร์ที่ยังไม่รองรับ
ฟีเจอร์หลายรายการที่ยังไม่รองรับจะยังไม่พร้อมใช้งานในการเปิดตัวครั้งแรกเท่านั้น โปรดดูข้อมูลอัปเดตในหมายเหตุประจำรุ่น
ความสามารถของ Firebase AI Logic ที่ยังไม่รองรับ
เทมเพลตพรอมต์ของเซิร์ฟเวอร์ยังไม่รองรับความสามารถต่อไปนี้ของ Firebase AI Logic ความสามารถเหล่านี้หลายอย่างจะพร้อมใช้งานในเร็วๆ นี้
- แชท
- การเรียกใช้ฟังก์ชัน
- การแต่งรูปภาพแบบวนซ้ำ (แชท) ด้วยโมเดล Gemini (ต้องใช้แชท)
- การสตรีมแบบ 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 (ซึ่งระบุเป็นตัวแปรอินพุตได้)