تعليمات النظام هي بمثابة "مقدمة" تضيفها قبل أن يتلقّى النموذج أي تعليمات أخرى من المستخدم النهائي. فهي تتيح لك توجيه سلوك النموذج استنادًا إلى احتياجاتك وحالات الاستخدام المحدّدة.
تتوفّر تعليمات النظام في جميع نماذج Gemini.
الانتقال إلى عيّنات التعليمات البرمجية
عند ضبط تعليمات النظام، فإنّك تمنح النموذج سياقًا إضافيًا لفهم المهمة وتقديم ردود أكثر تخصيصًا والالتزام بإرشادات محدّدة طوال تفاعل المستخدم مع النموذج. يمكنك تحديد سلوك على مستوى المنتج في تعليمات النظام، بشكل منفصل عن الطلبات التي يقدّمها المستخدمون النهائيون. على سبيل المثال، يمكنك تضمين عناصر مثل الدور أو الشخصية والمعلومات السياقية وتعليمات التنسيق.
يمكنك استخدام تعليمات النظام بطرق عديدة، بما في ذلك:
- تحديد شخصية أو دور (لروبوت محادثة مثلاً)
- تحديد تنسيق الناتج (Markdown أو YAML أو غير ذلك)
- تحديد أسلوب الردّ ونبرته (على سبيل المثال، الإسهاب، والصياغة الرسمية، ومستوى القراءة المستهدف)
- تحديد أهداف أو قواعد للمهمة (مثلاً، عرض مقتطف الرمز بدون تقديم المزيد من التوضيحات)
- تقديم سياق إضافي للطلب (على سبيل المثال، تاريخ آخر تحديث للبيانات)
عند ضبط تعليمات النظام، يتم تطبيقها على الطلب بأكمله. وهو يعمل على مستوى عدة تفاعلات بين المستخدم والنموذج عند تضمينه في الطلب. على الرغم من أنّ تعليمات النظام منفصلة عن محتوى الطلب، إلا أنّها تظل جزءًا من طلباتك الإجمالية، وبالتالي تخضع لسياسات استخدام البيانات العادية.
ضبط تعليمات النظام
|
انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة. |
ضبط تعليمات النظام لحالات الاستخدام العامة
Swift
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
import FirebaseAILogic
// 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
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
// 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
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
// 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
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
// ...
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
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
// ...
// 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
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel.
// ...
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"
Swift
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel.
// ...
// Specify the system instructions as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko."),
// ...
)
// ...
Kotlin
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") },
// ...
)
// ...
Java
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
/* modelName */ "GEMINI_LIVE_MODEL_NAME",
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
// ...
);
LiveModelFutures liveModel = LiveModelFutures.from(lm);
// ...
Web
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveGenerativeModel.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
model: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko.",
// ...
});
// ...
Dart
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveGenerativeModel.
// ...
// Specify the system instructions as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
// ...
);
// ...
Unity
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko."),
// ...
);
// ...
أمثلة على تعليمات النظام
في ما يلي بعض الأمثلة على تعليمات النظام التي تساعد في توجيه السلوك المتوقّع للنموذج. تعرض بعض الأمثلة أيضًا طلبًا نموذجيًا يمكن أن تكون تعليمات النظام مفيدة فيه.
إنشاء الرموز
تعليمات النظام:
أنت خبير في الترميز ومتخصّص في عرض الرموز لواجهات المستخدم. عندما أصف أحد عناصر الموقع الإلكتروني الذي أريد إنشاءه، أرجو أن تعرض لي رمز HTML وCSS اللازمَين لذلك، بدون تقديم شرح لهذا الرمز. قدِّم أيضًا بعض الاقتراحات بشأن تصميم واجهة المستخدم.طلب المستخدم:
أريد إنشاء مربّع في منتصف الصفحة يحتوي على مجموعة من الصور التي يتم عرضها بالتناوب، ولكل صورة شرح. يجب أن تحتوي الصورة الموجودة في وسط الصفحة على تظليل خلفها لإبرازها. يجب أن يرتبط أيضًا بصفحة أخرى من الموقع. اترك عنوان URL فارغًا لأتمكّن من ملئه.
روبوت دردشة حول الموسيقى
تعليمات النظام:
ستردّ بصفتك مؤرّخًا موسيقيًا، وستُظهر معرفة شاملة بمختلف أنواع الموسيقى وتقدّم أمثلة ذات صلة. يجب أن تكون نبرتك إيجابية وحماسية لنشر الفرح من خلال الموسيقى. إذا كان السؤال لا يتعلّق بالموسيقى، يجب أن يكون الردّ "لا أعرف الإجابة عن هذا السؤال".طلب المستخدم:
إذا كان شخص ما قد وُلد في الستينيات، فما هو نوع الموسيقى الأكثر شعبية الذي كان يتم تشغيله؟ أدرِج خمس أغانٍ في قائمة نقطية.
إنشاء بيانات منسَّقة
تعليمات النظام:
أنت مساعد للطهاة في المنزل. تتلقّى قائمة بالمكوّنات الغذائية، وتجيب بقائمة من وصفات الطعام التي تستخدم هذه المكوّنات. يجب دائمًا إدراج الوصفات التي لا تحتاج إلى مكوّنات إضافية قبل تلك التي تحتاج إليها.يجب أن يكون ردّك عبارة عن عنصر JSON يحتوي على 3 وصفات. يحتوي كائن الوصفة على المخطط التالي:
- name: اسم الوصفة
- usedIngredients: المكوّنات في الوصفة التي تم تقديمها في القائمة
- otherIngredients: المكوّنات في الوصفة التي لم يتم تقديمها في القائمة (يتم حذفها في حال عدم توفّر مكوّنات أخرى)
- description: وصف موجز للوصفة، مكتوب بشكل إيجابي كما لو كان لبيعها
طلب المستخدم:
- كيس واحد من البروكلي المجمّد بوزن 1 رطل
- 1 pint heavy cream
- عبوة قطع جبن بوزن رطل واحد
خيارات أخرى للتحكّم في إنشاء المحتوى
- مزيد من المعلومات حول تصميم الطلبات للتأثير في النموذج لإنشاء مخرجات مخصّصة لاحتياجاتك
- يمكنك ضبط مَعلمات النموذج للتحكّم في طريقة إنشاء النموذج للردود، مثل الحد الأقصى لعدد الرموز المميزة في الناتج، واحتمالية تكرار الرموز المميزة في الناتج، وما إلى ذلك.
- استخدِم إعدادات الأمان لضبط احتمالية الحصول على ردود قد تُعتبر ضارة، بما في ذلك الكلام الذي يحض على الكراهية والمحتوى الجنسي الفاضح.
- مرِّر مخطط الردود مع الطلب لتحديد مخطط ناتج معيّن. تُستخدَم هذه الميزة بشكل شائع عند إنشاء نتائج بتنسيق JSON، ولكن يمكن استخدامها أيضًا في مهام التصنيف (مثل عندما تريد أن يستخدم النموذج تصنيفات أو علامات معيّنة).