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:
Akses kepada Microsoft Power Platform persekitaran dengan pangkalan data.
AI Builder lesen (percubaan atau berbayar). Untuk mengetahui lebih lanjut, pergi ke pelesenan AI Builder .
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.
Cipta aplikasi. Maklumat lanjut: Buat apl kanvas kosong dari awal.
Pilih Data Tambah model> AI data>.
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.
Cipta aplikasi. Maklumat lanjut: Buat apl kanvas kosong dari awal.
Pilih Data Tambah model> AI data>.
Cari dan pilih Model AI pengesanan bahasa .
Nota
Anda perlu menambah model secara manual pada apl sekali lagi dalam persekitaran baharu apabila mengalihkan apl merentas persekitaran.
Pilih + daripada anak tetingkap kiri dan kemudian pilih Kawalan input teks.
Ulangi langkah sebelumnya untuk menambah kawalan label teks.
Namakan semula label teks kepada Bahasa.
Tambahkan label teks lain di sebelah label "Bahasa".
Pilih label teks yang ditambahkan dalam langkah sebelumnya.
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).
Pratonton apl dengan memilih Butang Main dari penjuru kanan sebelah atas skrin.
Dalam kotak teks, masukkan
bonjour
. Perhatikan bahawa bahasa untuk bahasa Perancis (fr) muncul di bawah kotak teks.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 } } ] } |
Maklumat berkaitan
Maklum balas
https://aka.ms/ContentUserFeedback.
Akan datang: Sepanjang 2024, kami akan menghentikan secara berperingkat Isu GitHub sebagai kaedah maklum balas untuk kandungan dan menggantikannya dengan sistem maklum balas baharu. Untuk mendapatkan maklumat lanjut lihat:Kirim dan lihat maklum balas untuk