Kongsi melalui


Gunakan model AI Builder dalam Power Apps

Dengan penggunaan Power Fx, formula kod asas sumber terbuka, anda boleh menambah penyepaduan model AI yang lebih berkuasa dan fleksibel ke dalam Power App anda. Formula ramalan model AI boleh disepadukan dengan sebarang kawalan dalam apl kanvas. Contohnya, anda boleh mengesan bahasa teks dalam kawalan input teks dan mengeluarkan hasil kepada kawalan label seperti yang boleh dilihat dalam bahagian Gunakan model dengan kawalan di bawah.

Keperluan

Untuk digunakan Power Fx dalam AI Builder model, anda mesti mempunyai:

Pilih model dalam app kanvas

Untuk menggunakan model AI dengan Power Fx, anda perlu mencipta aplikasi kanvas, memilih kawalan dan menetapkan ungkapan untuk mengawal sifat.

Nota

Untuk senarai AI Builder model yang boleh anda gunakan, lihat model AI dan senario perniagaan. Anda juga boleh menggunakan model terbina dalamPembelajaran Microsoft Azure Mesin dengan ciri bawa model anda sendiri.

  1. Cipta aplikasi. Maklumat lanjut: Buat apl kanvas kosong dari awal.

  2. Pilih Data Tambah model> AI data>.

    Tangkapan skrin cara memilih model anda.

  3. Pilih satu atau lebih model untuk ditambah.

    Jika anda tidak melihat model anda dalam senarai, anda mungkin tidak mempunyai keizinan untuk menggunakannya Power Apps. Hubungi pentadbir anda untuk menyelesaikan masalah ini.

Gunakan model dengan kawalan

Memandangkan anda telah menambah model AI pada apl kanvas anda, mari lihat cara memanggil AI Builder model daripada kawalan.

Dalam contoh berikut, kami akan membina aplikasi yang boleh mengesan bahasa yang dimasukkan oleh pengguna dalam apl.

  1. Cipta aplikasi. Maklumat lanjut: Buat apl kanvas kosong dari awal.

  2. Pilih Data Tambah model> AI data>.

  3. Cari dan pilih Model AI pengesanan bahasa .

    Tangkapan skrin model pengesanan bahasa.

    Nota

    Anda perlu menambah model secara manual pada apl sekali lagi dalam persekitaran baharu apabila mengalihkan apl merentas persekitaran.

  4. Pilih + daripada anak tetingkap kiri dan kemudian pilih Kawalan input teks.

  5. Ulangi langkah sebelumnya untuk menambah kawalan label teks.

  6. Namakan semula label teks kepada Bahasa.

  7. Tambahkan label teks lain di sebelah label "Bahasa".

    Kawalan apl termasuk teks dan kedua-dua kawalan label.

  8. Pilih label teks yang ditambahkan dalam langkah sebelumnya.

  9. Masukkan formula berikut dalam bar formula untuk sifat Teks label teks.

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

    Label bertukar kepada kod bahasa berdasarkan lokasi anda. Untuk contoh ini, en (Bahasa Inggeris).

    Formula bahasa mengubah teks label.

  10. Pratonton apl dengan memilih Butang Main dari penjuru kanan sebelah atas skrin.

    Pratonton aplikasi.

  11. Dalam kotak teks, masukkan bonjour. Perhatikan bahawa bahasa untuk bahasa Perancis (fr) muncul di bawah kotak teks.

    Contoh pengesanan bahasa Perancis.

  12. Begitu juga, cuba teks bahasa lain. Sebagai contoh, memasukkan menukar guten tag bahasa yang dikesan kepada de untuk bahasa Jerman.

Amalan terbaik

  • Cuba cetuskan ramalan model daripada tindakan tunggal seperti OnClick menggunakan butang dan bukannya tindakan OnChange pada input teks untuk memastikan penggunaan AI Builder kredit yang cekap.

  • Untuk menjimatkan masa dan sumber, simpan hasil panggilan model supaya anda boleh menggunakannya di berbilang tempat. Anda boleh menyimpan output ke dalam pemboleh ubah global. Selepas anda menyimpan hasil model, anda boleh menggunakan bahasa di tempat lain dalam app anda untuk menunjukkan bahasa yang dikenal pasti dan markah keyakinan bahasa dalam dua label berbeza.

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

Input dan output mengikut jenis model

Bahagian ini menyediakan input dan output untuk model tersuai dan prabina mengikut jenis model.

Model tersuai

Jenis model Sintaks Output
Pengelasan kategori 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Pengekstrakan entiti '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, }]}
Pengesanan objek 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Model prabina

Nota

Nama model prabina ditunjukkan dalam tempat persekitaran anda. Contoh berikut menunjukkan nama model untuk bahasa Inggeris (en).

Jenis model Sintaks Output
Pembaca kad perniagaan ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Pengelasan kategori 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Pembaca dokumen identiti ‘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 }}}}}
Pemprosesan invois ‘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 } } } }[] } }}
Pengekstrakan frasa kunci 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Pengesanan bahasa 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Pemprosesan resit ‘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 } } } }[] } } }
Analisis sentimen '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 } }[]}
Pengecaman teks 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Penterjemahan teks 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Contoh

Setiap model digunakan menggunakan kata kerja ramal. Sebagai contoh, model pengesanan bahasa mengambil teks sebagai input dan mengembalikan jadual bahasa yang mungkin, disusun mengikut skor bahasa tersebut. Skor menunjukkan betapa yakinnya model dengan ramalannya.

Input Output
'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 } } ] }