Bagikan melalui


Menggunakan model AI Builder di Power Apps

Dengan menggunakan Power Fx, rumus kode rendah sumber terbuka, Anda dapat menambahkan integrasi model AI yang lebih kuat dan fleksibel ke Power App Anda. Rumus prediksi model AI dapat diintegrasikan dengan kontrol apa pun di aplikasi kanvas. Misalnya, Anda dapat mendeteksi bahasa teks dalam kontrol input teks dan menampilkan hasilnya ke kontrol label seperti yang dapat dilihat di bagian Gunakan model dengan kontrol di bawah ini.

Persyaratan

Untuk digunakan Power Fx dalam AI Builder model, Anda harus memiliki:

Memilih model di aplikasi kanvas

Untuk menggunakan model Power Fx AI, Anda harus membuat aplikasi kanvas, memilih kontrol, dan menetapkan ekspresi untuk mengontrol properti.

Catatan

Untuk daftar AI Builder model yang dapat Anda gunakan, lihat Model AI dan skenario bisnis. Anda juga dapat menggunakan model bawaan Microsoft Azure Pembelajaran Mesin dengan fitur bawa model Anda sendiri.

  1. Membuat aplikasi. Informasi selengkapnya: Membuat aplikasi kanvas kosong dari awal.

  2. Pilih Data>Tambahkan model> AI data.

    Cuplikan layar cara memilih model Anda.

  3. Pilih satu atau beberapa model untuk ditambahkan.

    Jika Anda tidak melihat model Anda dalam daftar, Anda mungkin tidak memiliki izin untuk menggunakannya Power Apps. Hubungi administrator Anda untuk mengatasi masalah ini.

Menggunakan model dengan kontrol

Sekarang setelah Anda menambahkan model AI ke aplikasi kanvas Anda, mari kita lihat cara memanggil AI Builder model dari kontrol.

Dalam contoh berikut, kami akan membuat aplikasi yang dapat mendeteksi bahasa yang dimasukkan oleh pengguna di aplikasi.

  1. Membuat aplikasi. Informasi selengkapnya: Membuat aplikasi kanvas kosong dari awal.

  2. Pilih Data>Tambahkan model> AI data.

  3. Cari, dan pilih Model AI deteksi bahasa.

    Cuplikan layar model deteksi bahasa.

    Catatan

    Anda harus menambahkan model secara manual ke aplikasi lagi di lingkungan baru setelah memindahkan aplikasi di seluruh lingkungan.

  4. Pilih + dari panel kiri, lalu pilih Kontrol input teks.

  5. Ulangi langkah sebelumnya untuk menambahkan kontrol Label teks.

  6. Ubah nama label teks menjadi Bahasa.

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

    Kontrol aplikasi termasuk teks dan kedua kontrol label.

  8. Pilih label teks yang ditambahkan pada langkah sebelumnya.

  9. Masukkan rumus berikut di bilah rumus untuk properti Teks label teks.

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

    Label berubah menjadi kode bahasa berdasarkan lokal Anda. Untuk contoh ini, en (Bahasa Inggris).

    Rumus bahasa mengubah teks label.

  10. Pratinjau aplikasi dengan memilih tombol Putar dari sudut kanan atas layar.

    Pratinjau aplikasi.

  11. Di kotak teks, masukkan bonjour. Perhatikan bahwa bahasa untuk bahasa Prancis (fr) muncul di bawah kotak teks.

    Contoh deteksi bahasa Prancis.

  12. Demikian pula, coba teks bahasa lain. Misalnya, memasukkan guten tag mengubah bahasa yang terdeteksi menjadi de untuk bahasa Jerman.

Praktik terbaik

  • Coba picu prediksi model dari tindakan tunggal seperti OnClick menggunakan tombol daripada tindakan OnChange pada input teks untuk memastikan penggunaan kredit yang AI Builder efisien.

  • Untuk menghemat waktu dan sumber daya, simpan hasil panggilan model sehingga Anda dapat menggunakannya di beberapa tempat. Anda dapat menyimpan output ke dalam variabel global. Setelah menyimpan hasil model, Anda dapat menggunakan bahasa di tempat lain di aplikasi untuk menampilkan bahasa yang diidentifikasi dan skor keyakinannya dalam dua label berbeda.

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

Input dan output berdasarkan jenis model

Bagian ini menyediakan input dan output untuk model kustom dan prebuilt berdasarkan jenis model.

Model kustom

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

Model bawaan

Catatan

Nama model bawaan ditampilkan di lokal lingkungan Anda. Contoh berikut menunjukkan nama model untuk bahasa Inggris (en).

Jenis model Sintaks Output
Pembaca kartu bisnis ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Klasifikasi kategori 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Pembaca dokumen identitas ‘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 }}}}}
Pemrosesan faktur ‘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 } } } }[] } }}
Ekstraksi frasa kunci 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Pendeteksi bahasa 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Pemrosesan tanda terima ‘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 } }[]}
Pengenalan 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 }[] }[]}
Terjemahan teks 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Contoh

Setiap model dipanggil menggunakan kata kerja prediksi. Misalnya, model deteksi bahasa mengambil teks sebagai input dan mengembalikan tabel bahasa yang mungkin, diurutkan berdasarkan skor bahasa tersebut. Skor menunjukkan seberapa percaya diri model dengan prediksi.

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 } } ] }

Baca juga