Bagikan melalui


Menggunakan model AI Builder di Power Apps

Dengan menggunakan Power Fx rumus low-code sumber terbuka, Anda dapat menambahkan integrasi model AI yang lebih kuat dan fleksibel ke dalam 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 ke properti kontrol.

Catatan

Untuk daftar AI Builder model yang dapat Anda gunakan, lihat Model AI dan skenario bisnis. Anda juga dapat menggunakan model bawaan dalam 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>.

    Tangkapan 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, kita 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.

    Tangkapan layar model deteksi bahasa.

    Catatan

    Anda harus menambahkan model ke aplikasi secara manual 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. Ganti 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 Putar tombol 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 mengubah guten tag 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 AI Builder kredit yang 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 keyakinan dalam dua label berbeda.

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

Input dan output berdasarkan jenis model

Bagian ini menyediakan masukan dan keluaran untuk model khusus dan yang telah dibuat sebelumnya 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 yang sudah dibuat sebelumnya

Catatan

Nama model yang telah dibuat sebelumnya 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[]}
Deteksi 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 masukan dan mengembalikan tabel kemungkinan bahasa, diurutkan berdasarkan skor bahasa tersebut. Skor menunjukkan seberapa yakin model tersebut dengan prediksi-nya.

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