Aracılığıyla paylaş


Power Apps'te AI Builder modellerini kullanma

Açık kaynak az kodlu formüller olan Power Fx kullanımıyla, Power App'ınıza yapay zeka modellerinin daha güçlü ve esnek tümleştirmelerini ekleyebilirsiniz. Yapay zeka model tahmin formülleri, tuval uygulamasındaki denetimlerle tümleştirilebilir. Örneğin, aşağıda Denetimlerle model kullanma bölümünde görülebileceği üzere bir metin girişi denetiminde metnin dilini algılayabilir ve sonuçları bir etiket denetimine gönderebilirsiniz.

Gereksinimler

AI Builder modellerinde Power Fx kullanmak için şunlara sahip olmanız gerekir:

Tuval uygulamalarında model seçme

Bir yapay zeka modelini Power Fx ile kullanmak için bir tuval uygulaması oluşturmanız, bir denetim seçmeniz ve denetim özelliklerine ifadeler atamanız gerekir.

Not

Kullanabileceğiniz AI Builder modellerinin listesi için bkz. Yapay zeka modelleri ve iş senaryoları. Kendi modelinizi getirin özelliği ile Microsoft Azure Machine Learning'de oluşturulan modelleri de kullanabilirsiniz.

  1. Uygulama oluşturma. Daha fazla bilgi: Sıfırdan boş tuval uygulaması oluşturma.

  2. Veri>Veri ekle>AI modelleri'ni seçin.

    Modelinizin nasıl seçebileceğinize dair ekran görüntüsü.

  3. Bir veya daha eklenecek model seçin.

    Modelinizi listede göremiyorsanız Power Apps uygulamasında kullanma izniniz olmayabilir. Bu sorunu çözmek için yöneticinize başvurun.

Denetimlerle model kullanma

Yapay zeka modelini tuval uygulamanıza eklediğinize göre denetimden bir AI Builder modelinin nasıl çağrıldığına bakalım.

Aşağıdaki örnekte, uygulamada bir kullanıcı tarafından girilen dili algılayabilen bir uygulama oluşturacağız.

  1. Uygulama oluşturma. Daha fazla bilgi: Sıfırdan boş tuval uygulaması oluşturma.

  2. Veri>Veri ekle>AI modelleri'ni seçin.

  3. Arayın ve Dil algılama yapay zeka modelini seçin.

    Dil algılama modelinin ekran görüntüsü.

    Not

    Uygulamayı ortamlar arasında taşıdıktan sonra modeli yeni ortamda uygulamaya yeniden elle eklemeniz gerekir.

  4. Sol bölmeden + seçeneğini belirleyin ve ardından Metin girişi denetimini seçin.

  5. Metin etiketi denetimi eklemek için önceki adımı tekrarlayın.

  6. Metin etiketini Dil olarak yeniden adlandırın.

  7. "Dil" etiketinin yanına başka bir metin etiketi ekleyin.

    Metin ve her iki etiket denetimi dahil olmak üzere uygulama denetimleri.

  8. Önceki adımda eklenen metin etiketini seçin.

  9. Metin etiketinin Metin özelliği için formül çubuğuna aşağıdaki formülü girin.

    'Language detection'.Predict(TextInput1.Text).Language
    

    Etiket, yerel ayarınıza bağlı olarak dil kodu olarak değişir. Bu örnek için, en (İngilizce).

    Dil formülü, etiket metnini değiştirir.

  10. Ekranın sağ üst köşesinden Oynat düğmesini seçerek uygulamayı önizleyin.

    Uygulamayı önizleyin.

  11. Metin kutusuna bonjour girin. Fransızca dili (fr) için dilin metin kutusunun altında görüntülendiğine dikkat edin.

    Fransızca dil algılama örneği.

  12. Benzer şekilde, başka dildeki bir metni deneyin. Örneğin, guten tag girildiğinde algılanan dil, Almanca dili için de olarak değişir.

En iyi yöntemler

  • AI Builder kredilerinin verimli kullanılmasını sağlamak için metin girişinde OnChange eylemi yerine bir düğmeyi kullanarak OnClick gibi tekil eylemlerden model tahmini tetiklemeyi deneyin.

  • Zaman ve kaynakları kaydetmek için, model aramasının sonuçlarını birden çok yerde kullanabilmeniz için kaydedin. Çıktıyı bir genel değişkene kaydedebilirsiniz. Model sonucunu kaydettikten sonra tanımlı dili ve güvenilirlik puanını iki farklı etiket olarak göstermek için dili uygulamanızda başka bir yerde kullanabilirsiniz.

    Set(lang, 'Language detection'.Predict("bonjour").Language)
    

Model türüne göre giriş ve çıkış

Bu bölümde, özel ve önceden oluşturulmuş modeller için model türüne göre girişler ve çıktılar sağlanmaktadır.

Özel modeller

Model türü Sözdizimi Çıktı
Kategori sınıflandırma 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Varlık ayıklama 'Custom entity extraction model name’.Predict(Text: String,Language?:String(Optional)) {Entities:[{Type: "name",Value: "Bill", StartIndex: 22, Length: 4, Confidence: .996, }, { Type: "name", Value: "Gwen", StartIndex: 6, Length: 4, Confidence: .821, }]}
Nesne algılama 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Önceden oluşturulmuş modeller

Not

Önceden oluşturulmuş model adları, ortamınızın yerel ayarında gösterilir. Aşağıdaki örneklerde İngilizce dili (en) için model adları gösterilmektedir.

Model türü Sözdizimi Çıktı
Kartvizit okuyucusu ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Kategori sınıflandırma 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Kimlik belgesi okuyucu ‘Identity document reader’.Predict( Document: Base64 encoded image ) { Context: { Type: String, TypeConfidence: Number }, Fields: { FieldName: { FieldType: "text", Confidence: Number, Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Fatura işleme ‘Invoice processing’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number,Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }, Tables: { Items: { Rows: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Key: { Name: String, }, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }[] } }}
Anahtar ifade ayıklama 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Dil algılama 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Makbuz işleme ‘Receipt processing’.Predict( Document: Base64 encoded image) { Context: { Type: String, TypeConfidence: Number }, Fields: { FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }, Tables: {Items: {Rows: {FieldName: { FieldType: "text" | "date" | "number", Confidence: Number, Key: { Name: String, }, Value: { Text: String, [Date: Date] | [Number: Number], BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number } } } }[] } } }
Duygu analizi 'Sentiment analysis'.Predict( Text: String, Language?: Optional String ) { Document: { AllSentiments: [ { Name: "Positive", Confidence: Number }, { Name: "Neutral", Confidence: Number }, { Name: "Negative", Confidence: Number } ], TopSentiment: { Name: "Positive" | "Neutral" | "Negative", Confidence: Number } } Sentences: { StartIndex: Number, Length: Number, AllSentiments: [ { Name: "Positive", Confidence: Number }, { Name: "Neutral", Confidence: Number }, { Name: "Negative", Confidence: Number } ], TopSentiment: { Name: "Positive" | "Neutral" | "Negative", Confidence: Number } }[]}
Metin tanıma 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Metin çevirisi 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Örnekler

Her model, tahmin fiili kullanılarak çağrılır. Örneğin, bir dil algılama modeli, metni bir giriş olarak alır ve bu dilin puanına göre sıralanmış olası bir diller tablosu verir. Puan, modelin tahminine ne kadar güvendiğini gösterir.

Girdi Çıktı
'Language detection'.Predict("bonjour") { Language: “fr”, Confidence: 1}
‘Text Recognition’.Predict(Image1.Image) { Pages: [ {Page: 1, Lines: [ { Text: "Contoso account", BoundingBox: { Left: .15, Top: .05, Width: .8, Height: .10 }, Confidence: .97 }, { Text: "Premium service", BoundingBox: { Left: .15, Top: .20, Width: .8, Height: .10 }, Confidence: .96 }, { Text: "Paid in full", BoundingBox: { Left: .15, Top: .35, Width: .8, Height: .10 }, Confidence: .99 } } ] }

Ayrıca bkz.