استخدام تعليمات النظام لتوجيه سلوك نموذج

تعليمات النظام هي بمثابة "مقدمة" تضيفها قبل أن يتلقّى النموذج أي تعليمات أخرى من المستخدم النهائي. ويتيح لك توجيه سلوك النموذج استنادًا إلى احتياجاتك وحالات الاستخدام المحدّدة.

الانتقال إلى عيّنات التعليمات البرمجية


عند ضبط تعليمات النظام، يمكنك تزويد النموذج بسياق إضافي لفهم المهمة وتقديم ردود أكثر تخصيصًا والالتزام بإرشادات معيّنة خلال تفاعل المستخدم الكامل مع النموذج. يمكنك تحديد سلوك على مستوى المنتج في تعليمات النظام، بشكل منفصل عن الطلبات التي يقدّمها المستخدمون النهائيون. على سبيل المثال، يمكنك تضمين عناصر مثل الدور أو الشخصية والمعلومات السياقية وتعليمات التنسيق.

يمكنك استخدام تعليمات النظام بعدة طرق، منها:

  • تحديد شخصية أو دور (على سبيل المثال، لروبوت محادثة)
  • تحديد تنسيق الإخراج (Markdown وYAML وما إلى ذلك)
  • تحديد نمط وأسلوب الناتج (على سبيل المثال، الإسهاب والرسمية والمستوى المستهدف للقراءة)
  • تحديد أهداف أو قواعد للمهمة (على سبيل المثال، عرض مقتطف من الرمز البرمجي بدون تقديم المزيد من التوضيحات)
  • تقديم سياق إضافي للطلب (على سبيل المثال، تاريخ آخر تحديث للمعلومات)

عند ضبط تعليمات النظام، يتم تطبيقها على الطلب بأكمله. ويعمل على مستوى عدة تفاعلات بين المستخدم والنموذج عند تضمينه في الطلب. على الرغم من أنّ تعليمات النظام منفصلة عن محتوى الطلب، إلا أنّها تظل جزءًا من طلباتك الإجمالية، وبالتالي تخضع لسياسات استخدام البيانات العادية.

تتوافق جميع نماذج Gemini مع تعليمات النظام. ولا تتوافق مع نماذج Imagen 3.

ضبط تعليمات النظام

انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة.

ضبط تعليمات النظام لحالات الاستخدام العامة

Swift

يمكنك تحديد systemInstruction عند إنشاء مثيل GenerativeModel.


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

يمكنك تحديد 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

لا تتوافق Live API بعد مع تطبيقات منصة Apple، ولكن يُرجى التحقّق مرة أخرى قريبًا.

Kotlin

يمكنك تحديد systemInstruction عند إنشاء مثيل LiveModel.


// Specify the system instructions as part of creating the `LiveModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
  modelName = "GEMINI_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
LiveModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .liveModel(
      /* 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()
    );

LiveModelFutures model = LiveModelFutures.from(gm);

Web

يمكنك تحديد systemInstruction عند إنشاء مثيل LiveGenerativeModel.


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the config as part of creating the `LiveGenerativeModel` instance
const model = getLiveGenerativeModel(ai, {
  model: "GEMINI_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko.",
});

// ...

Dart

يمكنك تحديد systemInstruction عند إنشاء مثيل LiveModel.


// ...

// Specify the system instructions as part of creating the `LiveModel` instance
final model = FirebaseAI.googleAI().liveModel(
  model: 'GEMINI_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);

// ...

Unity

يمكنك تحديد systemInstruction عند إنشاء مثيل LiveModel.


// ...

var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Specify the system instructions as part of creating the `LiveModel` instance
var model = ai.GetLiveModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);

أمثلة على تعليمات النظام

في ما يلي بعض الأمثلة على تعليمات النظام التي تساعد في توجيه السلوك المتوقّع للنموذج. يعرض كل مثال أيضًا طلبًا نموذجيًا يكون فيه استخدام تعليمات النظام مفيدًا.

إنشاء الرموز البرمجية

  • تعليمات النظام:
    أنت خبير في البرمجة ومتخصّص في عرض الرموز البرمجية لواجهات المستخدم. عندما أصف أحد عناصر الموقع الإلكتروني الذي أريد إنشاءه، يُرجى عرض رمز HTML وCSS اللازمَين لذلك، بدون تقديم شرح لهذا الرمز. قدِّم أيضًا بعض الاقتراحات بشأن تصميم واجهة المستخدم.

  • طلب المستخدم:
    أنشئ مربّعًا في منتصف الصفحة يحتوي على مجموعة متناوبة من الصور، مع إضافة تعليق توضيحي لكل صورة. يجب أن تتضمّن الصورة في وسط الصفحة ظلًا خلفها لجعلها بارزة. ويجب أن يؤدي أيضًا إلى صفحة أخرى من الموقع الإلكتروني. اترك حقل عنوان URL فارغًا حتى أتمكّن من ملئه.

روبوت دردشة موسيقي

  • تعليمات النظام:
    يجب أن تكون إجاباتك بأسلوب مؤرخ موسيقي، مع إظهار معرفة شاملة بمختلف الأنواع الموسيقية وتقديم أمثلة ذات صلة. يجب أن تكون نبرة صوتك إيجابية وحماسية لنشر الفرح من خلال الموسيقى. إذا كان السؤال لا يتعلق بالموسيقى، يجب أن يكون الردّ "لا أعرف الإجابة عن هذا السؤال".

  • طلب المستخدم:
    إذا وُلد شخص في الستينيات، ما هو النوع الموسيقي الأكثر رواجًا في تلك الفترة؟ أدرِج خمس أغانٍ كنقاط تعداد.

إنشاء البيانات المنسَّقة

  • تعليمات النظام:
    أنت مساعد للطهاة المنزليين. ستتلقّى قائمة بالمكوّنات الغذائية، وستردّ بقائمة بالوصفات التي تستخدم هذه المكوّنات. يجب دائمًا إدراج الوصفات التي لا تتطلّب مكونات إضافية قبل الوصفات التي تتطلّب ذلك.

    يجب أن يكون ردّك عبارة عن عنصر JSON يحتوي على 3 وصفات. يتضمّن عنصر وصفة الطعام المخطط التالي:

    • name: اسم الوصفة
    • usedIngredients: المكوّنات في الوصفة التي تم تقديمها في القائمة
    • otherIngredients: مكوّنات الوصفة التي لم يتم توفيرها في القائمة (يتم حذفها إذا لم تكن هناك مكوّنات أخرى)
    • description: وصف موجز للوصفة، مكتوب بطريقة إيجابية وكأنّه يتم الترويج لها
  • طلب المستخدم:

    • حقيبة واحدة من البروكلي المجمّد بوزن 1 رطل
    • 1 باينت من الكريمة الثقيلة
    • عبوة بوزن 1 رطل من أطراف وقطع الجبن

خيارات أخرى للتحكّم في إنشاء المحتوى

  • مزيد من المعلومات حول تصميم الطلبات لتتمكّن من توجيه النموذج لإنشاء نتائج تتوافق مع احتياجاتك
  • اضبط مَعلمات النموذج للتحكّم في طريقة إنشاء النموذج للرد. بالنسبة إلى Gemini النماذج، تتضمّن هذه المَعلمات الحد الأقصى لعدد الرموز المميزة للناتج ودرجة الحرارة وtopK وtopP. بالنسبة إلى نماذج Imagen، تشمل هذه القيود نسبة العرض إلى الارتفاع، وإنشاء صور أشخاص، والعلامات المائية، وما إلى ذلك.
  • استخدِم إعدادات الأمان لضبط احتمالية تلقّي ردود قد تُعتبر ضارة، بما في ذلك خطاب الكراهية والمحتوى الجنسي الفاضح.
  • مرِّر مخطّط الردود مع الطلب لتحديد مخطّط ناتج معيّن. تُستخدَم هذه الميزة بشكل شائع عند إنشاء مخرجات بتنسيق JSON، ولكن يمكن استخدامها أيضًا في مهام التصنيف (مثل عندما تريد أن يستخدم النموذج تصنيفات أو علامات معيّنة).