مرحبًا بك في مجتمع n8n،
خطوط أنابيب استخراج المستندات تتعامل مع الفواتير والسيرات الذاتية بشكل رائع. لكن أثناء ليلة لعبة، أعطينا نموذج الذكاء الاصطناعي شيئًا يبدو بسيطًا لكنه كسره تمامًا: بطاقة نقاط Kniffel (Yahtzee) مكتوبة بخط اليد.
فخ الشبكة
الهدف: التقط صورة، ابحث عن لاعبين بعلامة نجمة مكتوبة بخط اليد (*) فوق أسمائهم، استخرج درجاتهم، احسب مكافأة 35 نقطة (إذا كان top $\ge$ 63)، اجمع الكل معًا، وادفع إلى Sheets و Telegram.
انظر إلى الصورة المرفقة:
إنه واضح للبشر. لكن نموذج اللغة الكبير هلّس الأسماء (أصبح “Ivan” يساوي “ban”)، ودمج الأعمدة، وأفسد الحسابات.
إليك السبب الذي يجعل البيانات المكانية تكسر الذكاء الاصطناعي، وهندسة الموجه التي استخدمناها لإصلاحها:
كسر التحيز “من اليسار إلى اليمين”
تقرأ نماذج اللغة الكبيرة مثل الكتاب (من اليسار إلى اليمين، صفًا تلو الآخر). تتطلب بطاقة النقاط العكس. لمنع “نزيف الصفوف” عبر الأعمدة، أجبرنا على إخراج Array من Objects ([{player_name, sum_top, sum_bottom}]). يفرض هذا على الذكاء الاصطناعي إنهاء قراءة عمود عمودي واحد قبل الانتقال إلى الاثنين التاليين.
الرياضيات الحتمية، بدون حكم من نموذج اللغة الكبير
نحن نعرف بالفعل أن Extractor الذي نستخدمه موثوق بشكل لا يصدق في تصنيف المستندات واستخراج البيانات المنظمة، لذلك قررنا دفع حدوده واختبار ما إذا كان يمكنه التعامل مع الحسابات أيضًا. خطأ كبير. نماذج اللغة الكبيرة هي محركات التنبؤ بالنصوص، وليست آلات حاسبة. الحل: أرشدناها لاستخراج الأرقام الخام فقط، واستخدمنا عقدة JavaScript Code البحتة في المصب للتعامل مع الرياضيات والمكافأة الشرطية.
حالات فارغة صريحة توقف الهلاوس
كتب اللاعبون شرطات (-) للصناديق الفارغة. لأن نموذج اللغة الكبير لم يتمكن من ملاءمة شرطة سلسلة نصية في مخطط Number، دخل في الذعر وأخرج -1، مما أفسد JavaScript الخاص بنا. إضافة قيد صارم—“حرج: إذا كانت الخلية شرطة أو فارغة، يجب عليك إخراج 0”، أصلح خط الأنابيب على الفور.
تثبيت العيون بالتسميات
لإيقاف الذكاء الاصطناعي عن الانجراف عبر الأعمدة، أعطيناه إحداثيات بصرية. أرشدناه للنظر إلى التسميات المطبوعة على أقصى اليسار (على سبيل المثال، “Dreierpasch”)، وتتبع خط أفقي وهمي إلى العمود المميز، واستخرج فقط تلك الخلية.
تحذير صريح واحد
نقل الرياضيات إلى JS يضمن منطقًا مثاليًا، لكن التعرف على خط اليد لا يزال يعتمد على جودة الصورة. إذا كنت تحتاج إلى بيانات بلا عيوب من الكتابة اليدوية الفوضوية، فإن التحقق من التفاعل البشري لا يزال هو الحد الأقصى.
كيفية تشغيله
استخدمت easybits Extractor لأنه يتعامل مع إنفاذ JSON-schema بشكل أصلي دون الكفاح مع موجهات HTTP node. كل من السحابة والاستضافة الذاتية تناسب المستوى المجاني.
-
n8n Cloud: ابحث عن
easybitsفي لوحة العقد. -
استضافة ذاتية: قم بتثبيت
@easybits/n8n-nodes-extractorمن Community Nodes.
التعليقات مرحب بها
لقد أرفقت الصورة الخام. أنا فضولي جدًا: ماذا يحدث عندما تشغل هذه الصورة الدقيقة من خلال إعداد OCR أو LLM الحالي لديك؟ هل وجدت طريقة أنظف لاستخراج الأعمدة العمودية من الشبكات الكثيفة الأفقية؟
أطيب التمنيات،
Felix
