بدءًا من Gemma 4، سنطرح رموز تحكّم جديدة. بالنسبة إلى Gemma 3 والإصدارات الأقدم، يُرجى الاطّلاع على المستند السابق.
تحدّد الأقسام التالية رموز التحكّم التي يستخدمها Gemma 4 وحالات استخدامها. يُرجى العِلم أنّ رموز التحكّم محجوزة في أداة تقسيم الكلمات ومخصّصة لها.
- رمز للإشارة إلى تعليمات النظام:
system - رمز للإشارة إلى دور المستخدم:
user - رمز للإشارة إلى دور النموذج:
model - رمز للإشارة إلى بداية دور في الحوار:
<|turn> - رمز للإشارة إلى نهاية دور في الحوار:
<turn|>
في ما يلي مثال على حوار:
<|turn>system
You are a helpful assistant.<turn|>
<|turn>user
Hello.<turn|>
تعدّد الوسائط
| رمز تعدّد الوسائط | الغرض |
|---|---|
<|image> <image|> |
الإشارة إلى تضمينات الصور |
<|audio> <audio|> |
الإشارة إلى تضمينات الصوت |
<|image|> <|audio|> |
رموز العناصر النائبة الخاصة |
نستخدم رمزين خاصين للعناصر النائبة (<|image|> و<|audio|>) لتحديد
مكان إدراج رموز الصور والصوت. بعد تقسيم الكلمات، يتم استبدال هذه الرموز بالتضمينات الجزئية الفعلية داخل النموذج.
في ما يلي مثال على حوار:
prompt = """<|turn>user
Describe this image: <|image|>
And translate these audio:
a. <|audio|>
b. <|audio|><turn|>
<|turn>model"""
الصوت
استخدِم بُنى الطلبات التالية لمعالجة الصوت:
- التعرّف التلقائي على الكلام (ASR)
Transcribe the following speech segment in {LANGUAGE} into {LANGUAGE} text.
Follow these specific instructions for formatting the answer:
* Only output the transcription, with no newlines.
* When transcribing numbers, write the digits, i.e. write 1.7 and not one point seven, and write 3 instead of three.
- الترجمة التلقائية للكلام (AST)
Transcribe the following speech segment in {SOURCE_LANGUAGE}, then translate it into {TARGET_LANGUAGE}.
When formatting the answer, first output the transcription in {SOURCE_LANGUAGE}, then one newline, then output the string '{TARGET_LANGUAGE}: ', then the translation in {TARGET_LANGUAGE}.
رموز التحكّم في الحلول المستندة إلى الذكاء الاصطناعي الوكيل والاستدلال
لدعم مهام سير العمل المستندة إلى الذكاء الاصطناعي الوكيل، يستخدم Gemma رموز تحكّم متخصّصة تميّز بين الاستدلال الداخلي (التفكير) والإجراءات الخارجية (استدعاء الدالة). تسمح هذه الرموز للنموذج بمعالجة المنطق المعقّد قبل تقديم رد نهائي أو التفاعل مع الأدوات الخارجية.
استدعاء الدالة
تم تدريب Gemma 4 على ستة رموز مميزة خاصة لإدارة مراحل نشاط "استخدام الأداة".
| زوج الرموز | الغرض |
|---|---|
<|tool> <tool|> |
تحديد أداة |
<|tool_call> <tool_call|> |
الإشارة إلى طلب النموذج استخدام أداة |
<|tool_response> <tool_response|> |
تزويد النموذج بنتيجة تنفيذ الأداة |
محدّد قيم السلسلة: <|"|>
يتم استخدام رمز واحد، وهو <|"|>، كمحدّد لجميع قيم السلسلة
ضمن كتل البيانات المنظَّمة.
- الغرض: يضمن هذا الرمز التعامل مع أي أحرف خاصة (مثل
{أو}أو,أو علامات الاقتباس) داخل السلسلة كنص حرفي وليس كجزء من البنية الأساسية لبنية البيانات. - الاستخدام: يجب تضمين جميع السلاسل الحرفية في إعلانات الدوال واستدعاءاتها و
ردودها باستخدام هذا الرمز (على سبيل المثال،
key:<|"|>string value<|"|>).
وضع التفكير
لتفعيل وضع التفكير، يجب تضمين رمز التحكّم <|think|> ضمن
تعليمات النظام.
| رمز التحكّم | الغرض |
|---|---|
<|think|> |
تفعيل وضع التفكير |
<|channel> <channel|> |
الإشارة إلى عملية داخلية للنموذج |
في ما يلي مثال على حوار:
<|turn>system
<|think|><turn|>
<|turn>user
What is the water formula?<turn|>
<|turn>model
<|channel>thought
...
<channel|>The most common interpretation of "the water formula" refers...<turn|>
تم تصميم وضع التفكير ليتم تفعيله على مستوى المحادثة. يجب دمج ذلك في دور واحد للنظام إلى جانب تعليمات النظام الأخرى، مثل تعريفات الأدوات.
مثال على الاستدلال واستدعاء الدالة
في دور مستند إلى الذكاء الاصطناعي الوكيل، قد "يفكّر" النموذج بشكل خاص قبل أن يقرّر استدعاء دالة. تتّبع دورة الحياة هذه التسلسل التالي:
- استفسار المستخدم: يطرح المستخدم سؤالاً.
- الاستدلال الداخلي: يفكّر النموذج بشكل خاص في قناة التفكير.
- طلب الأداة: يوقف النموذج عملية الإنشاء لطلب استدعاء دالة.
- التنفيذ والإضافة: ينفّذ التطبيق الأداة ويضيف الرد.
- الرد النهائي: يقرأ النموذج الرد ويُنشئ الإجابة النهائية.
يوضّح المثال التالي نموذجًا يستخدم أداة للطقس:
<|turn>system
<|think|>You are a helpful assistant.<|tool>declaration:get_current_temperature{...}<tool|><turn|>
<|turn>user
What's the temperature in London?<turn|>
<|turn>model
<|channel>thought
...
<channel|><|tool_call>call:get_current_temperature{location:<|"|>London<|"|>}<tool_call|><|tool_response>
يجب أن يحلّل تطبيقك ردّ النموذج لاستخراج اسم الدالة والوسيطات، ثم ينفّذ الدالة، وبعد ذلك يضيف tool_calls وtool_responses إلى سجلّ المحادثة ضمن دور assistant.
<|turn>model
<|tool_call>call:get_current_weather{location:<|"|>London<|"|>}<tool_call|><|tool_response>response:get_current_weather{temperature:15,weather:<|"|>sunny<|"|>}<tool_response|>
أخيرًا، يقرأ Gemma ردّ الأداة ويجيب على المستخدم.
The temperature in London is 15 degrees and it is sunny.<turn|>
في ما يلي سجلّ المحادثة الكامل بتنسيق JSON لهذا المثال:
[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What's the temperature in London?"
},
{
"role": "assistant",
"tool_calls": [
{
"function": {
"name": "get_current_weather",
"arguments": {
"location": "London"
}
}
}
],
"tool_responses": [
{
"name": "get_current_weather",
"response": {
"temperature": 15,
"weather": "sunny"
}
}
],
"content": "The temperature in London is 15 degrees and it is sunny."
}
]
إدارة سياق التفكير بين الأدوار
تُعدّ إدارة الأفكار التي يُنشئها النموذج بشكل صحيح أمرًا بالغ الأهمية للحفاظ على الأداء في المحادثات المتعدّدة الأدوار.
- المحادثات المتعدّدة الأدوار العادية: يجب إزالة (تجريد) الأفكار التي يُنشئها النموذج من الدور السابق قبل إعادة سجلّ المحادثة إلى النموذج للدور التالي. إذا أردت إيقاف وضع التفكير
في منتصف المحادثة، يمكنك إزالة الرمز
<|think|>عند تجريد الأفكار السابقة. - استدعاء الدالة (استثناء): إذا كان دور النموذج الواحد يتضمّن استدعاءات للدوال أو الأدوات، يجب عدم إزالة الأفكار بين استدعاءات الدوال.
مهام سير العمل المستندة إلى الذكاء الاصطناعي الوكيل والمهام الطويلة الأمد
بما أنّه يتم تجريد الأفكار الأولية بين الأدوار العادية، قد يرغب المطوّرون الذين ينشئون وكلاء طويلي الأمد في الاحتفاظ بسياق الاستدلال لمنع النموذج من الدخول في حلقات استدلال دورية.
- تلخيص الأفكار: من أساليب الاستنتاج التي ننصح بها بشدة استخراج الأفكار السابقة للنموذج وتلخيصها وإعادة إدخالها إلى قدرة استيعاب كنص عادي.
- قيود التنسيق: بما أنّه لم يتم تدريب Gemma 4 بشكل صريح على تضمين الأفكار الأولية في الطلب (خارج سيناريو استدعاء الأداة المحدّد المذكور أعلاه)، لا يتوقّع النموذج تنسيقًا صارمًا أو محدّدًا لهذه الأفكار التي يتم إدخالها. يمكنك تنسيق الاستدلال المُلخّص بأي طريقة تناسب بنية الحلول المستندة إلى الذكاء الاصطناعي الوكيل المحدّدة بشكل أفضل.
ملاحظات حول التكامل
- الحالة الداخلية: يُستخدَم الرمزان
<|channel>و<channel|>عادةً لمعالجة سلسلة الأفكار (CoT). في التطبيقات العادية التي يستخدمها المستخدِمون، يكون هذا المحتوى مخفيًا عادةً عن المستخدِم النهائي. - حلقة الأدوات: يسهّل الرمزان
tool_callوtool_responseعملية "التواصل" بين النموذج وبيئة تطبيقك. يعترض التطبيقtool_callوينفّذ الرمز الأساسي ويُعيد النتيجة إلى النموذج ضمن الرموزtool_response. - سلوك النموذج: قد تُنشئ النماذج الأكبر (مثل gemma-4-26B-A4B-it وgemma-4-31B-it) أحيانًا قناة تفكير حتى عندما يكون وضع التفكير متوقفًا بشكل صريح. لتحقيق استقرار سلوك النموذج في هذه الحالات القصوى، ننصح بإضافة رمز تفكير فارغ إلى الطلب.
ملاحظة: الضبط الدقيق للنماذج الكبيرة باستخدام مجموعات البيانات التي لا تتضمّن التفكير
عند إجراء ضبط دقيق لنماذج Gemma الأكبر باستخدام مجموعة بيانات لا تتضمّن التفكير، يمكنك الحصول على نتائج أفضل من خلال إضافة القناة الفارغة إلى طلبات التدريب:
<|turn>model
<|channel>thought
<channel|>
ملاحظة: فعالية التفكير التكيّفي باستخدام تعليمات النظام
على الرغم من أنّ "التفكير" في Gemma 4 متاح رسميًا كميزة منطقية يمكن تفعيلها أو إيقافها، يتمتّع النموذج بإمكانات قوية جدًا في اتّباع التعليمات تسمح لك بتعديل سلوك التفكير بشكل ديناميكي.
بدلاً من الاعتماد على مَعلمة إطار عمل مبرمَجة بشكل ثابت للتفكير "العالي" أو "المنخفض"، يمكنك استخدام تعليمات النظام لتوجيه النموذج إلى وضع تفكير منخفض. من خلال توجيه النموذج بشكل صريح للتفكير بكفاءة أو بعمق أقل (وهو مفهوم نشير إليه باسم تعليمات التفكير "المنخفضة")، يمكنك تحقيق فعالية التفكير التكيّفي.
- انخفاض التكلفة: أظهرت الاختبارات أنّ تطبيق تعليمات النظام للتفكير "المنخفض" يمكن أن يقلّل عدد رموز التفكير التي يتم إنشاؤها بنسبة %20 تقريبًا.
- إثبات المفهوم: بما أنّ هذا السلوك هو نتيجة لقدرة النموذج على اتّباع التعليمات وليس نتيجة تدريب محدّد، لا يوجد طلب "مثالي" واحد. تعليمات "المنخفض" هي إثبات للمفهوم.
- التخصيص: ننصح المطوّرين بشدة بتجربة تعليمات النظام المخصّصة الخاصة بهم. يمكنك إجراء ضبط دقيق لعمق عملية التفكير في النموذج وطولها وأسلوبها لتحقيق توازن مثالي بين وقت الاستجابة والتكلفة وجودة النتائج لحالات الاستخدام المحدّدة.