البرنامج التعليمي: تتبع أخطاء مجموعة المهارات باستخدام جلسات تصحيح الأخطاء

تنسق مجموعة المهارات إجراءات المهارات التي تحلل محتوى قابلا للبحث أو تحوله أو تنشئه. في كثير من الأحيان، يصبح إخراج مهارة واحدة مدخلات أخرى. عندما تعتمد المدخلات على المخرجات، يمكن أن تؤدي الأخطاء في تعريفات مجموعة المهارات والارتباطات الميدانية إلى عمليات وبيانات مفقودة.

جلسات تتبع الأخطاء هي أداة مدخل Microsoft Azure توفر تصورا شاملا مجموعةة المهارات. باستخدام هذه الأداة، يمكنك التعمق في خطوات محددة لمعرفة المكان الذي قد يسقط فيه الإجراء بسهولة.

في هذه المقالة، استخدم جلسات تصحيح الأخطاء للبحث عن المدخلات والمخرجات المفقودة وإصلاحها. يشمل البرنامج التعليمي جميع الجوانب. يوفر بيانات نموذجية، وملف REST يقوم بإنشاء كائنات، وإرشادات لتصحيح المشكلات في مجموعة المهارات.

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

المتطلبات الأساسية

إشعار

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

إعداد نموذج البيانات

يقوم هذا القسم بإنشاء مجموعة بيانات نموذجية في Azure Blob Storage بحيث يكون للمفهرس ومجموعة المهارات محتوى للعمل به.

  1. تنزيل بيانات العينة (clinical-trials-pdf-19)، التي تتكون من 19 ملفًا.

  2. إنشاء حساب Azure storage أو البحث عن حساب موجود.

    • اختر نفس المنطقة مثل Azure الذكاء الاصطناعي Search لتجنب رسوم النطاق الترددي.

    • اختر نوع الحساب StorageV2 (للأغراض العامة V2).

  3. انتقل إلى صفحات خدمات Azure Storage في المدخل وأنشئ حاوية Blob. تتمثل أفضل الممارسات في تحديد مستوى الوصول "خاص". قم بتسمية حاويتك clinicaltrialdataset.

  4. في الحاوية، حدد تحميل لتحميل ملفات العينة التي قمت بتنزيلها وفك ضغطها في الخطوة الأولى.

  5. أثناء وجودك في المدخل، انسخ سلسلة الاتصال ل Azure Storage. يمكنك الحصول على سلسلة الاتصال من Settings>Access Keys في المدخل.

نسخ مفتاح وعنوان URL

تتطلب استدعاءات REST نقطة نهاية خدمة البحث ومفتاح API في كل طلب. يمكنك الحصول على هذه القيم من مدخل Microsoft Azure.

  1. سجل الدخول إلى مدخل Microsoft Azure، وانتقل إلى صفحة Overview ، وانسخ عنوان URL. قد يبدو مثال نقطة النهاية بالشكل https://mydemo.search.windows.net.

  2. ضمن الإعدادات> Keys، انسخ مفتاح مسؤول. يتم استخدام مفاتيح مسؤول لإضافة الكائنات وتعديلها وحذفها. هناك مفتاحان للمسؤول قابلان للتبديل. انسخ أي منهما.

    لقطة شاشة لمفاتيح URL وواجهة برمجة التطبيقات في مدخل Microsoft Azure.

يؤسس مفتاح API صالح الثقة، على أساس كل طلب، بين التطبيق الذي يرسل الطلب وخدمة البحث التي تتعامل معه.

إنشاء مصدر البيانات ومجموعة المهارات والفهرس والمفهرس

في هذا القسم، أنشئ سير عمل "buggy" يمكنك إصلاحه في هذا البرنامج التعليمي.

  1. ابدأ تشغيل Visual Studio Code وافتح debug-sessions.rest الملف.

  2. قم بتوفير المتغيرات التالية: عنوان URL لخدمة البحث، ومفتاح API لمسؤول خدمات البحث، سلسلة الاتصال التخزين، واسم حاوية الكائن الثنائي كبير الحجم التي تخزن ملفات PDF.

  3. إرسال كل طلب بدوره. يستغرق إنشاء المفهرس عدة دقائق حتى يكتمل.

  4. أغلق الملف.

التحقق من النتائج في المدخل

تنشئ التعليمة البرمجية العينة فهرس buggy عن قصد كنتيجة للمشكلات التي حدثت في أثناء تنفيذ مجموعة المهارات. المشكلة هي أن الفهرس يفتقد البيانات.

  1. في مدخل Microsoft Azure، في صفحة نظرة عامة على خدمة البحث، حدد علامة التبويب Indexes.

  2. حدد التجارب السريرية.

  3. أدخل سلسلة استعلام JSON هذه في طريقة عرض JSON لمستكشف البحث. يقوم بإرجاع حقول لمستندات معينة (تم تعريفها بواسطة الحقل الفريد metadata_storage_path ).

    "select": "metadata_storage_path, organizations, locations",
    "count"=true`
    
  4. تشغيل الاستعلام. يجب أن تشاهد قيما فارغة ل organizations و locations.

    يجب ملء هذه الحقول من خلال مهارة التعرف على الكيان الخاصة بمجموعة المهارات، وتستخدم للكشف عن المؤسسات والمواقع في أي مكان داخل محتوى الكائن الثنائي كبير الحجم. في التمرين التالي، ستصحح مجموعة المهارات لتحديد الخطأ الذي حدث.

هناك طريقة أخرى للتحقيق في الأخطاء والتحذيرات من خلال مدخل Microsoft Azure.

  1. افتح علامة التبويب Indexers وحدد clinical-trials-idxr.

    لاحظ أنه بينما نجحت مهمة المفهرس بشكل عام، كانت هناك تحذيرات.

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

    لقطة شاشة لتحذيرات العرض.

بدء جلسة تتبع الأخطاء

  1. من جزء التنقل الأيسر لخدمة البحث، ضمن إدارة البحث، حدد تصحيح الجلسات.

  2. حدد + Add Debug Session.

  3. أعطِ اسمًا للجلسة.

  4. صِل الجلسة بحساب التخزين لديك. إنشاء حاوية باسم "جلسات تصحيح الأخطاء". يمكنك استخدام هذه الحاوية بشكل متكرر لتخزين جميع بيانات جلسة تتبع الأخطاء.

  5. إذا قمت بتكوين اتصال موثوق به بين البحث والتخزين، فحدد الهوية المدارة من قبل المستخدم أو هوية النظام للاتصال. وإلا، استخدم الإعداد الافتراضي (بلا).

  6. في قالب المفهرس، قم بتوفير اسم المفهرس. يحتوي المفهرس على مراجع إلى مصدر البيانات ومجموعة المهارات والفهرس.

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

  8. احفظ الجلسة. سيؤدي حفظ الجلسة إلى بدء مسار الإثراء كما هو محدد بواسطة مجموعة المهارات للمستند المحدد.

    لقطة شاشة لتكوين جلسة تصحيح أخطاء جديدة.

  9. عند انتهاء جلسة تتبع الأخطاء من التهيئة، يتم تعيين الجلسة الافتراضية إلى علامة التبويب AI Enrichments، مع تمييز Skill Graph. يوفر "Skill Graph" تسلسلاً هرميًا مرئيًا لمجموعة المهارات وترتيب تنفيذها بالتسلسل والتوازي.

    لقطة شاشة للمحرر المرئي لجلسة تتبع الأخطاء.

البحث عن المشكلات المتعلقة بمجموعة المهارات

يمكن العثور على أي مشكلات تم الإبلاغ عنها من خلال المفهرس في علامة التبويب Errors/Warnings.

لقطة شاشة لعلامة تبويب الأخطاء والتحذيرات.

لاحظ أن علامة التبويب Errors/Warnings ستوفر قائمة أصغر بكثير من القائمة المعروضة مسبقًا لأن هذه القائمة توضح فقط أخطاء مستند واحد بالتفصيل. مثل القائمة التي يعرضها المفهرس، يمكنك التحديد على رسالة تحذير ورؤية تفاصيل هذا التحذير.

حدد Errors/Warnings لمراجعة الإعلامات. يجب أن ترى أربعة:

  • "تعذر تنفيذ المهارة لأن إدخال مهارة واحد أو أكثر غير صالح. إدخال المهارة المطلوب مفقود. الاسم: 'نص'، المصدر: '/document/content'."

  • "تعذر تعيين "مواقع" حقل الإخراج لفهرس البحث. تحقق من خاصية 'outputFieldMappings' للمفهرس لديك. القيمة المفقودة '/document/merged_content/locations'."

  • "تعذر تعيين "المؤسسات" حقل الإخراج لفهرس البحث. تحقق من خاصية 'outputFieldMappings' للمفهرس لديك. القيمة المفقودة '/document/merged_content/organizations'."

  • "تم تنفيذ المهارة ولكن قد يكون لها نتائج غير متوقعة لأن إدخال مهارة واحد أو أكثر غير صالح. إدخال المهارات الاختيارية مفقودة. الاسم: 'languageCode'، المصدر: '/document/languageCode'. مشكلات تحليل لغة التعبير: القيمة المفقودة '/document/languageCode'."

العديد من المهارات لها معلمة "languageCode". من خلال فحص العملية، يمكنك رؤية أن إدخال رمز اللغة هذا مفقود من EntityRecognitionSkill.#1، وهي نفس مهارة التعرف على الكيانات التي تواجه مشكلة مع مخرجات "المواقع" و"المؤسسات".

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

إصلاح قيم إدخال المهارات المفقودة

في علامة التبويب الأخطاء/التحذيرات ، هناك إدخالان مفقودان لعملية تسمى EntityRecognitionSkill.#1. توضح تفاصيل الخطأ الأول أن الإدخال المطلوب ل "النص" مفقود. يشير الثاني إلى وجود مشكلة في قيمة إدخال "/document/languageCode".

  1. في الذكاء الاصطناعي Enrichments>Skill Graph، حدد المهارة المسماة #1 لعرض تفاصيلها في الجزء الأيمن.

  2. حدد علامة التبويب Executions وحدد موقع إدخال "text".

  3. <حدد الرمز /> لفتح مقيم التعبير. لا تبدو النتيجة المعروضة لهذا الإدخال كإدخال نص. يبدو وكأنه سلسلة من أحرف \n \n\n\n\n السطر الجديدة بدلا من النص. يعني عدم وجود نص أنه لا يمكن تحديد أي كيانات، لذلك إما أن يفشل هذا المستند في تلبية المتطلبات الأساسية للمهارة، أو أن هناك إدخالا آخر يجب استخدامه بدلا من ذلك.

    لقطة شاشة لمقيم التعبير لإدخال النص.

  4. قم بتبديل الجزء الأيسر إلى بنية البيانات المثرية وقم بالتمرير لأسفل قائمة عقد الإثراء لهذا المستند. لاحظ أن \n \n\n\n\n ل "المحتوى" ليس له مصدر منشئ، ولكن قيمة أخرى ل "merged_content" لها إخراج OCR. على الرغم من عدم وجود إشارة، يبدو أن محتوى ملف PDF هذا ملف JPEG، كما يتضح من النص المستخرج والمعالج في "merged_content".

    لقطة شاشة لبنية البيانات المحسنة.

  5. في الجزء الأيسر، حدد عمليات التنفيذ للمهارة #1 وافتح مقيم <التعبير /> للإدخال "نص".

  6. غير التعبير من /document/content إلى /document/merged_content، ثم حدد تقييم. لاحظ أن المحتوى هو الآن جزء من النص، وبالتالي قابل للتنفيذ للتعرف على الكيان.

    لقطة شاشة لمقيم التعبير لإدخال merged_content الثابت.

  7. قم بالتبديل إلى Skill JSON Editor.

  8. في السطر 16، ضمن "inputs"، قم بالتغيير /document/content إلى /document/merged_content.

     {
       "name": "text",
       "source": "/document/merged_content"
     },
    
  9. حدد Save في جزء Skill Details.

    لقطة شاشة لأمر حفظ للحصول على تفاصيل مجموعة المهارات.

  10. حدد Run في قائمة نافذة الجلسة. سيؤدي هذا إلى بدء عملية تنفيذ أخرى لمجموعة المهارات باستخدام المستند.

  11. بمجرد اكتمال تنفيذ جلسة تصحيح الأخطاء، تحقق من علامة التبويب Errors/Warnings وستظهر أن الخطأ لإدخال النص قد اختفى، ولكن تبقى التحذيرات الأخرى. الخطوة التالية هي معالجة التحذير حول "languageCode".

    لقطة شاشة للأخطاء والتحذيرات المحدثة.

  12. حدد علامة التبويب Executions وحدد موقع إدخال "languageCode".

  13. <حدد الرمز /> لفتح مقيم التعبير. لاحظ التأكيد على أن خاصية "languageCode" ليست إدخالا صالحا.

    لقطة شاشة لمقيم التعبير لإدخال اللغة.

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

  1. في علامة التبويب عمليات التنفيذ ، تحقق من INPUTS وابحث عن "languageCode". لا يوجد مصدر لهذا الإدخال مدرج.

  2. قم بتبديل الجزء الأيسر إلى بنية البيانات المحسنة. مرر لأسفل قائمة عقد الإثراء لهذا المستند. لاحظ أنه لا توجد عقدة "languageCode"، ولكن هناك عقدة ل "اللغة". لذلك، هناك خطأ إملائي في إعدادات المهارة.

    لقطة شاشة لبنية البيانات المحسنة، مع تمييز اللغة.

  3. لا يزال في بنية البيانات المثرية، افتح مقيم <التعبير /> لعقدة "اللغة" وانسخ التعبير /document/language.

  4. في الجزء الأيسر، حدد Skill الإعدادات للمهارة #1 وافتح Expression المقيم </> للإدخال "languageCode".

  5. الصق القيمة الجديدة، /document/language في مربع Expression وحدد Evaluate. يجب أن تعرض الإدخال الصحيح "en".

  6. حدد حفظ.

  7. حدد تشغيل.

بعد اكتمال تنفيذ جلسة تصحيح الأخطاء، تحقق من علامة التبويب Errors/Warnings وستظهر أن جميع تحذيرات الإدخال قد اختفت. لا يزال هناك الآن فقط التحذيران حول حقول الإخراج للمؤسسات والمواقع.

إصلاح قيم إخراج المهارات المفقودة

تقول الرسائل للتحقق من الخاصية "outputFieldMappings" للمفهرس الخاص بك، لذلك دعونا نبدأ من هناك.

  1. انتقل إلى Skill Graph وحدد Output Field Mappings. التعيينات صحيحة بالفعل، ولكن عادة ما تتحقق من تعريف الفهرس للتأكد من وجود حقول ل "المواقع" و"المؤسسات".

    لقطة شاشة لتعيينات حقل الإخراج.

  2. إذا لم تكن هناك مشكلة في الفهرس، فإن الخطوة التالية هي التحقق من مخرجات المهارة. كما كان من قبل، حدد بنية البيانات المحسنة، وقم بالتمرير إلى العقد للعثور على "المواقع" و"المؤسسات". لاحظ أن الأصل هو "المحتوى" بدلا من "merged_content". السياق خاطئ.

    لقطة شاشة لبنية البيانات المحسنة مع سياق خاطئ.

  3. قم بالتبديل مرة أخرى إلى Skill Graph وحدد مهارة التعرف على الكيان.

  4. انتقل إلى Skill Settings للعثور على "السياق".

    لقطة شاشة لتصحيح السياق في إعداد المهارة.

  5. انقر نقرًا مزدوجًا فوق الإعداد الخاص بـ "السياق" ثم حرره لقراءة '/document/merged_content'.

  6. حدد حفظ.

  7. حدد تشغيل.

تم حل جميع الأخطاء.

الالتزام بالتغييرات في مجموعة المهارات

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

بدلاً من ذلك، إذا لم تكن مستعدًا لإجراء التغييرات، يمكنك حفظ جلسة تتبع الأخطاء وإعادة فتحها لاحقًا.

  1. حدد Commit changes في قائمة Debug sessions الرئيسية.

  2. حدد موافق لتأكيد رغبتك في تحديث مجموعة المهارات الخاصة بك.

  3. أغلق جلسة عمل تتبع الأخطاء وافتح المفهرسات من جزء التنقل الأيمن.

  4. حدد "clinical-trials-idxr".

  5. حدد إعادة التعيين.

  6. حدد تشغيل.

  7. حدد تحديث لإظهار حالة أوامر إعادة التعيين والتشغيل.

عند انتهاء تشغيل المفهرس، يجب أن تكون هناك علامة اختيار خضراء وكلمة "نجاح" بجانب الطابع الزمني لآخر تشغيل في علامة التبويب Execution history. للتأكد من تطبيق التغييرات:

  1. في جزء التنقل الأيمن، افتح الفهارس.

  2. حدد فهرس "التجارب السريرية" وفي علامة التبويب مستكشف البحث، أدخل سلسلة الاستعلام هذه: $select=metadata_storage_path, organizations, locations&$count=true لإرجاع حقول لمستندات معينة (تم تحديدها بواسطة الحقل الفريد metadata_storage_path ).

  3. حدد بحث.

يجب أن تُظهر النتائج أن المؤسسات والمواقع يجري ملؤها الآن بالقيم المتوقعة.

تنظيف الموارد

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

يمكن العثور على الموارد وإدارتها في المدخل الإلكتروني، باستخدامAll resources أو رابط Resource groups الموجود في جزء التنقل الأيسر.

تقتصر الخدمة المجانية على ثلاثة فهارس ومفهرسات ومصادر بيانات. يمكنك حذف العناصر الفردية في المدخل لعدم تجاوز الحد المسموح به.

الخطوات التالية

لقد تطرق هذا البرنامج التعليمي إلى جوانب مختلفة من تعريف مجموعة المهارات ومعالجتها. لمعرفة المزيد حول المفاهيم ومهام سير العمل، راجع المقالات التالية: