Koşullu bilişsel beceri

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Koşullu beceri, bir çıktıya atanacak verileri belirlemek için Boole işlemi gerektiren Azure Yapay Zeka Arama senaryolarına olanak tanır. Bu senaryolar filtrelemeyi, varsayılan bir değer atamayı ve verileri bir koşula göre birleştirmeyi içerir.

Aşağıdaki sahte kod, koşullu becerinin neleri başarduğunu gösterir:

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

Not

Bu beceri Döküm Araçları'na bağlı değildir. Bu, kullanılamaz ve Döküm Araçları anahtar gereksinimi yoktur.

@odata.type

Microsoft.Skills.Util.ConditionalSkill

Değerlendirilen alanlar

Girişleri değerlendirilen alanlar olduğundan bu beceri özeldir.

Aşağıdaki öğeler bir ifadenin geçerli değerleridir:

  • Ek açıklama yolları (ifadelerdeki yollar "$(" ve ")") ile sınırlandırılmalıdır
    Examples:

        "= $(/document)"
        "= $(/document/content)"
    
  • Değişmez değerler (dizeler, sayılar, doğru, yanlış, null)
    Examples:

       "= 'this is a string'"   // string (note the single quotation marks)
       "= 34"                   // number
       "= true"                 // Boolean
       "= null"                 // null value
    
  • Karşılaştırma işleçleri kullanan ifadeler (==, !=, >=, >, <=, <)
    Examples:

        "= $(/document/language) == 'en'"
        "= $(/document/sentiment) >= 0.5"
    
  • Boole işleçleri (&, ||, !, ^) kullanan ifadeler
    Examples:

        "= $(/document/language) == 'en' && $(/document/sentiment) > 0.5"
        "= !true"
    
  • Sayısal işleçler (+, -, *, /, %) kullanan ifadeler
    Examples:

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

Koşullu beceri değerlendirmeyi desteklediğinden, bunu küçük dönüştürme senaryolarında kullanabilirsiniz. Örneğin bkz . beceri tanımı 4.

Beceri girişleri

Girişler büyük/küçük harfe duyarlıdır.

Giriş Description
condition Bu giriş, değerlendirilecek koşulu temsil eden değerlendirilen bir alandır . Bu koşul bir Boole değeri (true veya false) olarak değerlendirilmelidir.
Örnekler:
= doğru
"= $(/document/language) =='fr'"
"= $(/document/pages/*/language) == $(/document/expectedLanguage)"
whenTrue Bu giriş, koşul true olarak değerlendirilirse döndürülecek değeri temsil eden, değerlendirilen bir alandır. Sabit dizeleri tek tırnak işareti (' ve ') olarak döndürülmelidir.
Örnek değerler:
"= 'sözleşme'"
"= $(/document/contractType)"
"= $(/document/entities/*)"
whenFalse Bu giriş, koşul false olarak değerlendirilirse döndürülecek değeri temsil eden, değerlendirilen bir alandır.
Örnek değerler:
"= 'sözleşme'"
"= $(/document/contractType)"
"= $(/document/entities/*)"

Beceri çıkışları

"output" adlı tek bir çıkış vardır. Koşul false ise whenFalse veya koşul true ise whenTrue değerini döndürür.

Examples

Örnek beceri tanımı 1: Belgeleri yalnızca Fransızca belgeleri döndürecek şekilde filtreleyin

Aşağıdaki çıkış, belgenin dili Fransızca ise bir cümle dizisi ("/document/frenchSentences") döndürür. Dil Fransızca değilse değer null olarak ayarlanır.

{
    "@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" } ]
}

Başka bir becerinin bağlamı olarak "/document/frenchSentences" kullanılıyorsa, bu beceri yalnızca "/document/frenchSentences" null olarak ayarlanmadığında çalışır.

Örnek beceri tanımı 2: Var olmayan bir değer için varsayılan değer ayarlama

Aşağıdaki çıkış, belgenin diline veya dil ayarlı değilse "es" olarak ayarlanmış bir ek açıklama ("/document/languageWithDefault") oluşturur.

{
    "@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" } ]
}

Örnek beceri tanımı 3: İki alandaki değerleri tek bir alanda birleştirme

Bu örnekte, bazı cümlelerin frenchSentiment özelliği vardır. frenchSentiment özelliği null olduğunda englishSentiment değerini kullanmak istiyoruz. Çıkışı yaklaşım ("/document/sentences/*/sentiment") adlı bir üyeye atarız.

{
    "@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" } ]
}

Dönüştürme örneği

Örnek beceri tanımı 4: Tek bir alanda veri dönüştürme

Bu örnekte 0 ile 1 arasında bir yaklaşım elde ediyoruz. -1 ile 1 arasında olacak şekilde dönüştürmek istiyoruz. Bu küçük dönüşümü yapmak için koşullu beceriyi kullanabiliriz.

Bu örnekte koşul her zaman doğru olduğundan becerinin koşullu yönünü kullanmıyoruz.

{
    "@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" } ]
}

Dikkat edilmesi gereken özel noktalar

Bazı parametreler değerlendirilir, bu nedenle belgelenen deseni takip etmek için özellikle dikkatli olmanız gerekir. İfadeler eşittir işaretiyle başlamalıdır. Bir yol "$(" ve ")" ile sınırlandırılmalıdır. Dizeleri tek tırnak içine yerleştirdiğinden emin olun. Bu, değerlendiricinin dizeleri ve gerçek yolları ve işleçleri ayırt etmesine yardımcı olur. Ayrıca, işleçlerin çevresine boşluk koyduğundan emin olun (örneğin, bir yoldaki "*", çarpmadan farklı bir şey anlamına gelir).

Sonraki Adımlar