نماذج منصة GCP Vertex/Agent - ميزانية التفكير

في الوقت الحالي، لا يبدو أننا نرى آثار التفكير للنموذج المدعوم، على الأقل مع نموذج GCP Vertex Chat. ومع ذلك، هناك إعداد يعني -1 (الافتراضي) لميزانية التفكير.

سؤالي: من مستندات Google، يوفرون قيمهم الخاصة، كما هو موضح هنا: Thinking  |  Gemini Enterprise Agent Platform  |  Google Cloud Documentation

باستخدام Gemini 3.8-flash، ليس من الواضح من أين يأتي 0 و -1. ما هي القيم المتوقعة بخلاف 0 و -1؟ تلك الموجودة على صفحة نموذج Google التي أشرت إليها أعلاه؟

مرحباً @datanerdery3، بينما تنتظر الرد، إليك بعض الأشياء التي قد تساعدك:

الموارد المقترحة

تم مطابقتها تلقائياً مع سؤالك.

المستندات:

المنتدى:

@Deepankar، @jan، @Andy_Tseng - لقد ساعدتم في مشاكل مماثلة من قبل، هل يمكنكم إلقاء نظرة؟

تم الاقتراح تلقائياً بواسطة روبوت المجتمع في n8n. إنه برنامج تجريبي - يرجى مشاركة ملاحظاتك هنا.

القيمتان 0 و -1 تأتيان من إعداد thinking_budget الأقدم. هذا هو ما يحدده خيار Thinking Budget في العقدة. معه، يؤدي 0 إلى إيقاف التفكير (فقط لـ Gemini 2.5 Flash و 2.5 Flash-Lite) و -1 يسمح للنموذج بالقرار. أي رقم آخر يحد من رموز التفكير. بالنسبة لـ Gemini 2.5 Flash، يمكنك اختيار من 1 إلى 24,576.

نموذجك يعمل بطريقة مختلفة، مع ذلك. نماذج Gemini 3 تتقبل thinking_level، وليس عدد الرموز. بالنسبة لـ 3.8 Flash تحصل على LOW أو MEDIUM أو HIGH، و MEDIUM هو الافتراضي. تقول صفحة Google إن thinking_budget محظور في Gemini 3. كما تحذر من أنه قد يسبب أخطاء 400 INVALID_ARGUMENT متقطعة.

إذاً مع 3.8 Flash، أنا أزيل خيار Thinking Budget من خيارات العقدة. لا تتركه على -1، لأن -1 لا يزال يرسل الإعداد القديم. مع اختفاء الخيار، لا ترسل العقدة أي إعدادات تفكير وتعمل على MEDIUM.

بخصوص الآثار المفقودة: عندما تكون الميزانية أي شيء آخر غير 0، فإن كود LangChain خلف العقدة بالفعل يطلب الأفكار من Gemini. لذلك من المحتمل أنها تعود ولا تظهر فقط في n8n. إزالة الخيار توقف هذا الطلب أيضاً. إذا كنت تحتاج إلى الآثار أو مستوى محدد، اتصل بـ Vertex generateContent من عقدة HTTP Request. اضبط thinkingLevel و includeThoughts في thinkingConfig، واترك thinkingBudget بعيداً، لأن إرسال كليهما يعود بخطأ.

عند تكوين ميزانية التفكير لنماذج Gemini على Vertex AI، فإن تمرير حدود الرموز الصريحة أو تعيين -1 للإعدادات الافتراضية الديناميكية يعتمد بشكل كبير على إصدار مخطط API الأساسي الذي يتواصل معه عقدة n8n الخاصة بك. إذا لم تظهر آثار التفكير في مخرجات التنفيذ الخاصة بك، فتحقق من حمولة الرد الخام في سجل تنفيذ العقدة لمعرفة ما إذا كانت رموز التفكير يتم إرجاعها ضمن كائن بيانات وصفية منفصل للمرشح. أخبرني بإصدار API أو عقدة n8n الفرعية التي تستخدمها وسأتمكن من مساعدتك في تحديد هيكل الحمولة الدقيق هنا.

n8n Cloud Pro 2.46.2

العقدة هي Google Vertex Chat Model: Google Vertex Chat Model | Nodes | n8n Docs

شكراً على التوضيح! مع n8n Cloud والعقدة الفرعية Google Vertex Chat Model الأصلية، هناك شيئان متميزان يحدثان خلف الكواليس تحتاج إلى معرفتهما:


تمرير ميزانية التفكير في العقدة

في واجهة برمجة تطبيقات Google Vertex AI، يتم التحكم في ميزانية التفكير بواسطة generationConfig.thinkingConfig.thinkingBudget.

  • عند استخدام خيارات واجهة المستخدم للنموذج: افتح عقدة Google Vertex Chat Model → انقر فوق إضافة خيار في الأسفل:
    • إذا ظهرت ميزانية التفكير (أو معاملات النموذج الإضافية) في بنيتك، يمكنك تمرير عدد صحيح بين 0 (معطل) و24576 (أو -1 للديناميكي/الافتراضي على Gemini 2.5/2.0 Flash Thinking).
    • ملاحظة: إذا عيّنته على 0، يتم قمع التفكير بالكامل ويتصرف مثل Flash العادي.

فخ “التتبع المخفي” (لماذا قد لا ترى الأفكار)

حتى عندما تعمل ميزانية التفكير بنشاط، يقوم غلاف n8n’s LangChain بحذف تتبع التفكير الداخلي بشكل افتراضي.

  • في استجابات واجهة برمجة تطبيقات Vertex، ترجع Gemini جزأين في مصفوفة الاستجابة: تدفق الأفكار (part.thought = true) والنص الردّ النهائي.
  • تستخرج الحزمة @langchain/google-vertexai المستخدمة بواسطة n8n فقط كتلة النص النهائي المُحلّ لتمريرها إلى سلسلة الوكيل كـ AIMessage.content.
  • كيفية التحقق من أنها تفكر فعلاً: انظر إلى كمون التنفيذ ومقاييس الرموز. إذا قفزت كمون الاستجابة من ~800 ميلي ثانية إلى 4-6 ثوان وكانت إجمالي الرموز تتضمن رموز التفكير، فإن النموذج ينفذ ميزانية التفكير، لكن LangChain يقمع بنظافة سلسلة الأفكار الخام من الناتج النهائي.

ما يجب فعله إذا كنت تحتاج إلى تتبعات التفكير الخام في n8n:

إذا كانت حالة الاستخدام الخاصة بك تتطلب تحليل أو عرض رموز التفكير الفعلية (الأفكار نفسها) بدلاً من مجرد الإجابة النهائية، فتجاوز العقدة الفرعية LangChain واستخدم عقدة HTTP Request قياسية موجهة إلى واجهة برمجة تطبيقات Vertex REST:

  • الطريقة: POST

  • الرابط: https://{REGION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{REGION}/publishers/google/models/{MODEL_ID}:generateContent

  • المصادقة: نوع بيانات الاعتماد المحدد مسبقاً → Google Cloud OAuth2

  • النص (JSON): “{
    “contents”: [
    {
    “role”: “user”,
    “parts”: [{ “text”: “موجه الطلب هنا” }]
    }
    ],
    “generationConfig”: {
    “temperature”: 0.2,
    “maxOutputTokens”: 4096,
    “thinkingConfig”: {
    “thinkingBudget”: 2048
    }
    }
    }”

  • سيؤدي هذا إلى إرجاع مصفوفة candidates[0].content.parts الكاملة الخام، مما يسمح لك بالوصول إلى تتبع الأفكار والإجابة النهائية معاً مباشرة في n8n.

    أخبرني إذا كانت واجهة المستخدم للعقدة الخاصة بك تحتوي على حقل الخيارات المكشوف أو إذا كنت تريد JSON الدقيق لتعيينه عبر عقدة HTTP!