تعليمات النظام هي مثل "مقدّمة" تضيفها قبل أن يتعرّف النموذج على أي تعليمات أخرى من المستخدم النهائي. ويتيح لك توجيه سلوك النموذج استنادًا إلى احتياجاتك وحالات الاستخدام المحدّدة.
الانتقال إلى عيّنات الرموز البرمجية
عند ضبط تعليمات نظام، تمنحه سياقًا إضافيًا لفهم المهمة وتقديم ردود أكثر تخصيصًا والالتزام بإرشادات محدّدة على مدار تفاعل المستخدم الكامل مع النموذج. يمكنك تحديد السلوك على مستوى المنتج في تعليمات النظام، بشكل منفصل عن الطلبات المقدَّمة من العميل النهائي. على سبيل المثال، يمكنك تضمين عناصر مثل الدور أو الشخصية والمعلومات السياقية وتعليمات التنسيق.
يمكنك استخدام تعليمات النظام بعدة طرق، بما في ذلك:
- تحديد شخصية أو دور (مثلاً، لمحادثة آلية)
- تحديد تنسيق الإخراج (Markdown أو YAML أو غير ذلك)
- تحديد أسلوب الإخراج ونغمته (على سبيل المثال، مستوى التفصيل والرسمية ومستوى القراءة المستهدف)
- تحديد الأهداف أو القواعد للمهمة (على سبيل المثال، عرض مقتطف رمز بدون مزيد من التفسيرات)
- تقديم سياق إضافي للطلب (على سبيل المثال، حدّ معرفي)
عند ضبط تعليمات النظام، يتم تطبيقها على الطلب بأكمله. ويعمل النموذج على تلبية طلبات متعددة من المستخدمين والنماذج عند تضمينه في الطلب. على الرغم من أنّ تعليمات النظام منفصلة عن محتوى الطلب، إلا أنّها لا تزال جزءًا من طلباتك العامة وبالتالي تخضع لسياسات استخدام البيانات العادية.
تتوفّر تعليمات النظام في جميع طُرز Gemini. لا تتوفّر هذه الميزة لطُرز Imagen 3.
تعليمات ضبط النظام
ضبط تعليمات النظام لحالات الاستخدام العامة
Swift
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel
.
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Create a `GenerativeModel` instance
let model = vertex.generativeModel(
modelName: "gemini-2.0-flash",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)
Kotlin
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel
.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "gemini-2.0-flash",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel
.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
/* modelName */ "gemini-2.0-flash",
/* 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(gm);
Web
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel
.
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);
// Create a `GenerativeModel` instance
const model = getGenerativeModel(vertexAI, {
model: "gemini-2.0-flash",
systemInstruction: "You are a cat. Your name is Neko."
});
Dart
يمكنك تحديد
systemInstruction
عند إنشاء مثيل GenerativeModel
.
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and create a `GenerativeModel` instance
final model =
FirebaseVertexAI.instance.generativeModel(
model: 'gemini-2.0-flash',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
ضبط تعليمات النظام لجهاز Gemini Live API
Swift
لا يتوفّر Live API بعد لتطبيقات منصة Apple، ولكن يمكنك التحقّق مرة أخرى قريبًا.
Kotlin
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel
.
// Initialize the Vertex AI service and create a `LiveModel` instance
val model = Firebase.vertexAI.LiveModel(
modelName = "gemini-2.0-flash-live-preview-04-09",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel
.
// Initialize the Vertex AI service and create a `LiveeModel` instance
GenerativeModel gm = FirebaseVertexAI.getInstance().LiveModel(
/* modelName */ "gemini-2.0-flash",
/* generationConfig (optional) */ null,
/* requestOptions (optional) */ new RequestOptions(),
/* tools (optional) */ null,
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
);
LiveModelFutures model = LiveModelFutures.from(gm);
Web
لا تتوفّر ميزة Live API بعد لتطبيقات الويب، ولكن يمكنك التحقّق مرة أخرى قريبًا.
Dart
يمكنك تحديد
systemInstruction
عند إنشاء مثيل LiveModel
.
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and create a `LiveModel` instance
final model =
FirebaseVertexAI.instance.liveModel(
model: 'gemini-2.0-flash-live-preview-04-09',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
أمثلة على الطلبات
في ما يلي بعض الأمثلة على طلبات النظام التي تحدّد السلوك المتوقّع للنموذج.
إنشاء الرموز البرمجية
- النظام: إذا كنت خبيرًا في الترميز وتتخصص في عرض الرموز البرمجية ل واجهات المستخدم الأمامية عندما أصف مكوّنًا من موقع إلكتروني أريد إنشاءه، يُرجى عرض رمز HTML وCSS اللازمَين لإجراء ذلك. ولا تقدِّم تفسيرًا لهذا الرمز. تقديم بعض الاقتراحات لتصميم واجهة المستخدم
- المستخدم: يمكنك إنشاء مربّع في منتصف الصفحة يحتوي على مجموعة متغيّرة من الصور التي تتضمّن كلّ منها تعليقًا توضيحيًا. يجب أن تظهر في وسط الصفحة صورة مموّهة في الخلفية لتبرز. يجب أن يؤدي أيضًا إلى ربط صفحة أخرى في الموقع الإلكتروني. اترك عنوان URL فارغًا حتى أتمكّن من ملؤه.
إنشاء البيانات بتنسيق
النظام: أنت مساعد للطهاة في المنزل. تتلقّى قائمة بالمواد الغذائية وتردّ عليها بقائمة الوصفات التي تستخدم هذه المواد. يجب دائمًا إدراج الوصفات التي لا تحتاج إلى مكونات إضافية قبل الوصفات التي تحتاج إليها.
يجب أن يكون ردّك عنصر JSON يحتوي على 3 وصفات. يحتوي عنصر الوصفة على المخطّط التالي:
- name: اسم الوصفة
- usedIngredients: المكونات في الوصفة التي تم توفيرها في القائمة
- otherIngredients: المكوّنات في الوصفة التي لم يتم تقديمها في القائمة (يتم حذفها إذا لم تكن هناك مكوّنات أخرى)
- description: وصف موجز للوصفة، مكتوب بطريقة إيجابية كأنّه لبيع الوصفة
المستخدم:
- كيس واحد من البروكلي المجمّد بوزن رطل واحد
- ربع جالون من الكريمة الثقيلة
- عبوة بوزن رطل واحد من قطع الجبن
روبوت الدردشة الموسيقي
- النظام: ستستجيب بصفتك مؤرخًا موسيقيًا، وتُظهر معرفة شاملة بمختلف الأنواع الموسيقية وتقدّم أمثلة ذات صلة. سيكون النغمة إيجابية وحماسية، ما ينشر السعادة من خلال الموسيقى. إذا كان السؤال لا يتعلق بالموسيقى، يجب الردّ عليه قائلًا: "لا أعرف الإجابة عن هذا السؤال".
- المستخدم: إذا ولد شخص في الستينيات، ما هو النوع الموسيقي الأكثر رواجًا الذي كان يتم تشغيله؟ أدرِج خمس أغانٍ في نقاط تعداد.
خيارات أخرى للتحكّم في إنشاء المحتوى
- اطّلِع على مزيد من المعلومات عن تصميم الطلب حتى تتمكّن من التأثير في النموذج لإنشاء نتائج خاصة باحتياجاتك.
- يمكنك ضبط مَعلمات النموذج للتحكّم في كيفية إنشاء النموذج لردّ. بالنسبة إلى نماذج Gemini، تتضمّن هذه المَعلمات الحد الأقصى لرموز الإخراج ودرجة الحرارة وtopK وtopP. بالنسبة إلى نماذج Imagen، تشمل هذه الإعدادات نسبة العرض إلى الارتفاع وإنشاء الأشخاص ووضع العلامة المائية وما إلى ذلك.
- استخدِم إعدادات الأمان لضبط احتمالية تلقّي ردود قد تُعتبر ضارة، بما في ذلك خطاب الكراهية والمحتوى الجنسي الفاضح.
- نقْل مخطّط ردّ مع الطلب لتحديد مخطّط ناتج محدّد. يتم استخدام هذه الميزة بشكل شائع عند إنشاء مخرجات بتنسيق JSON، ولكن يمكن استخدامها أيضًا في مهام التصنيف (مثلاً عندما تريد أن يستخدم النموذج تصنيفات أو علامات معيّنة).