הוראות מערכת הן כמו "מבוא" שמוסיפים לפני שהמודל נחשף להוראות נוספות ממשתמש הקצה. הוא מאפשר לכם לשלוט בהתנהגות של המודל על סמך הצרכים הספציפיים שלכם והתרחישים לדוגמה.
כשמגדירים הוראה למערכת, נותנים למודל הקשר נוסף כדי להבין את המשימה, לספק תשובות מותאמות אישית יותר ולפעול בהתאם להנחיות ספציפיות לאורך האינטראקציה המלאה של המשתמש עם המודל. אתם יכולים לציין התנהגות ברמת המוצר בהוראות מערכת, בנפרד מההנחיות שסופקו על ידי משתמשי קצה. לדוגמה, אפשר לכלול פרטים כמו התפקיד או האישיות, נתוני הקשר והוראות עיצוב.
אפשר להשתמש בהוראות מערכת בדרכים רבות, כולל:
- הגדרת פרסונה או תפקיד (לדוגמה, לצ'אטבוט)
- הגדרת פורמט הפלט (Markdown, YAML וכו')
- הגדרת הסגנון והטון של הפלט (לדוגמה, רמת הפירוט, רמת הרשמיות ורמת הקריאה הרצויה)
- הגדרת יעדים או כללים למשימה (לדוגמה, החזרת קטע קוד ללא הסברים נוספים)
- הוספת הקשר נוסף להנחיה (לדוגמה, תאריך סיום הידע)
כשמגדירים הוראה למערכת, היא חלה על כל הבקשה. הוא פועל בכמה תורות של משתמשים ומודלים כשהוא נכלל בהנחיה. ההוראות למערכת נפרדות מתוכן ההנחיה, אבל הן עדיין חלק מההנחיות הכוללות שלכם ולכן הן כפופות למדיניות הרגילה בנושא שימוש בנתונים.
כל המודלים של Gemini תומכים בהוראות מערכת. הם לא נתמכים במודלים של Imagen 3.
הגדרת הוראות מערכת
לוחצים על הספק Gemini API כדי לראות בדף הזה תוכן וקוד שספציפיים לספק. |
הגדרת הוראות מערכת לתרחישי שימוש כלליים
Swift
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
import FirebaseAI
// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)
Kotlin
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
// Specify the system instructions as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
// Specify the system instructions as part of creating the `GenerativeModel` instance
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
/* modelName */ "GEMINI_MODEL_NAME",
/* generationConfig (optional) */ null,
/* safetySettings (optional) */ null,
/* requestOptions (optional) */ new RequestOptions(),
/* tools (optional) */ null,
/* toolsConfig (optional) */ null,
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
model: "GEMINI_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko."
});
Dart
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
// ...
// Specify the system instructions as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
// ...
Unity
כשיוצרים מופע של GenerativeModel
, מציינים את systemInstruction
.
// ...
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Specify the system instructions as part of creating the `GenerativeModel` instance
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);
הגדרת הוראות מערכת ל-Gemini Live API
דוגמאות להנחיות
הנה כמה דוגמאות להנחיות מערכת שמגדירות את ההתנהגות הצפויה של המודל.
יצירת קוד
- מערכת: אתה מומחה בתחום הקידוד שמתמחה בהצגת קוד לממשקי קצה. כשאני מתאר רכיב באתר שאני רוצה לבנות, עליך להחזיר את קוד ה-HTML וה-CSS שנדרש כדי לעשות זאת. אל תספק הסבר לקוד הזה. בנוסף, תוכלו לקבל הצעות לעיצוב ממשק המשתמש.
- משתמש: תצור תיבה באמצע הדף שתכיל מבחר מסתובב של תמונות, שלכל אחת מהן יהיה כיתוב. התמונה במרכז הדף צריכה להיות עם צל מאחוריה כדי שתבלוט. הוא צריך גם לקשר לדף אחר באתר. אפשר להשאיר את כתובת ה-URL ריקה כדי שאוכל למלא אותה.
יצירת נתונים בפורמט מסוים
מערכת: אתה עוזר לטבחים ביתיים. אתם מקבלים רשימה של מצרכים ומשיבים עם רשימה של מתכונים שכוללים את המצרכים האלה. מתכונים שלא צריך להוסיף להם מרכיבים צריכים להופיע תמיד לפני מתכונים שכן צריך להוסיף להם מרכיבים.
התשובה שלך חייבת להיות אובייקט JSON שמכיל 3 מתכונים. לאובייקט מתכון יש את הסכימה הבאה:
- name: שם המתכון
- usedIngredients: רכיבים במתכון שסופקו ברשימה
- otherIngredients: מרכיבים במתכון שלא סופקו ברשימה (המאפיין מושמט אם אין מרכיבים אחרים)
- description: A brief description of the recipe, written positively as if to sell it
משתמש:
- שקית ברוקולי קפוא במשקל 1 פאונד
- 1 פינט שמנת מתוקה
- חבילה של 1 פאונד של קצוות ופרוסות גבינה
צ'אט בוט מוזיקלי
- מערכת: תגיב כהיסטוריון מוזיקה, תציג ידע מקיף במגוון ז'אנרים מוזיקליים ותספק דוגמאות רלוונטיות. הטון שלך יהיה אופטימי ונלהב, ותעביר את השמחה שבמוזיקה. אם השאלה לא קשורה למוזיקה, התשובה צריכה להיות: "אין לי מידע בנושא הזה".
- משתמש: אם אדם נולד בשנות ה-60, מה היה הז'אנר המוזיקלי הכי פופולרי באותה תקופה? תכין רשימה של חמישה שירים עם תבליטים.
אפשרויות נוספות לשליטה ביצירת תוכן
- מידע נוסף על עיצוב הנחיה כדי להשפיע על המודל ליצור פלט שמתאים לצרכים שלכם.
- מגדירים פרמטרים של המודל כדי לקבוע איך המודל ייצור תשובה. במודלים של Gemini, הפרמטרים האלה כוללים את מספר האסימונים המקסימלי של הפלט, הטמפרטורה, topK ו-topP. במודלים של Imagen, אלה כוללים יחס גובה-רוחב, יצירת דמויות, סימון מים וכו'.
- אפשר להשתמש בהגדרות הבטיחות כדי לשנות את הסיכוי לקבל תשובות שעלולות להיחשב כמזיקות, כולל דברי שטנה ותוכן מיני בוטה.
- מעבירים סכימת תגובה יחד עם ההנחיה כדי לציין סכימת פלט ספציפית. התכונה הזו שימושית בעיקר כשיוצרים פלט JSON, אבל אפשר להשתמש בה גם למשימות סיווג (למשל, כשרוצים שהמודל ישתמש בתוויות או בתגים ספציפיים).