تدفّق الإثراء

شرح تفصيلي خطوة بخطوة لكيفية معالجة Entity Enricher لكيان واحد — من الإدخال مروراً بالتصنيف والتنفيذ المتوازي للنماذج، وصولاً إلى المخرجات المُهيكلة.

المسار في لمحة

المُدخل
JSON الكيان
+ المخطط
التصنيف
اختياري
فحص النوع
النماذج المتوازية
Claude
مالي
تنظيمي
عام
GPT-4
مالي
تنظيمي
عام
تحقّق
فحص النوع
تصحيح ذاتي
الإخراج
مهيكل
JSON لكل نموذج

الخطوة 1: تهيئة الإثراء

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

  1. 1رابط متقطّع: هذه الخطوة تتبع نتيجة التشغيل، لا تنقّلك
  2. 2يظهر فقط عندما يكون المخطط مرتبطًا بـ Database Sync
خطوة قاعدة البيانات هي المكان الوحيد الذي يظهر فيه الحفظ الجزئي: أخضر بمجرد إدراج التغييرات في قائمة الانتظار، وكهرماني عندما يصل الكيان لكن تُسقَط بعض عناصر القوائم أثناء الإدخال، وأحمر عندما ترفضه بوابة القبول — ولا يظهر أي من ذلك في لوحات نتائج النماذج.
لوحة المخطط (يسار)

الصق عيّنة JSON لإنشاء مخطط تلقائيًا، ثم استكشف شجرة الخصائص التفاعلية. حرّر الخصائص، وأضف مجالات خبرة، وحدّد الحقول كمفاتيح بحث أو محفوظة.

لوحة الإثراء (يمين)

قم بتهيئة خيارات الإثراء (الاستراتيجية، النماذج، اللغات، التصنيف، إضافةً إلى مخطط الاستجابة ومفاتيح التبديل للمخرجات المهيكلة الصارمة) واملأ مفاتيح البحث عن الكيان (الاسم، الموقع الإلكتروني، الدولة، إلخ) لتحديد الكيان.

لوحة النتائج

يعرض التقدّم والنتائج لحظيًا لكل نموذج. وعند استخدام نماذج متعددة، يظهر زر ”دمج النتائج“ من أجل الدمج.

  1. 1كل نموذج يُضاف هنا يُنفّذ الإثراء نفسه بالتوازي
  2. 2يُجرى الفحص التمهيدي على هذا النموذج — والفراغ يعني عدم إجراء أي فحص
  3. 3توجد مفاتيح فرض المخرجات ضمن «متقدم»
لوحة واحدة تحكم التشغيل بأكمله: ما الذي يُستدعى، وبكم لغة، وما الذي يسبقه (التصنيف) وما يليه (التحكيم). تُحفظ الخيارات في متصفحك، فيبدأ التشغيل التالي من الإعداد نفسه.

ما الذي يُفحص قبل إنفاق أي رموز

بعض الطلبات لا يمكنها أن تنتج نتيجة صالحة للاستخدام، وأرخص موضع لاكتشاف ذلك هو ما قبل أول استدعاء لـ LLM. لذا يُفرَض عقدان مسبقًا.

عقد المُدخلات

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

عقد المصفوفة المغلقة

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

الخطوة 2: التصنيف التمهيدي (اختياري)

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

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

الخطوة 3: تنفيذ الاستراتيجية

يعالج كل نموذج محدَّد الكيانَ باستخدام الاستراتيجية التي سمّيتها — أو، افتراضيًا، تلك المختارة تلقائيًا بحسب شكل مخططك، وهو ما يُعلنه التشغيل عند بدئه. وعند تحديد عدة نماذج، تعمل على التوازي بين المزودين (يعمل Claude وGPT-4 في آنٍ واحد) بينما تعمل النماذج التابعة للمزود نفسه على التوالي احترامًا لحدود المعدل.

مثال على الخبرات المتعددة (3 مجالات)
1
تقسيم المخطط حسب الخبرة
تُجمَّع الخصائص حسب مجال خبرتها: الحقول المالية، والحقول التنظيمية، والحقول العامة.
2
تشغيل استدعاءات LLM متوازية
تحصل كل خبرة على موجّهها المركّز الخاص المتضمّن خصائص المخطط ذات الصلة فقط. وتعمل جميعها في آنٍ واحد.
3
دمج النتائج تدريجيًا
مع اكتمال كل مجال خبرة، يُدمج ناتجه في النتيجة المتراكمة. ترى النتائج الجزئية في الوقت الفعلي.
4
تطبيق منطق الحفظ
تُستعاد القيم الأصلية للحقول المعلَّمة بـ 'preserve'، بما يضمن بقاء بيانات إدخالك سليمة. وداخل المصفوفات، تُطابَق العناصر المُثراة بعناصر إدخالك عبر حقولها المفتاحية لا عبر موضعها، فتُستعاد القيم الصحيحة حتى لو تغيّر ترتيب الإجابة.

الخطوة 4: التحقق والتصحيح الذاتي

يُتحقّق من كل استجابة LLM مقابل مخططك في الوقت الفعلي. وعندما لا يتطابق الناتج مع الأنواع أو القيود المتوقّعة، يرسل النظام تلقائياً الأخطاء إلى الـ LLM لتصحيحها.

ما الذي يُصحَّح تلقائيًا:
سلسلة نصية بدلًا من رقم
يتحوّل "42.2" إلى 42.2
كائنات مفهرسة كمصفوفات
{"0": "a", "1": "b"} يصبح ["a", "b"]
قيم null نصية
يتحوّل "null" أو "None" إلى null فعلية
القيم التي تعذّر على النموذج تحديدها
يُصرّح بها بدلًا من اختلاقها — فتصبح تلك المسارات فارغة (null)

حتى 5 محاولات إعادة تلقائية لكل استدعاء LLM. وتتضمّن كل إعادة خطأ التحقق المحدّد ليعرف الـLLM بالضبط ما يجب إصلاحه — والإصلاح دقيق: تُعاد المطالبة بالأوراق الخاطئة وحدها، لا بالإجابة كاملة.

لاحظ ما ليس في هذه القائمة: القيمة التي عجز النموذج عن تحديدها ليست خطأً يستدعي إعادة المحاولة. فقد يعود أي حقل خاليًا، ويصرّح النموذج بما لم يستطع العثور عليه، فتكون “غير معروف” إجابةً لا إخفاقًا. ويُبتّ لاحقًا في مقبولية القيمة الناقصة، عند قبول الكيان في قاعدة بياناتك — لا بدفع النموذج إلى التخمين.

فرض المخرجات عند المصدر

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

مخطط الاستجابة
يرسل مخططك عبر قناة مخطط الاستجابة الأصلية لدى المزوّد بحيث يُفرض JSON من جهة الخادم. مفعّل افتراضيًا — عطّله وستعود حتى النماذج القادرة إلى قناة استدعاء الأدوات.
مخرجات مهيكلة صارمة
يقيّد فك الترميز بالمخطط (بلا انحراف) على أي قناة مُهيكلة تُستخدم. مُعطَّل افتراضيًا؛ وتتجاهله بصمت النماذج التي لا تستطيع فرضه.
  1. 1يوجد المفتاحان ضمن «متقدم»، أسفل لوحة الإثراء
يظهر المفتاح باهتًا عندما لا يدعمه أي من النماذج التي اخترتها، فتخبرك اللوحة بما إذا كان سيُطبَّق قبل أن تنفق أي شيء على التشغيل.

الخطوة 5: البث في الوقت الفعلي

يستخدم Entity Enricher أحداث الخادم المُرسَلة (SSE) لبثّ التقدّم في الوقت الفعلي. فلا حاجة لانتظار اكتمال جميع النماذج — إذ تظهر النتائج تدريجيًا كلما انتهى كل مجال خبرة أو نموذج.

الجدول الزمني للأحداث (مثال بنموذجين وثلاثة مجالات خبرة)
0.0sstartedتبدأ المهمة، نموذجان في قائمة الانتظار
0.1sclassification_startedيبدأ الفحص المسبق
0.8sclassification_completedتم تأكيد الكيان كـ "مطابقة" (95%)
0.9smodel_startedيبدأ Claude و GPT-4 بالتوازي
1.2sexpertise_completedClaude: اكتمل الجانب المالي، وتم بث نتيجة جزئية
1.5sexpertise_completedClaude: اكتمل الجانب العام، وتم تحديث النتيجة
1.8sexpertise_completedClaude: اكتمل التنظيمي، النتيجة الكاملة جاهزة
1.9smodel_completedأنهى Claude بمخرجات مُهيكلة كاملة
2.5smodel_completedأنهى GPT-4 بمخرجات منظمة كاملة
2.5scompletedاكتملت جميع النماذج، ويُغلَق البثّ

الخطوة 6: مراجعة النتائج

يحصل كل نموذج على لوحة نتائج خاصة به تعرض ناتج JSON المنظّم، وشارات تقدّم لكل خبرة، واستهلاك الرموز، والتكلفة، ووقت المعالجة. وعند استخدام استراتيجية الخبرات المتعددة، تتحدّث شارات الخبرة في الوقت الفعلي كلما اكتمل كل مجال.

ما تراه لكل نموذج:
  • شارة الحالة — بالانتظار، أو قيد التشغيل، أو ناجحة، أو فاشلة، أو جزئية
  • شارات الخبرة — حبوب ملونة تُظهر التقدم لكل مجال (أزرق = قيد التشغيل، أخضر = مكتمل، أحمر = فاشل)
  • JSON التدريجي — تُحدَّث المخرجات بعد اكتمال كل مجال خبرة
  • المقاييس — وقت المعالجة، عدد الرموز، التكلفة بالدولار الأمريكي
  • سجل التقدم — إدخالات مؤرَّخة زمنيًا لكل حدث

التعامل مع النجاح الجزئي

عند استخدام استراتيجية الخبرات المتعددة، قد تفشل بعض الخبرات بينما تنجح أخرى. وبدلًا من التخلص من كل شيء، يُعيد Entity Enricher المخرجات المدمجة من الخبرات الناجحة بحالة ”جزئية“. ويمكنك عندئذٍ إعادة محاولة الخبرات الفاشلة فقط دون إعادة تشغيل الإثراء بأكمله.

مثال: إذا نجح مجالا خبرة من أصل 3، فستحصل على مخرجات منظمة تغطي المجالات الناجحة. ويمكن إعادة محاولة مجال الخبرة الفاشل، وستُدمَج نتائجه في المخرجات الموجودة.

ماذا يحدث بعد ذلك؟

بعد اكتمال الإثراء، تُحفَظ نتائجك في صفحة التاريخ للرجوع إليها لاحقًا. إذا استخدمت عدة نماذج، يمكنك دمج النتائج باستخدام الدمج متعدد النماذج.