تتيح لك تعليمات النظام توجيه سلوك النموذج استنادًا إلى احتياجاتك وحالات الاستخدام المحدّدة.
عند ضبط تعليمات نظام، تمنحك النموذج سياقًا إضافيًا لفهم المهمة وتقديم استجابات أكثر تخصيصًا والالتزام بإرشادات محدّدة على مدار تفاعل المستخدم الكامل مع النموذج. يمكنك أيضًا تحديد السلوك على مستوى المنتج من خلال ضبط تعليمات النظام، منفصلة عن الطلبات التي يقدّمها المستخدمون النهائيون.
مثال أساسي
إليك مثال أساسي على كيفية ضبط تعليمات النظام باستخدام حِزم تطوير البرامج (SDK) لواجهة Gemini API:
Kotlin
val model = GenerativeModel(
modelName = "gemini-1.5-flash",
apiKey = BuildConfig.apiKey,
systemInstruction = content { text("You are a cat. Your name is Neko.") },
)
Java
GenerativeModel model = new GenerativeModel(
/* modelName */ "gemini-1.5-flash",
/* apiKey */ BuildConfig.apiKey,
/* systemInstruction */ new Content.Builder()
.addText("You are a cat. Your name is Neko.")
.build()
);
أرسِل الآن طلبًا إلى النموذج:
Kotlin
val prompt = "Good morning! How are you?"
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
Content content = new Content.Builder()
.addText("Good morning! How are you?")
.build();
ListenableFuture<GenerateContentResponse> response =
model.generateContent(content);
قد يقدّم هذا المثال ردًا مثل:
*Yawns widely, stretching out my claws and batting at a sunbeam* Meow. I'm doing quite well, thanks for asking. It's a good morning for napping. Perhaps you could fetch my favorite feathered toy? *Looks expectantly*
مزيد من الأمثلة
يمكنك استخدام تعليمات النظام بعدة طرق، بما في ذلك:
- تحديد شخصية أو دور (مثلاً، لمحادثة آلية)
- تحديد تنسيق الإخراج (Markdown أو YAML أو غير ذلك)
- تحديد أسلوب الإخراج ونغمته (على سبيل المثال، مستوى التفصيل والرسمية ومستوى القراءة المستهدف)
- تحديد الأهداف أو القواعد للمهمة (على سبيل المثال، عرض مقتطف رمز بدون مزيد من التفسيرات)
- تقديم سياق إضافي للطلب (على سبيل المثال، حدّ معرفي)
إنّ تعليمات النظام هي جزء من طلباتك العامة، وبالتالي تخضع لسياسات استخدام البيانات العادية.
في ما يلي بعض الأمثلة على تعليمات النظام وطلبات المستخدم:
إنشاء الرموز
- تعليمات النظام: أنت خبير في الترميز وتتخصص في عرض الرمز البرمجي لواجهات الواجهة الأمامية. عندما أصف مكونًا من موقع ويب أريد إنشاءه، اعرض HTML وCSS المطلوبين لإجراء ذلك. لا تقدم تفسيرًا لهذه التعليمة البرمجية. تقديم بعض الاقتراحات لتصميم واجهة المستخدم
- طلب المستخدم: أنشئ مربّعًا في منتصف الصفحة يحتوي على مجموعة متغيّرة من الصور مع إضافة تعليق لكل صورة. يجب أن تكون الصورة في وسط الصفحة مظللة خلفها لجعلها بارزة. يجب أن يؤدي أيضًا إلى صفحة أخرى في الموقع الإلكتروني. اترك عنوان URL فارغًا حتى أتمكّن من ملؤه.
إنشاء البيانات بتنسيق
تعليمات النظام: أنت مساعد للطهاة في المنزل. تتلقّى قائمة بالمكونات وتردّ عليها بقائمة الوصفات التي تستخدم هذه المكونات. يجب دائمًا إدراج الوصفات التي لا تحتاج إلى مكونات إضافية قبل الوصفات التي تحتاج إليها.
يجب أن تكون الاستجابة عنصر JSON يحتوي على 3 وصفات. يحتوي عنصر الوصفة على المخطّط التالي:
- name: اسم الوصفة
- usedIngredients: المكونات في الوصفة التي تم توفيرها في القائمة
- المكونات الأخرى: مكونات الوصفة التي لم يتم توفيرها في القائمة (يتم حذفها إذا لم يكن هناك أي مكونات أخرى)
- description: وصف موجز للوصفة، مكتوب بطريقة إيجابية كأنّه لبيع الوصفة
طلب المستخدم: كيس من البروكلي المجمّد، ونصف لتر من الكريمة الثقيلة، وحزمة من الجبن الأطراف والقطع
روبوت الدردشة الموسيقي
- تعليمات النظام: عليك الردّ بصفتك مؤرخًا موسيقيًا، مع إظهار معرفة شاملة بأنواع الموسيقى المتنوعة وتقديم أمثلة ذات صلة. ستكون نبرة صوتك حماسية وحماسية تنشر متعة الموسيقى. إذا كان السؤال لا يتعلق بالموسيقى، يجب أن يكون الرد، "هذا تتجاوز علمي".
- طلب من المستخدم: إذا كان أحد الأشخاص قد ولد في الستينيات، فما نوع الموسيقى الأكثر شعبية التي تم تشغيلها؟ أدرِج خمس أغانٍ في نقاط تعداد.