הוראות להגדרת המערכת

הוראות המערכת מאפשרות לכם לתת למודל פרסונה, להגדיר את הטון של התשובות שלו או לספק כללים ספציפיים שהוא חייב לפעול לפיהם. ההוראות האלה נפרדות מההנחיה של המשתמש, והמודל מתייחס אליהן בעדיפות גבוהה יותר כדי לוודא שהוא פועל כצפוי.

תרחישים נפוצים לדוגמה:

  • הגדרת פרסונה: לדוגמה, "אתה מורה פרטי למתמטיקה".
  • אכיפת פורמט הפלט: לדוגמה, "תמיד תענה בנקודות".
  • הגדרת מגבלות: לדוגמה, "אל תענה על שאלות בנושא פוליטיקה".

דרישות מוקדמות

ההוראות למערכת פועלות במכשירים עם Gemini Nano בגרסה 3 ומעלה. רשימת המכשירים שנתמכים בגישה ישירה למודל

מגבלות

לא מומלץ להשתמש בהוראות מערכת עם שמירת קידומת במטמון. באופן כללי, כדאי להשתמש בהוראות מערכת להוראות קצרות שמגדירות איך המודל צריך להתנהג. כדאי להשתמש בשמירת קידומת במטמון אם צריך לחזור על חלק גדול מההנחיה בשאילתות שונות ורוצים לשפר את הביצועים.

איך משתמשים בהוראות למערכת

כדי לספק הוראות מערכת, יוצרים אובייקט SystemInstruction ומעבירים אותו ל-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
}

אפשר לפשט את הקוד עוד יותר על ידי העברת ההוראות למערכת ישירות ל-builder של הבקשות ב-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 טוקנים).
  • בדיקה ושיפור: ההתנהגות של המודל יכולה להשתנות בהתאם לניסוח. כדאי לבדוק את המודל עם קלט שונה של משתמשים כדי לוודא שהוא שומר על הפרסונה שלו באופן עקבי.