System instructions let you give the model a persona, set the tone of its responses, or provide specific rules it must follow. These instructions are separate from the user's prompt and are treated with higher priority by the model to ensure it behaves as expected.
موارد استفاده رایج عبارتند از:
- تعیین شخصیت: برای مثال، «شما یک معلم ریاضی مفید هستید.»
- الزام به فرمت خروجی: برای مثال، «همیشه به صورت نقطهای پاسخ دهید.»
- ایجاد محدودیت: برای مثال، «به سوالات مربوط به سیاست پاسخ ندهید.»
پیشنیازها
دستورالعملهای سیستم روی دستگاههایی که Gemini Nano V3 و بالاتر را اجرا میکنند، کار میکنند. برای مشاهدهی فهرست دستگاههای پشتیبانیشده، به پشتیبانی دستگاه Prompt API مراجعه کنید.
محدودیتها
ما استفاده از دستورالعملهای سیستمی با ذخیرهسازی پیشوندی را توصیه نمیکنیم. به طور کلی، از دستورالعملهای سیستمی برای دستورالعملهای کوتاهی که نحوه رفتار مدل را تعریف میکنند استفاده کنید؛ اگر نیاز دارید بخش بزرگی از اعلان خود را در بین پرسوجوها تکرار کنید و نیاز به بهینهسازی عملکرد دارید، از ذخیرهسازی پیشوندی استفاده کنید.
How to use system instructions
برای ارائه دستورالعملهای سیستم، یک شیء 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
}
بهترین شیوهها
Here are some best practices when using system instructions:
- واضح و مستقیم باشد: مدل دستورالعملهای واضح و مستقیم را بهتر از دستورالعملهای مبهم دنبال میکند. در اینجا چند مثال آورده شده است:
- مبهم (اجتناب): «زیاد ننویسید. سعی کنید مفید و دوستانه بنویسید و خروجی را به خوبی قالببندی کنید.»
- واضح (ترجیحی): «شما یک دستیار پشتیبانی مشتری خوشبرخورد هستید. پاسخهای خود را حداکثر به ۳ جمله محدود کنید. هر لیستی را با استفاده از نقاط گلولهای قالببندی کنید.»
- مختصر باشید: اگرچه دستورالعملهای سیستم قدرتمند هستند، اما دستورالعملهای بسیار طولانی میتوانند پنجرهی محدود مدل را اشغال کنند.
- تعداد توکنها را در نظر بگیرید: مطمئن شوید که منطق شمارش توکن شما شامل دستورالعملهای سیستمی نیز میشود تا از دست کم گرفتن اندازه درخواست جلوگیری شود. توصیه میکنیم دستورالعملهای سیستمی خود را زیر ۱۵۰ کلمه (۱۰۰ تا ۲۰۰ توکن) نگه دارید.
- آزمایش و تکرار: رفتار مدل میتواند بسته به عبارتبندی متفاوت باشد. با ورودیهای مختلف کاربر آزمایش کنید تا مطمئن شوید که مدل، شخصیت خود را به طور مداوم حفظ میکند.