مشكلة في وكيل AI + نموذج Google Vertex Chat

صف المشكلة/الخطأ/السؤال

يستمر سير عملي الحالي في الحصول على أخطاء عند الاستدلال على نموذج Google Vertex Chat نظراً لطلب خاطئ. بقدر ما أستطيع أن أرى، يتم كتابة الفحص بشكل صحيح لذا يجب أن يعمل. النموذج الذي أحاول استخدامه هو ‘gemini-3.1-flash-lite’.

ما هي رسالة الخطأ (إن وجدت)؟

"Bad request - please check your parameters

Google request failed with status code 400"

يرجى مشاركة سير عملك

شارك الإخراج الذي أرجعته العقدة الأخيرة

معلومات حول إعداد n8n الخاص بك

  • إصدار n8n: 2.27.3
  • قاعدة البيانات (الافتراضي: SQLite):
  • إعداد n8n EXECUTIONS_PROCESS (الافتراضي: own, main):
  • تشغيل n8n عبر (Docker, npm, n8n cloud, desktop app): عبر Docker
  • نظام التشغيل: MacOS

شكراً لإخبارك بهذا، لقد أنشأنا CV-11 كتذكرة تطوير داخلية للنظر فيها.

مرحباً @Irrazional أهلاً وسهلاً!
على Vertex، gemini-3.1-flash-lite يتم تقديمه فقط على نقطة نهاية منطقة global، لذا بيانات اعتماد مثبتة في موقع معين (أي منطقة us- أو europe-) ترجع هذا الخطأ 400. لا تزال نماذج 2.5 تعمل على نقاط نهاية إقليمية، لكن نماذج 3.x انتقلت إلى عام فقط. افتح بيانات اعتماد Google Service Account الخاصة بك، وعيّن المنطقة إلى global، وإذا لم تكن global موجودة في القائمة المنسدلة، فعّل التعبير (fx) في هذا الحقل واكتب global يدويًا، ثم أعد التشغيل.
انظر إلى هذا:

n8n 2.29.0 شحن معالجة من جانب العقدة لهذا أيضاً، لذا التحديث من 2.27.3 يساعد جنباً إلى جنب مع تغيير المنطقة.
بشكل منفصل، هذا نموذج دردشة نصية، لذا يرجع نصاً وليس صوراً. لإنشاء الصور التي يصفها موجهك، استخدم نموذج صورة مثل Gemini 3.1 Flash Image (Nano Banana) عبر عقدة HTTP Request، وليس AI Agent.

آه شكراً جزيلاً، تم حل الخطأ! لكن ما ذكرته صحيح فعلاً، لا أستطيع توليد الصور بعد من خلال هذا سير العمل. هل تعرف ربما دليل خطوة بخطوة يمكن أن يساعدني في إعداد هذا الجزء من سير العمل؟

شكراً جزيلاً!

مرحباً @Irrazional
عقدة Google Gemini المدمجة لديها عملية “Generate an Image” لهذا الغرض تماماً، بدون الحاجة لأي توصيل HTTP. الخطوات:

  1. أضف عقدة Google Gemini.
  2. أنشئ بيانات اعتماد “Google Gemini (PaLM) API” باستخدام مفتاح API من Google AI Studio (aistudio.google.com)، ثم حددها في العقدة.
  3. اضبط Resource على “Image” و Operation على “Generate an Image”.
  4. ضع نص موجهك في حقل “Prompt” (نفس النص الذي كان لديك على AI Agent).
  5. تُرجع الصورة كملف ثنائي، لذا وصّلها مباشرة إلى عقدة تحميل Google Drive الموجودة لديك.
    هذا يحل محل زوج AI Agent و Vertex Chat Model للخطوة المتعلقة بالصور.
    انظر هذا:

آسف، لقد نسيت توضيح ذلك من جانبي. أحاول حل هذه المشكلة من خلال Vertex AI لأن Gemini لم يعد يدعم استخدام رصيد GCP المجاني بقيمة 300 دولار. ساعدني فريق دعم الفواتير في Google على تكوينه من خلال Vertex AI بدلاً من AI Studio، حيث قالوا إنه من الممكن استخدام هذه الأرصدة. هل توجد طريقة لتكوين الاتصال بنموذج Gemini 3.1 Flash Lite من خلال Vertex؟

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

مرحباً @Irrazional
عقدة Vertex Chat Model لا يمكنها القيام بهذا، فهي عقدة فرعية نصية فقط من LangChain، و n8n لا تحتوي على عقدة صور Vertex مدمجة، لذا على Vertex يجب استدعاء نموذج الصور باستخدام عقدة HTTP Request باستخدام بيانات اعتماد حسابك الخدمي الموجودة. وهذا يحافظ على كل شيء في فواتير GCP، لذا رصيدك البالغ 300 دولار لا يزال ينطبق. تصحيح واحد على النموذج: نموذج الصور هو gemini-3.1-flash-image-preview (Nano Banana)، لا توجد flash-image-lite، مستويات -lite نصية فقط. تأكد من معرّف المعرّف الدقيق في Model Garden لمشروعك.
الإعداد:

  1. افتح بيانات اعتماد حسابك الخدمي من Google، وقم بتشغيل “Set up for use in HTTP Request node”، وأضف النطاق https://www.googleapis.com/auth/cloud-platform، وحفظ.
  2. أضف عقدة HTTP Request، الطريقة POST، المصادقة محددة إلى Predefined Credential Type > Google Service Account API، واختر بيانات الاعتماد نفسها.
  3. URL (نقطة النهاية العامة، لأن نماذج 3.x عامة فقط، لنفس السبب كما في إصلاح المنطقة السابق لديك):
https://aiplatform.googleapis.com/v1/projects/gen-lang-client-0799028555/locations/global/publishers/google/models/gemini-3.1-flash-image-preview:generateContent
  1. قم بتشغيل Send Body، نوع محتوى الجسم JSON. ضع الجسم كله في وضع التعبير (ابدأ الحقل بـ =) بحيث يتم استيفاء التسمية، واطلب صورة مرة أخرى باستخدام responseModalities:
={
  "contents": [
    { "role": "user", "parts": [ { "text": "صورة احترافية عالية الدقة لـ {{ $json.Labels.split(',')[0] }}" } ] }
  ],
  "generationConfig": { "responseModalities": ["TEXT", "IMAGE"] }
}
  1. تعود الصورة بتنسيق base64 في candidates[0].content.parts[0].inlineData.data. أضف عقدة Convert to File (سلسلة base64 إلى ملف) لتحويلها إلى ثنائية، ثم أرسلها إلى عقدة تحميل Drive الموجودة لديك.
    Google Service Account | Nodes | n8n Docs

مرحبا!

خطأ 400 Bad Request من نموذج Google Vertex Chat عادة ما يعني أن واجهة برمجة التطبيقات استقبلت طلبك، لكن حمولة البيانات أو الإعدادات كانت معيبة. إنه ليس انقطاع اتصال بالشبكة أو حجب مصادقة (الذي عادة ما يرمي 401 أو 403).

بناءً على التفاصيل التي قدمتها، إليك الأسباب الأكثر احتمالاً وكيفية إصلاحها:

1. معرّف مشروع Google Cloud غير صحيح (الأكثر أهمية)
عقدتك تستخدم حالياً شيئاً مثل gen-lang-client-... كـ projectId. يبدو أن هذا معرّف عميل داخلي، وليس معرّف مشروع Google Cloud قياسياً.

  • انتقل إلى وحدة تحكم Google Cloud الخاصة بك.
  • انقر على قائمة محدد المشروع في الأعلى.
  • انسخ معرّف المشروع الفعلي الخاص بك (عادة ما يكون سلسلة نصية بأحرف صغيرة مع شرطات، مثل my-gemini-project-12345).
  • استبدل القيمة الحالية في كلا عقدتي Google Vertex بهذا المعرّف الصحيح.

2. بيانات اعتماد مفقودة أو غير مرتبطة
إذا كان ملف JSON الخاص بسير العمل يعرض credentials: {}، فإن العقدة لا ترتبط صراحةً ببيانات اعتماد Google Cloud. قد يفشل الاعتماد على بيانات اعتماد المضيف الافتراضية أحياناً.

  • في n8n، انتقل إلى بيانات الاعتماد وأنشئ بيانات اعتماد “Google Cloud API” جديدة.
  • في Google Cloud (IAM و Admin > Service Accounts)، أنشئ حساب خدمة بأذونات “Vertex AI User”.
  • أنشئ مفتاح JSON لهذا الحساب، وحمّله، والصق محتوياته في بيانات اعتماد n8n الخاصة بك.
  • عُد إلى سير العمل الخاص بك واختر بشكل صريح بيانات الاعتماد الجديدة في كلا عقدتي Vertex.

3. تفعيل Vertex AI API
كفحص سريع للتأكد، تأكد من أن “Vertex AI API” مفعّلة فعلاً لمشروعك المحدد في وحدة تحكم Google Cloud (APIs و Services > Library).

بمجرد إصلاح معرّف المشروع وربط حساب الخدمة بشكل صحيح، يجب أن يختفي خطأ 400. أخبرني إذا نجح ذلك معك!

كنت أواجه نفس المشاكل شكراً