คำแนะนำของระบบช่วยให้คุณกำหนดบุคลิกของโมเดล กำหนดโทนของคำตอบ หรือระบุชุดกฎที่โมเดลต้องปฏิบัติตามได้ คำแนะนำเหล่านี้แยกจากพรอมต์ของผู้ใช้และโมเดลจะให้ความสำคัญกับคำแนะนำเหล่านี้มากกว่าเพื่อให้โมเดลทำงานตามที่คาดไว้
กรณีการใช้งานที่พบบ่อยมีดังนี้
- การกำหนดบุคลิก: เช่น "คุณเป็นครูสอนคณิตศาสตร์ที่พร้อมให้ความช่วยเหลือ"
- การบังคับใช้รูปแบบเอาต์พุต: เช่น "ตอบกลับเป็นรายการหัวข้อย่อยเสมอ"
- การกำหนดข้อจำกัด: เช่น "อย่าตอบคำถามเกี่ยวกับการเมือง"
ข้อกำหนดเบื้องต้น
คำแนะนำของระบบทำงานบนอุปกรณ์ที่ใช้ Gemini Nano V3 ขึ้นไป ดูรายการอุปกรณ์ที่รองรองรับได้ที่การรองรับอุปกรณ์ของ Prompt API
ข้อจำกัด
เราไม่แนะนำให้ใช้คำแนะนำของระบบกับการแคชคำนำหน้า โดยทั่วไป ให้ใช้คำแนะนำของระบบสำหรับคำแนะนำสั้นๆ ที่กำหนดวิธีที่โมเดลควรทำงาน และใช้การแคชคำนำหน้าหากคุณต้องการทำซ้ำส่วนใหญ่ของพรอมต์ในหลายๆ คำค้นหาและต้องการเพิ่มประสิทธิภาพ
วิธีใช้คำแนะนำของระบบ
หากต้องการระบุคำแนะนำของระบบ ให้สร้างออบเจ็กต์ SystemInstruction แล้วส่งไปยังเครื่องมือสร้าง GenerateContentRequest ดังนี้
import com.google.mlkit.genai.prompt.SystemInstruction
import com.google.mlkit.genai.prompt.TextPart
import com.google.mlkit.genai.prompt.generateContentRequest
// 1. Define the system instruction
val systemInstruction =
SystemInstruction("You are a concise assistant. Answer in 2 sentences or less.")
// 2. Create the request
val request = generateContentRequest(TextPart("How does photosynthesis work?")) {
this.systemInstruction = systemInstruction
}
// 3. Run inference
try {
val response = generativeModel.generateContent(request)
println(response.candidates.firstOrNull()?.text)
} catch (e: GenAiException) {
// Handle SDK-specific exceptions
}
คุณสามารถทำให้โค้ดง่ายขึ้นได้โดยส่งคำแนะนำของระบบไปยังเครื่องมือสร้างคำขอ generateContentRequest โดยตรง ดังนี้
val request = generateContentRequest(
SystemInstruction("You are a pirate. Speak like one."),
TextPart("What is the weather like today?")
) {
// Optional configurations like temperature
temperature = 0.7f
}
แนวทางปฏิบัติแนะนำ
แนวทางปฏิบัติแนะนำเมื่อใช้คำแนะนำของระบบมีดังนี้
- ระบุคำแนะนำให้ชัดเจนและตรงประเด็น: โมเดลจะทำตามคำแนะนำที่ชัดเจนและตรงประเด็นได้ดีกว่าคำแนะนำที่ไม่ชัดเจน ตัวอย่างเช่น
- ไม่ชัดเจน (ควรหลีกเลี่ยง): "อย่าเขียนมากเกินไป พยายามให้ความช่วยเหลือและเป็นมิตร รวมถึงจัดรูปแบบเอาต์พุตให้สวยงาม"
- ชัดเจน (แนะนำ): "คุณเป็นผู้ช่วยฝ่ายสนับสนุนลูกค้าที่เป็นมิตร จำกัดคำตอบไม่ให้เกิน 3 ประโยค จัดรูปแบบรายการโดยใช้รายการหัวข้อย่อย"
- กระชับ: แม้ว่าคำแนะนำของระบบจะมีประสิทธิภาพ แต่คำแนะนำที่ยาวมากอาจใช้หน้าต่างบริบทที่จำกัดของโมเดล
- พิจารณาจำนวนโทเค็น: ตรวจสอบว่าตรรกะการนับโทเค็นรวมคำแนะนำของระบบไว้ด้วยเพื่อหลีกเลี่ยงการประเมินขนาดคำขอต่ำเกินไป เราขอแนะนำให้คำแนะนำของระบบมีความยาวไม่เกิน 150 คำ (100-200 โทเค็น)
- ทดสอบและทำซ้ำ: ลักษณะการทำงานของโมเดลอาจแตกต่างกันไปตามการใช้คำ ทดสอบด้วยอินพุตของผู้ใช้ต่างๆ เพื่อให้แน่ใจว่าโมเดลจะรักษาบุคลิกของตนเองไว้ได้อย่างสม่ำเสมอ