العودة إلى المدونة

الذكاء الاصطناعي للمبتدئيندليل

موجّه النظام ودرجة الحرارة: ماذا يفعلان وكيف تضبطهما

ماذا تفعل رسالة النظام ودرجة الحرارة في طلب متوافق مع OpenAI، مع أمثلة Python وcurl يمكنك إرسالها إلى نموذج CheapTokens.

بواسطة CheapTokens Teamنُشر في تم التحديث في 5 دقيقة قراءة

مخطط طلب محادثة: رسالة نظام بالقواعد، ورسالة مستخدم بالمهمة، وقرص درجة حرارة
في هذه الصفحة
  1. ما هو موجّه النظام؟
  2. كيف تكتب موجّه نظام مفيدًا
  3. ماذا تفعل درجة الحرارة؟
  4. أرسل طلبًا بكليهما
  5. شاهد درجة الحرارة أثناء العمل
  6. على أي نموذج تجربها
  7. إذا لم يعمل
  8. الخطوة التالية

موجّه النظام (system prompt) هو رسالة بدور system تخبر النموذج كيف يتصرف في كل إجابة: من هو، وأي تنسيق يستخدم، وما يجب تجنبه. درجة الحرارة (temperature) هي رقم، عادةً بين 0 و2 (يعتمد النطاق على النموذج)، يحدد مدى تنوع الصياغة: القيم المنخفضة تعطي إجابات مركزة وقابلة للتكرار، والقيم العالية تعطي إجابات أكثر تنوعًا. كلاهما يُرسل في نفس طلب Chat Completions الذي ترسله إلى https://api.cheaptokens.dev/v1.

فيما يلي: ما هو كل منهما، وبأي قيم تبدأ، وطلب يمكنك تشغيله في Python أو curl. إذا لم تكن قد أرسلت طلبًا بعد، فابدأ بـ أول طلب API لك مع CheapTokens.

ما هو موجّه النظام؟#

طلب المحادثة هو قائمة من الرسائل، ولكل رسالة دور. يسرد مرجع Chat Completions أربعة أدوار: system وuser وassistant وtool (مرجع DeepSeek API، تم التحقق منه في 22 أكتوبر 2026). لطلبك الأول تحتاج إلى ثلاثة:

  • system — تعليمات دائمة منك، أنت المطور. يعاملها النموذج كقواعد المحادثة.
  • user — ما يطلبه الشخص أو يقدمه في هذه الجولة.
  • assistant — إجابات النموذج السابقة. تضيفها بنفسك عندما تواصل محادثة.

تحتاج رسالة النظام إلى role مضبوطًا على system وcontent كسلسلة نصية. حقل name اختياري.

json
"messages": [
  {"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
  {"role": "user", "content": "Send me the report by tonight or I will be upset."}
]

رسالة النظام تأتي أولاً. رسالة المستخدم هي المهمة الفعلية.

كيف تكتب موجّه نظام مفيدًا#

  • قل ما يفعله النموذج في جملة واحدة: "أنت محرر"، "أنت تصنف تذاكر الدعم".
  • حدد تنسيق الإخراج: "أعد النص المعاد صياغته فقط"، "أجب في جملتين"، "رد بـ JSON صالح".
  • اكتب القواعد كجمل قصيرة ومباشرة. عدة أسطر واضحة أفضل من فقرة طويلة واحدة.
  • اجعله قصيرًا. يُرسل موجّه النظام مع كل طلب ويُحتسب ضمن رموز الإدخال، لذا يُدفع ثمن الموجّه الطويل في كل مرة. كيفية فوترة الإدخال والإخراج موجودة في رموز الإدخال مقابل رموز الإخراج.

ماذا تفعل درجة الحرارة؟#

يختار النموذج كل رمز تالٍ من مجموعة من المرشحين المحتملين. تتحكم درجة الحرارة في مدى التزامه بالمرشح الأكثر احتمالاً. وفقًا لمرجع DeepSeek API (تم التحقق منه في 22 أكتوبر 2026)، يقبل temperature قيمًا من 0 إلى 2 مع قيمة افتراضية 1: القيم الأعلى تعطي إخراجًا أكثر عشوائية، والقيم الأقل تعطي إخراجًا أكثر تركيزًا وحتمية. تختلف النطاقات بين النماذج: توثق DeepSeek من 0 إلى 2، وتوثق Z.ai من 0 إلى 1 لـ GLM-5.3 (كلاهما تم التحقق منه في 22 أكتوبر 2026)، لذا فإن القيم من 0 إلى 1 آمنة على كليهما. تحقق من النطاق لنموذجك في الوثائق.

نقاط بداية تناسب معظم المهام. هي قواعد إرشادية وليست ضمانات:

المهمة ابدأ بـ
الاستخراج، التصنيف، الكود، التنسيقات الصارمة 0 إلى 0.3
الأسئلة والأجوبة، الملخصات، إعادة الصياغة 0.3 إلى 0.7
العصف الذهني، الأسماء، النصوص الإبداعية 0.8 إلى 1

ثلاثة أشياء يجب معرفتها:

  1. درجة الحرارة المنخفضة أكثر قابلية للتكرار، وليست متطابقة. لا تعتمد على إجابات متساوية بايتًا ببايت.
  2. غيّر درجة الحرارة أو top_p، وليس كليهما. هذه توصية DeepSeek؛ top_p هو معامل أخذ عينات ثانٍ بقيمة افتراضية 1. اتركه وشأنك أثناء التعلم.
  3. بعض الأوضاع تتجاهل درجة الحرارة. يقول مرجع DeepSeek إن درجة الحرارة ليس لها تأثير في وضع التفكير، وإن top_p ثابت عند 1.0 في وضع عدم التفكير. إذا غيرت قيمة ولم ترَ فرقًا، فتحقق من وضع النموذج أولاً.

أرسل طلبًا بكليهما#

اضبط المفتاح كمتغير بيئة، حتى لا ينتهي به الأمر في الكود أبدًا (انظر ما هو مفتاح API وكيف تخزنه بأمان). خذ معرّف النموذج الدقيق من وثائق CheapTokens: مزودون مختلفون يسمون النموذج نفسه بشكل مختلف. يستخدم هذا المثال MiniMax-M2.7.

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[
        {"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
        {"role": "user", "content": "Send me the report by tonight or I will be upset."},
    ],
    temperature=0.3,
    max_tokens=1000,
)

print(response.choices[0].message.content)
print(response.choices[0].finish_reason)

نفس الطلب باستخدام curl:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMaxAI/MiniMax-M2.7",
    "messages": [
      {"role": "system", "content": "You are an editor. Rewrite the user'\''s text to be shorter and friendlier. Return only the rewritten text."},
      {"role": "user", "content": "Send me the report by tonight or I will be upset."}
    ],
    "temperature": 0.3,
    "max_tokens": 1000
  }'

ما يجب أن تراه: نسخة قصيرة وودودة من الجملة وstop كـfinish_reason. إذا كان finish_reason هو length، فقد وصلت الإجابة إلى حد max_tokens؛ انظر لماذا تتوقف إجابة الذكاء الاصطناعي في منتصف الجملة.

شاهد درجة الحرارة أثناء العمل#

أفضل طريقة لفهم درجة الحرارة هي طرح نفس السؤال عدة مرات. هذه الحلقة ترسل طلبًا قصيرًا واحدًا ثلاث مرات عند 0 وثلاث مرات عند 1، باستخدام client من المثال أعلاه:

python
for temp in (0, 1):
    print("temperature", temp)
    for _ in range(3):
        r = client.chat.completions.create(
            model="MiniMaxAI/MiniMax-M2.7",
            messages=[
                {"role": "system", "content": "Answer with one word."},
                {"role": "user", "content": "Name a fruit."},
            ],
            temperature=temp,
            max_tokens=500,
        )
        print(" ", r.choices[0].message.content)

عند 0 تكون الأسطر الثلاثة عادةً نفس الكلمة؛ وعند 1 سترى عادةً كلمات مختلفة أكثر. النماذج التي تفكر قبل الإجابة قد تنفق جزءًا من max_tokens على ذلك التفكير، لذا أبقِ الحد سخيًا حتى لإجابة من كلمة واحدة. ثم غيّر موجّه النظام فقط (على سبيل المثال، "أجب بكلمة واحدة، بالفرنسية") وشغّله مرة أخرى: القواعد في رسالة النظام تنطبق عند كل درجة حرارة.

هذه التجارب صغيرة. لفكرة تقريبية، إليك تكلفة 100 طلب بحوالي 120 رمز إدخال و80 رمز إخراج لكل منها (حمل عمل مثال؛ تعتمد أعداد الرموز على موجّهاتك):

النموذج لكل طلب 100 طلبات OpenRouter، 100 طلبات
GLM-5.3-Flash $0.0000056 $0.00056 $0.0011
DeepSeek-V4-Flash $0.0000098 $0.00098 $0.0018
MiniMax-M2.7 $0.000018 $0.0018 $0.0132

120 رمز إدخال و80 رمز إخراج لكل طلب. الأسعار لكل مليون رمز حالية وتتغير مع تعريفاتنا؛ يعرض عمود OpenRouter أسعارًا مرجعية لنفس حجم العمل.

على أي نموذج تجربها#

  • MiniMax-M2.7 خيار أول جيد للعديد من طلبات الاختبار القصيرة، ويمكنك إعادة استخدام نفس موجّه النظام عليه لمقارنة الإجابات: سياق 180K، حتى 8,192 رمز إخراج، أرخص من سعر OpenRouter المرجعي على الجانبين. السعر الحالي: إدخال $0.05، إخراج $0.15 لكل 1M رمز.

رصيد واحد يغطيها جميعًا، لذا فإن تبديل النموذج هو تغيير سطر واحد في model. جميع الأسعار الحالية على صفحة الأسعار.

إذا لم يعمل#

  • 401 أو خطأ مصادقة: المفتاح مفقود أو مكتوب بشكل خاطئ أو متغير البيئة غير مضبوط في هذا الطرفية. تحقق من echo $CHEAPTOKENS_API_KEY.
  • النموذج غير موجود: انسخ معرّف النموذج من الوثائق بدقة، بما في ذلك البادئة.
  • خطأ حول معامل غير صالح: أبقِ temperature داخل النطاق الذي يدعمه نموذجك (0 إلى 1 آمن) ومرر أرقامًا، وليس سلاسل نصية.
  • النموذج يتجاهل قاعدتك: اجعلها جملة واحدة قصيرة ومباشرة، وانقلها إلى أعلى رسالة النظام، وكرر التنسيق الدقيق الذي تريده.
  • تغيير درجة الحرارة لا يغير شيئًا: قد تكون تستخدم وضعًا يتجاهلها (انظر أعلاه)، أو أن الإجابة مقيدة جدًا ("كلمة واحدة"، "JSON صالح") بحيث توجد اختلافات قليلة.
  • الإجابة مقطوعة: ارفع max_tokens؛ يشرح دليل max_tokens كيف.

الخطوة التالية#

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