جارٍ التفكير

يمكن لنماذج Gemini 2.5 استخدام "عملية تفكير" داخلية تعمل على تحسين قدراتها بشكل كبير في ما يتعلق بالاستدلال والتخطيط المتعدّد الخطوات، ما يجعلها فعّالة للغاية في المهام المعقّدة، مثل الترميز والرياضيات المتقدّمة وتحليل البيانات.

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

استخدام نموذج تفكير

استخدام نموذج تفكير تمامًا كما تستخدم أي نموذج Gemini آخر (عليك تهيئة موفّر Gemini API الذي اخترته، وإنشاء مثيل GenerativeModel، وما إلى ذلك). يمكن استخدام هذه النماذج في مهام إنشاء النصوص أو الرموز البرمجية، مثل إنشاء نواتج منظَّمة أو تحليل المدخلات المتعددة الوسائط (مثل الصور أو الفيديوهات أو المحتوى الصوتي أو ملفات PDF). يمكنك حتى استخدام نماذج التفكير عند بث الناتج.

النماذج المتوافقة

لا تتوافق هذه الميزة إلا مع طُرز Gemini 2.5.

  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite-preview-06-17

أفضل الممارسات لاستخدام نماذج التفكير

ننصحك باختبار طلبك في Google AI Studio أو Vertex AI Studio حيث يمكنك الاطّلاع على عملية التفكير الكاملة. يمكنك تحديد أي جوانب قد يكون النموذج قد أخطأ فيها، ما يتيح لك تحسين طلباتك للحصول على ردود أكثر اتساقًا ودقة.

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

  • تقديم تعليمات مفصّلة
  • تقديم عدة أمثلة على أزواج الإدخال والإخراج
  • قدِّم إرشادات حول كيفية صياغة النتائج والردود وتنسيقها.
  • تقديم خطوات تحقّق محدّدة

بالإضافة إلى تقديم الطلبات، ننصحك باتّباع الاقتراحات التالية:

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

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

  • (في حال استخدام Vertex AI Gemini API) احرص على تفعيل ميزة "مراقبة الذكاء الاصطناعي" في Firebase لتتمكّن من مراقبة وقت استجابة الطلبات التي تم تفعيل ميزة "التفكير" فيها. يُرجى العِلم أنّه لم يتم عرض الرموز المميزة للتفكير في لوحات بيانات المراقبة بعد.

التحكّم في ميزانية التفكير

للتحكّم في مقدار التفكير الذي يمكن أن تقوم به النماذج لإنشاء ردودها، يمكنك تحديد عدد الرموز المميزة لميزانية التفكير التي يُسمح لها باستخدامها.

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

  • اضبط ميزانية تفكير منخفضة إذا كان وقت الاستجابة مهمًا أو للمهام الأقل تعقيدًا
  • تحديد ميزانية تفكير عالية للمهام الأكثر تعقيدًا

ضبط ميزانية التفكير

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

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

يمكنك الاطّلاع على مزيد من المعلومات حول قيم ميزانية التفكير المسموح بها لاحقًا في هذا القسم.

Swift

اضبط ميزانية التفكير في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
let generationConfig = GenerationConfig(
  thinkingConfig: ThinkingConfig(thinkingBudget: 1024)
)

// Specify the config as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: generationConfig
)

// ...

Kotlin

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
val generationConfig = generationConfig {
  thinkingConfig = thinkingConfig {
      thinkingBudget = 1024
  }
}

// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
  modelName = "GEMINI_MODEL_NAME",
  generationConfig,
)

// ...

Java

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
ThinkingConfig thinkingConfig = new ThinkingConfig.Builder()
    .setThinkingBudget(1024)
    .build();

GenerationConfig generationConfig = GenerationConfig.builder()
    .setThinkingConfig(thinkingConfig)
    .build();

// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModelFutures model = GenerativeModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel(
                  /* modelName */ "<var>GEMINI_MODEL_NAME</var>",
                  /* generationConfig */ generationConfig
                );
);

// ...

Web

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

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

// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
const generationConfig = {
  thinkingConfig: {
    thinkingBudget: 1024
  }
};

// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME", generationConfig });

// ...

Dart

سيتوفّر في الإصدار التالي من Flutter إمكانية ضبط ميزانية التفكير.

Unity

سيتوفّر في الإصدار التالي من Unity إمكانية ضبط ميزانية التفكير.

قيم ميزانية التفكير المسموح بها

يسرد الجدول التالي قيم ميزانية التفكير التي يمكنك ضبطها لكل نموذج من خلال ضبط thinkingBudget النموذج.

الطراز القيمة التلقائية النطاق المتاح للميزانية الذكية القيمة التي
توقف التفكير
قيمة
تفعيل التفكير الديناميكي
الحد الأدنى للقيمة القيمة القصوى
Gemini 2.5 Pro 8,192 128 32,768 لا يمكن إيقافها -1
Gemini 2.5 Flash 8,192 1 24,576 0 -1
Gemini 2.5 Flash‑Lite 0
(يكون التفكير غير مفعّل تلقائيًا)
512 24,576 0
(أو عدم ضبط ميزانية التفكير على الإطلاق)
-1

إيقاف التفكير

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

في هذه الحالات، يمكنك إيقاف ميزة "التفكير" (أو إيقافها):

  • Gemini 2.5 Pro: لا يمكن إيقاف ميزة "التفكير"
  • ‫Gemini 2.5 Flash: تم ضبطه على thinkingBudget إلى 0 رمز مميّز
  • ‫Gemini 2.5 Flash-Lite: ميزة "أفكاري" غير مفعَّلة تلقائيًا

تشجيع التفكير الديناميكي

يمكنك السماح للنموذج بتحديد وقت التفكير ومقدار التفكير (يُعرف باسم التفكير الديناميكي) من خلال ضبط thinkingBudget على -1. يمكن للنموذج استخدام أكبر عدد ممكن من الرموز المميزة يراه مناسبًا، وذلك بما لا يتجاوز الحد الأقصى لقيمة الرموز المميزة المذكورة أعلاه.

تعقيد المهمة

  • المهام السهلة التي لا تتطلّب التفكير
    الطلبات المباشرة التي لا تتطلّب تحليلًا معقّدًا، مثل استرجاع المعلومات أو التصنيف أمثلة:

    • "أين تأسّست شركة DeepMind؟"
    • "هل تطلب هذه الرسالة الإلكترونية عقد اجتماع أم أنّها تقدّم معلومات فقط؟"
  • المهام المتوسطة: الميزانية التلقائية أو بعض ميزانية التفكير الإضافية مطلوبة
    طلبات شائعة تستفيد من درجة من المعالجة خطوة بخطوة أو فهم أعمق. أمثلة:

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

    • "حلّ المسألة 1 في مسابقة AIME لعام 2025: أوجد مجموع جميع الأعداد الصحيحة الأساسية b > 9 التي يكون فيها 17b قاسمًا لـ 97b".
    • "أريد كتابة رمز Python لتطبيق ويب يعرض بيانات سوق الأسهم في الوقت الفعلي، بما في ذلك مصادقة المستخدم. اجعلها فعّالة قدر الإمكان".

التسعير واحتساب الرموز المميزة للتفكير

تستخدم الرموز المميزة الخاصة بالتفكير التسعير نفسه المستخدَم في الرموز المميزة الخاصة بإخراج النص.

يمكنك الحصول على إجمالي عدد الرموز المميزة للتفكير من الحقل thoughtsTokenCount في السمة usageMetadata للردّ:

Swift

// ...

let response = try await model.generateContent("Why is the sky blue?")

if let usageMetadata = response.usageMetadata {
  print("Thoughts Token Count: \(usageMetadata.thoughtsTokenCount)")
}

Kotlin

// ...

val response = model.generateContent("Why is the sky blue?")

response.usageMetadata?.let { usageMetadata ->
    println("Thoughts Token Count: ${usageMetadata.thoughtsTokenCount}")
}

Java

// ...

ListenableFuture<GenerateContentResponse> response =
    model.generateContent("Why is the sky blue?");

Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String usageMetadata = result.getUsageMetadata();
        if (usageMetadata != null) {
            System.out.println("Thoughts Token Count: " +
                usageMetadata.getThoughtsTokenCount());
        }
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Web

// ...

const response = await model.generateContent("Why is the sky blue?");

if (response?.usageMetadata?.thoughtsTokenCount != null) {
    console.log(`Thoughts Token Count: ${response.usageMetadata.thoughtsTokenCount}`);
}

Dart

ستتوفّر إمكانية احتساب الرموز المميزة للتفكير في Flutter في الإصدار التالي.

Unity

سيتوفّر في الإصدار التالي من Unity إمكانية احتساب الرموز المميزة للتفكير.

يمكنك الاطّلاع على مزيد من المعلومات حول الرموز المميزة في دليل الرموز المميزة الخاصة بالعدد.