Sistem talimatları, modele bir karakter vermenize, yanıtlarının üslubunu belirlemenize veya uyması gereken belirli kurallar sağlamanıza olanak tanır. Bu talimatlar, kullanıcının isteminden ayrıdır ve modelin beklendiği gibi davranmasını sağlamak için model tarafından daha yüksek öncelikli olarak ele alınır.
Yaygın kullanım alanları:
- Karakter belirleme: Örneğin, "Faydalı bir matematik öğretmenisin."
- Çıkış biçimini zorunlu kılma: Örneğin, "Her zaman madde işaretleriyle yanıt ver."
- Kısıtlamalar belirleme: Örneğin, "Siyasetle ilgili soruları yanıtlamayın."
Ön koşullar
Sistem talimatları, Gemini Nano V3 ve sonraki sürümlerin yüklü olduğu cihazlarda çalışır. Desteklenen cihazların listesi için Prompt API cihaz desteği bölümüne bakın.
Sınırlamalar
Önek önbelleğe alma ile sistem talimatlarını kullanmanızı önermiyoruz. Genel olarak, modelin nasıl davranması gerektiğini tanımlayan kısa talimatlar için sistem talimatlarını kullanın. Sorgular arasında isteminizin büyük bir bölümünü tekrarlamanız ve performansı optimize etmeniz gerekiyorsa ön ek önbelleğe almayı kullanın.
Sistem talimatlarını kullanma
Sistem talimatları sağlamak için bir SystemInstruction nesnesi oluşturun ve bunu GenerateContentRequest oluşturucusuna iletin:
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
}
Sistem talimatlarını doğrudan generateContentRequest istek oluşturucuya ileterek kodu daha da basitleştirebilirsiniz:
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
}
En iyi uygulamalar
Sistem talimatlarını kullanırken izleyebileceğiniz birkaç en iyi uygulamayı aşağıda bulabilirsiniz:
- Net ve doğrudan olun: Model, net ve doğrudan talimatları belirsiz olanlardan daha iyi anlar. Bazı örnekler:
- Belirsiz (kaçının): "Çok fazla yazmayın. Try to be helpful and friendly, and format the output nicely."
- Net (tercih edilen): "Güler yüzlü bir müşteri destek asistanısın. Yanıtlarınızı en fazla 3 cümleyle sınırlayın. Tüm listeleri madde işaretleriyle biçimlendirin."
- Kısa ve öz olun: Sistem talimatları güçlü olsa da çok uzun talimatlar modelin sınırlı bağlam penceresini tüketebilir.
- Jeton sayılarını hesaba katın: İstek boyutunu düşük tahmin etmemek için jeton sayma mantığınızın sistem talimatlarını içerdiğinden emin olun. Sistem talimatlarınızı 150 kelimenin (100-200 jeton) altında tutmanızı öneririz.
- Test edin ve yineleyin: Model davranışı, ifadeye göre değişebilir. Modelin karakterini tutarlı bir şekilde koruduğundan emin olmak için çeşitli kullanıcı girişleriyle test edin.