عند استخدام محلل الإخراج في سلسلة llm باستخدام نموذج gamma 4، أحصل على هذا في كل مرة
@Mukul_Rai هذا الخطأ يعني أن معالج JSON لم يتمكن من التحقق من نص النموذج كـ JSON متطابق مع المخطط الخاص بك، والنماذج الأصغر تواجه هذه المشكلة باستمرار، فهي تلف JSON بنصوص نثرية أو markdown أو تحذف الحقول. هناك حلان، الأسهل هو وضعه في Auto-fixing Output Parser، الذي يقوم بتمرير LLM ثانية لإصلاح الناتج قبل التحليل. والحل الأكثر موثوقية هو التبديل إلى نموذج متقن في الإخراج المنظم (gemini flash و gpt-4o-mini و claude haiku)، النماذج الأضعف ببساطة لا يمكنها الحفاظ على المخطط. وشدد الطلب ليقول إرجاع JSON صحيح فقط، بدون markdown أو نصوص إضافية.
@Mukul_Rai
هذا متوقع، مخطط gemma 4 لا يتوافق مع صيغة Open AI. إذا قمت باستضافة ذاتية، قد تتمكن من توجيهه عبر LiteLLM
هذا الخطأ ناشئ من محلل المخرجات/البنية الذي يقوم بفحص صارم للمخطط على استجابة النموذج — والاستجابة غير متطابقة (عادة ما يكون هناك نصوص إضافية أو حدود markdown ```json أو JSON مشوه قليلاً). تلميح “تغيير On Error في العقدة الجذرية” يوقفه عن إفشال التشغيل ببساطة؛ لكنه لا يصلح المخرجات الفعلية، لذا أنا أعتبره كملاذ أخير وليس الحل.
المحرك الحقيقي هنا هو بكل تأكيد النموذج. إذا كان “gamma 4” هو Gemma من Google يعمل محلياً، فإن النماذج المفتوحة الأصغر حجماً ضعيفة بشكل سيء في المخرجات المنظمة الصارمة واستدعاء الدوال مقارنة بـ GPT-4o / Claude — فهي تميل إلى لف JSON في حدود الأكواد أو إضافة نصوص شرح، مما يكسر المحلل في كل مرة. هناك عدة أشياء تصلح هذا، حسب ترتيب التأثير:
-
استخدم محلل المخرجات ذاتي الإصلاح. لدى n8n محلل أن، عندما يفشل التحليل الأول، يغذي تلقائياً المخرجات السيئة بالإضافة إلى الخطأ مرة أخرى إلى النموذج ويطلب منه تصحيح الصيغة. هذا وحده يصلح معظم حالات النماذج الأضعف — أكبر مكسب بأقل جهد.
-
شدد الفوري. أخبر النموذج بوضوح: “أرجع ONLY JSON صحيح مطابق للمخطط — لا markdown، لا حدود أكواد، لا شرح.” النماذج الصغيرة تحب إضافة حدود أكواد ونصوص؛ قول هذا بوضوح يزيل معظم الأخطاء.
-
انخفض درجة الحرارة إلى 0-0.2 للخطوة المنظمة. درجة الحرارة الأعلى تزيد من انجراف الصيغة.
-
بسط المخطط. الكائنات المتداخلة بعمق والتي تحتوي على العديد من الحقول المطلوبة تفشل بكثير أكثر على النماذج الصغيرة. سطحها، احتفظ بالحقول المطلوبة بالحد الأدنى، وأضف وصفاً قصيراً لكل حقل حتى يعرف النموذج بالضبط ما يجب إنتاجه.
-
إذا كانت الدقة مهمة ويمكنك ذلك، استخدم نموذجاً أقوى في JSON / استدعاء الأدوات لخطوة التحليل — حتى واحد محلي آخر مثل qwen2.5-instruct يتعامل مع المخرجات المنظمة بشكل أفضل بكثير من Gemma في تجربتي، ونموذج API (GPT-4o-mini صغير أو Claude Haiku) يحصل لك على امتثال قريب من 100٪.
لقد واجهت هذا الشيء بالضبط أثناء تشغيل النماذج المحلية لاستخراج منظم — محلل الإصلاح التلقائي بالإضافة إلى تعليمات صريحة “JSON فقط، بدون حدود” عادة ما يأخذها من الفشل في كل مرة إلى الموثوقية. ابدأ هناك وشاهد إلى أي مدى يصل بك.
نصيحة المحلل/الإصلاح التلقائي أعلاه صحيحة. كما أنني سأعتبر هذا مشكلة مراقبة أيضًا، وليس فقط مشكلة في الطلب.
في الإنتاج، لا يجب السماح بخطوة ذكاء اصطناعي تُرجع أحيانًا شكلًا خاطئًا بالمتابعة كما لو أن سير العمل نجح. سأضع بوابة تحقق فورًا بعد خطوة النموذج:
- تحقق من أن الاستجابة عبارة عن JSON صحيح.
- تحقق من وجود جميع الحقول المطلوبة.
- تحقق من أن الحقول غير فارغة وضمن النطاقات المتوقعة.
- وجّه الإخراج غير الصحيح إلى إعادة المحاولة أو الإصلاح التلقائي أو المراجعة اليدوية.
- سجّل نتيجة التحقق مع معرّف التنفيذ ونوع الإدخال.
التمييز الأساسي هو النجاح التقني مقابل النجاح التجاري. يمكن أن ينتهي سير العمل بشكل إيجابي بينما يكون الإخراج غير قابل للاستخدام. بالنسبة لسير عمل العميل، سأريد أن تصبح فشل التحقق هذه مشاكل مرئية، لأنه بخلاف ذلك سيلاحظ العميل فقط لاحقًا عندما تصل البيانات السيئة إلى نظام إدارة علاقات العملاء أو البريد الإلكتروني أو الورقة أو التقرير.
نصيحة المحلل/الإصلاح التلقائي أعلاه صحيحة. كما أنني أعتبر هذا مشكلة مراقبة وليس فقط مشكلة في الطلب.
في الإنتاج، لا يجب السماح لخطوة ذكاء اصطناعي تُرجع أحياناً الشكل الخاطئ بالاستمرار كما لو أن سير العمل نجح. سأضع بوابة التحقق مباشرة بعد خطوة النموذج:
- التحقق من أن الاستجابة عبارة عن JSON صحيح.
- التحقق من أن جميع الحقول المطلوبة موجودة.
- التحقق من أن الحقول غير فارغة وضمن الأطوال المتوقعة.
- توجيه الإخراج غير الصحيح للإعادة أو الإصلاح التلقائي أو المراجعة اليدوية.
- تسجيل نتيجة التحقق مع معرّف التنفيذ ونوع الإدخال.
التمييز الرئيسي هو النجاح التقني مقابل النجاح التجاري. يمكن إنهاء سير العمل بنجاح بينما يكون الإخراج غير قابل للاستخدام. بالنسبة لسير عمل العميل، أود أن تصبح فشل التحقق مشاكل مرئية، لأنه بخلاف ذلك سيلاحظ العميل فقط لاحقاً عندما تصل البيانات السيئة إلى نظام إدارة العلاقات مع العملاء أو بريد إلكتروني أو ورقة أو تقرير.
