ตั้งค่าคำสั่งของระบบ

คำสั่งของระบบช่วยให้คุณกำหนดลักษณะตัวตนให้กับโมเดล กำหนดโทนการตอบกลับ หรือระบุกฎเฉพาะที่โมเดลต้องปฏิบัติตามได้ วิธีการเหล่านี้แยกจากพรอมต์ของผู้ใช้และโมเดลจะให้ความสำคัญมากกว่าเพื่อให้แน่ใจว่าโมเดลจะทำงานตามที่คาดไว้

กรณีการใช้งานที่พบบ่อยมีดังนี้

  • การกำหนดตัวตน: เช่น "คุณเป็นติวเตอร์สอนคณิตศาสตร์ที่คอยช่วยเหลือ"
  • การบังคับใช้รูปแบบเอาต์พุต: เช่น "ตอบเป็นหัวข้อย่อยเสมอ"
  • การตั้งค่าข้อจำกัด: เช่น "อย่าตอบคำถามเกี่ยวกับการเมือง"

ข้อกำหนดเบื้องต้น

คำสั่งของระบบจะทำงานในอุปกรณ์ที่ใช้ Gemini Nano V3 ขึ้นไป ดูรายการอุปกรณ์ที่รองรับได้ที่การรองรับอุปกรณ์สำหรับการเข้าถึงโมเดลโดยตรง

ข้อจำกัด

เราไม่แนะนำให้ใช้คำสั่งของระบบกับการแคชคำนำหน้า โดยทั่วไป ให้ใช้คำสั่งของระบบสำหรับคำสั่งสั้นๆ ที่กำหนดลักษณะการทำงานของโมเดล และใช้การแคชคำนำหน้าหากคุณต้องการทำซ้ำส่วนใหญ่ของพรอมต์ในคำค้นหาต่างๆ และต้องการเพิ่มประสิทธิภาพ

วิธีใช้คำสั่งของระบบ

หากต้องการระบุคำสั่งของระบบ ให้สร้างออบเจ็กต์ 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 โทเค็น)
  • ทดสอบและทำซ้ำ: ลักษณะการทำงานของโมเดลอาจแตกต่างกันไปตามการใช้ถ้อยคำ ทดสอบด้วยข้อมูลจากผู้ใช้ที่หลากหลายเพื่อให้แน่ใจว่าโมเดลจะคงบุคลิกของตนเองไว้อย่างสม่ำเสมอ