المهارة المعرفية الشرطية

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

يوضح الرمز الزائف التالي ما تنجزه المهارة الشرطية:

if (condition) 
    { output = whenTrue } 
else 
    { output = whenFalse } 

إشعار

هذه المهارة غير مرتبطة بخدمات Azure الذكاء الاصطناعي. وهو غير قابل للفوترة ولا يحتوي على متطلبات أساسية لخدمات Azure الذكاء الاصطناعي.

@odata.type

Microsoft.Skills.Util.ConditionalSkill

الحقول التي تم تقييمها

هذه المهارة خاصة لأن مدخلاتها يتم تقييم حقولها.

العناصر التالية هي قيم صالحة لتعبير:

  • مسارات التعليق التوضيحي (يجب تحديد المسارات في التعبيرات بواسطة "$(" و")")
    أمثلة:

        "= $(/document)"
        "= $(/document/content)"
    
  • القيم الحرفية (سلاسل، أرقام، صحيح، خطأ، خال)
    أمثلة:

       "= 'this is a string'"   // string (note the single quotation marks)
       "= 34"                   // number
       "= true"                 // Boolean
       "= null"                 // null value
    
  • التعبيرات التي تستخدم عوامل المقارنة (==, !=, >=, >, <=, <)
    أمثلة:

        "= $(/document/language) == 'en'"
        "= $(/document/sentiment) >= 0.5"
    
  • التعبيرات التي تستخدم عوامل التشغيل المنطقية (&, ||, !, ^)
    أمثلة:

        "= $(/document/language) == 'en' && $(/document/sentiment) > 0.5"
        "= !true"
    
  • التعبيرات التي تستخدم عوامل التشغيل الرقمية (+، -، *، /، ٪)
    أمثلة:

        "= $(/document/sentiment) + 0.5"         // addition
        "= $(/document/totalValue) * 1.10"       // multiplication
        "= $(/document/lengthInMeters) / 0.3049" // division
    

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

إدخالات المهارات

المدخلات حساسة لحالة الأحرف.

الإدخال ‏‏الوصف
condition هذا الإدخال هو حقل تم تقييمه يمثل الشرط المراد تقييمه. يجب تقييم هذا الشرط إلى قيمة منطقية (صواب أو خطأ).
أمثلة:
"= صحيح"
"= $(/document/language) =='fr'"
"= $(/document/pages/*/language) == $(/document/expectedLanguage)"
whenTrue هذا الإدخال هو حقل تم تقييمه يمثل القيمة المراد إرجاعها إذا تم تقييم الشرط إلى صحيح. يجب إرجاع سلاسل الثوابت بعلامات اقتباس مفردة (' و').
قيم العينة:
"= "العقد"
"= $(/document/contractType)"
"= $(/document/entities/*)"
whenFalse هذا الإدخال هو حقل تم تقييمه يمثل القيمة المراد إرجاعها إذا تم تقييم الشرط إلى خطأ.
قيم العينة:
"= "العقد"
"= $(/document/contractType)"
"= $(/document/entities/*)"

إخراجات المهارات

هناك إخراج واحد يسمى ببساطة "الإخراج". ترجع القيمة whenFalse إذا كان الشرط خطأ أو whenTrue إذا كان الشرط صحيحا.

الأمثلة

نموذج تعريف المهارة 1: تصفية المستندات لإرجاع المستندات الفرنسية فقط

يقوم الإخراج التالي بإرجاع صفيف من الجمل ("/document/frenchSentences") إذا كانت لغة المستند هي الفرنسية. إذا لم تكن اللغة فرنسية، يتم تعيين القيمة إلى فارغة.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == 'fr'" },
        { "name": "whenTrue", "source": "/document/sentences" },
        { "name": "whenFalse", "source": "= null" }
    ],
    "outputs": [ { "name": "output", "targetName": "frenchSentences" } ]
}

إذا تم استخدام "/document/frenchSentences" بسياق مهارة أخرى، يتم تشغيل هذه المهارة فقط إذا لم يتم تعيين "/document/frenchSentences" إلى null.

نموذج تعريف المهارة 2: تعيين قيمة افتراضية لقيمة غير موجودة

ينشئ الإخراج التالي تعليقا توضيحيا ("/document/languageWithDefault") يتم تعيينه إلى لغة المستند أو إلى "es" إذا لم يتم تعيين اللغة.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == null" },
        { "name": "whenTrue", "source": "= 'es'" },
        { "name": "whenFalse", "source": "= $(/document/language)" }
    ],
    "outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}

نموذج تعريف المهارة 3: دمج القيم من حقلين في حقل واحد

في هذا المثال، تحتوي بعض الجمل على خاصية frenchSentiment . كلما كانت الخاصية frenchSentiment فارغة ، نريد استخدام قيمة englishSentiment . نقوم بتعيين الإخراج إلى عضو يسمى التوجه ("/document/sentences/*/sentiment").

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document/sentences/*",
    "inputs": [
        { "name": "condition", "source": "= $(/document/sentences/*/frenchSentiment) == null" },
        { "name": "whenTrue", "source": "/document/sentences/*/englishSentiment" },
        { "name": "whenFalse", "source": "/document/sentences/*/frenchSentiment" }
    ],
    "outputs": [ { "name": "output", "targetName": "sentiment" } ]
}

مثال التحويل

نموذج تعريف المهارة 4: تحويل البيانات في حقل واحد

في هذا المثال، نتلقى توجها بين 0 و1. نريد تحويله ليكون بين -1 و1. يمكننا استخدام المهارة الشرطية للقيام بهذا التحويل الثانوي.

في هذا المثال، لا نستخدم الجانب الشرطي للمهارة لأن الشرط صحيح دائما.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document/sentences/*",
    "inputs": [
        { "name": "condition", "source": "= true" },
        { "name": "whenTrue", "source": "= $(/document/sentences/*/sentiment) * 2 - 1" },
        { "name": "whenFalse", "source": "= 0" }
    ],
    "outputs": [ { "name": "output", "targetName": "normalizedSentiment" } ]
}

اعتبارات خاصة

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

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