Petunjuk sistem memungkinkan Anda memberikan persona kepada model, menetapkan gaya bahasa responsnya, atau memberikan aturan khusus yang harus diikuti. Petunjuk ini terpisah dari perintah pengguna dan diperlakukan dengan prioritas yang lebih tinggi oleh model untuk memastikan model berperilaku seperti yang diharapkan.
Kasus penggunaan umum meliputi:
- Menetapkan persona: Misalnya, "Anda adalah tutor matematika yang membantu".
- Menerapkan format output: Misalnya, "Selalu respons dalam poin-poin".
- Menetapkan batasan: Misalnya, "Jangan menjawab pertanyaan tentang politik".
Prasyarat
Petunjuk sistem berfungsi di perangkat yang menjalankan Gemini Nano V3 dan yang lebih tinggi. Untuk mengetahui daftar perangkat yang didukung, lihat Dukungan perangkat Prompt API.
Batasan
Sebaiknya jangan gunakan petunjuk sistem dengan penyimpanan cache awalan. Secara umum, gunakan petunjuk sistem untuk petunjuk singkat yang menentukan cara model harus berperilaku; gunakan penyimpanan dalam cache awalan jika Anda perlu mengulangi sebagian besar perintah di seluruh kueri dan perlu mengoptimalkan performa.
Cara menggunakan petunjuk sistem
Untuk memberikan petunjuk sistem, buat objek SystemInstruction dan teruskan ke builder 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
}
Anda dapat menyederhanakan kode lebih lanjut dengan meneruskan petunjuk sistem secara langsung
ke builder permintaan 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
}
Praktik terbaik
Berikut beberapa praktik terbaik saat menggunakan petunjuk sistem:
- Jelas dan langsung: Model mengikuti petunjuk yang jelas dan langsung lebih baik daripada petunjuk yang ambigu. Berikut beberapa contohnya:
- Tidak jelas (hindari): "Jangan menulis terlalu banyak. Cobalah untuk membantu dan bersikap ramah, serta memformat output dengan baik."
- Jelas (lebih disukai): "Anda adalah asisten dukungan pelanggan yang ramah. Batasi respons Anda maksimal 3 kalimat. Format daftar apa pun menggunakan poin-poin berbutir."
- Singkat: Meskipun petunjuk sistem sangat efektif, petunjuk yang sangat panjang dapat menghabiskan jendela konteks model yang terbatas.
- Perhitungkan jumlah token: Pastikan logika penghitungan token Anda menyertakan petunjuk sistem untuk menghindari perkiraan ukuran permintaan yang terlalu rendah. Sebaiknya pertahankan petunjuk sistem Anda di bawah 150 kata (100-200 token).
- Uji dan lakukan iterasi: Perilaku model dapat bervariasi berdasarkan susunan kata. Lakukan pengujian dengan berbagai input pengguna untuk memastikan model mempertahankan personanya secara konsisten.