แนวทางปฏิบัติแนะนำและข้อควรพิจารณาสำหรับเทมเพลต


หน้านี้อธิบายแนวทางปฏิบัติแนะนำและข้อควรพิจารณาบางประการ สำหรับเทมเพลตพรอมต์ของเซิร์ฟเวอร์ ซึ่งรวมถึงฟีเจอร์ที่ยังไม่รองรับ โปรดทราบว่าฟีเจอร์หลายอย่างเหล่านี้จะใช้ไม่ได้ในรุ่นเริ่มต้นของ เทมเพลตพรอมต์ฝั่งเซิร์ฟเวอร์ ดังนั้นโปรดดูข้อมูลอัปเดตในบันทึกประจำรุ่น

แนวทางปฏิบัติแนะนำ

แนวทางปฏิบัติแนะนำหลายข้อเหล่านี้มีรายละเอียดอยู่ในหัวข้อจัดการเทมเพลตด้วย

กำหนดเวอร์ชันเทมเพลต

ปกป้องเทมเพลตของคุณ

  • ล็อกเทมเพลตก่อนเผยแพร่เป็นเวอร์ชันที่ใช้งานจริง และหลีกเลี่ยงการแก้ไขเทมเพลต ที่ใช้ในเวอร์ชันที่ใช้งานจริง

    • การล็อกเทมเพลตจะช่วยป้องกันการแก้ไขโดยไม่ตั้งใจ แต่ไม่ได้บล็อกการแก้ไขทั้งหมด สมาชิกโปรเจ็กต์ที่มี สิทธิ์ที่เหมาะสมจะปลดล็อกเทมเพลตเพื่อแก้ไขได้เสมอ

    • เราขอแนะนำให้ล็อกเทมเพลตที่โค้ดใช้อยู่ โดยเฉพาะโค้ดเวอร์ชันที่ใช้งานจริง

  • เขียนการตรวจสอบอินพุตที่รัดกุม สำหรับตัวแปรอินพุต ซึ่งจะช่วยในเรื่องต่อไปนี้

    • ช่วยป้องกันการแทรกพรอมต์ได้
    • ช่วยให้มั่นใจได้ว่าคำขอจะสำเร็จและการตอบกลับจะเป็นไปตามที่คาดไว้

ฟีเจอร์ที่ยังไม่รองรับ

ฟีเจอร์หลายรายการที่ยังไม่รองรับจะใช้ไม่ได้เฉพาะในการเปิดตัวครั้งแรกเท่านั้น โปรดดูข้อมูลอัปเดตในหมายเหตุประจำรุ่น

ความสามารถของ 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 (ซึ่งระบุเป็นตัวแปรอินพุตได้)