Κοινή χρήση μέσω


Χρήση μοντέλων του AI Builder στο Power Apps

Με τη χρήση του Power Fx, των τύπων χαμηλού κώδικα με ανοιχτό κώδικα, μπορείτε να προσθέσετε πιο ισχυρές και ευέλικτες ενσωματώσεις των μοντέλων AI στην εφαρμογή Power App σας. Οι τύποι πρόβλεψης μοντέλου AI μπορούν να ενσωμαφούν με οποιαδήποτε στοιχεία ελέγχου σε εφαρμογές καμβά. Για παράδειγμα, μπορείτε να εντοπίσετε τη γλώσσα κειμένου σε ένα στοιχείο ελέγχου εισαγωγής κειμένου και να εξαγάγετε τα αποτελέσματα σε ένα στοιχείο ελέγχου ετικέτας, όπως φαίνεται στην ενότητα Χρήση μοντέλου με στοιχεία ελέγχου παρακάτω.

Απαιτήσεις

Για να χρησιμοποιήσετε το Power Fx σε μοντέλα AI Builder, πρέπει να έχετε:

Επιλογή μοντέλου σε εφαρμογές καμβά

Για να καταναλώσετε ένα μοντέλο AI με Power Fx, θα πρέπει να δημιουργήσετε μια εφαρμογή καμβά, να επιλέξετε ένα στοιχείο ελέγχου και να αναθέσετε εκφράσεις για τον έλεγχο ιδιοτήτων.

Σημείωμα

Για μια λίστα μοντέλων AI Builder που μπορείτε να καταναλώσετε, δείτε Μοντέλα AI και επιχειρηματικά σενάρια. Μπορείτε επίσης να καταναλώσετε μοντέλα που είναι κατασκευασμένα σε Εκμάθηση μηχανής Microsoft Azure με τη δυνατότητα χρήσης δικού σας μοντέλου.

  1. Δημιουργία μιας εφαρμογής. Περισσότερες πληροφορίες: Δημιουργία κενής εφαρμογής καμβά από την αρχή.

  2. Επιλέξτε Δεδομένα>Προσθήκη δεδομένων>Μοντέλα ΑΙ.

    Στιγμιότυπο οθόνης του τρόπου επιλογής του μοντέλου σας.

  3. Επιλέξτε ένα ή περισσότερα μοντέλα για προσθήκη.

    Εάν το μοντέλο σας δεν εμφανίζεται στη λίστα, ενδεχομένως να μην έχετε δικαιώματα για να το χρησιμοποιήσετε στο Power Apps. Επικοινωνήστε με το διαχειριστή σας για να επιλύσετε αυτό το πρόβλημα.

Χρήση μοντέλου σε στοιχεία ελέγχου

Τώρα που προσθέσατε το μοντέλο AI στην εφαρμογή καμβά σας, δείτε πώς μπορείτε να ονομάσετε ένα μοντέλο AI Builder από ένα στοιχείο ελέγχου.

Στο παρακάτω παράδειγμα, θα δημιουργήσετε μια εφαρμογή που μπορεί να εντοπίσει τη γλώσσα που καταχωρεί ένας χρήστης στην εφαρμογή.

  1. Δημιουργία μιας εφαρμογής. Περισσότερες πληροφορίες: Δημιουργία κενής εφαρμογής καμβά από την αρχή.

  2. Επιλέξτε Δεδομένα>Προσθήκη δεδομένων>Μοντέλα ΑΙ.

  3. Αναζητήστε και επιλέξτε το μοντέλο AI εντοπισμού γλώσσας.

    Στιγμιότυπο οθόνης του μοντέλου εντοπισμού γλώσσας.

    Σημείωμα

    Θα πρέπει να προσθέσετε μη αυτόματα το μοντέλο στην εφαρμογή ξανά στο νέο περιβάλλον, μετά τη μετακίνηση της εφαρμογής σε περιβάλλοντα.

  4. Επιλέξτε + από το αριστερό τμήμα παραθύρου και μετά επιλέξτε το στοιχείο ελέγχου Εισαγωγή κειμένου.

  5. Επαναλάβετε το προηγούμενο βήμα για να προσθέσετε ένα στοιχείο ελέγχου Ετικέτα κειμένου.

  6. Μετονομάστε την ετικέτα κειμένου σε Γλώσσα.

  7. Προσθέστε μια άλλη ετικέτα κειμένου δίπλα στην ετικέτα "Γλώσσα".

    Στοιχεία ελέγχου εφαρμογής, συμπεριλαμβανομένου κειμένου και των δύο στοιχείων ελέγχου ετικέτας.

  8. Επιλέξτε την ετικέτα κειμένου που προστέθηκε στο προηγούμενο βήμα.

  9. Καταχωρίστε τον παρακάτω τύπο στη γραμμή τύπων για την ιδιότητα Κείμενο της ετικέτας κειμένου.

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

    Η ετικέτα αλλάζει στον κωδικό γλώσσας με βάση τις τοπικές ρυθμίσεις σας. Για αυτό το παράδειγμα, en (Αγγλικά).

    Ο τύπος γλώσσας αλλάζει το κείμενο ετικέτας.

  10. Κάντε προεπισκόπηση της εφαρμογής επιλέγοντας το κουμπί Αναπαραγωγή από την επάνω δεξιά γωνία της οθόνης.

    Προεπισκόπηση της εφαρμογής.

  11. Στο πλαίσιο κειμένου, πληκτρολογήστε bonjour. Σημειώστε ότι η γλώσσα για τη γαλλική γλώσσα (fr) εμφανίζεται κάτω από το πλαίσιο κειμένου.

    Παράδειγμα εντοπισμού γαλλικής γλώσσας.

  12. Παρόμοια, δοκιμάστε κείμενο σε άλλη γλώσσα. Για παράδειγμα, αν καταχωρίσετε guten tag αλλάζει η εντοπισμένη γλώσσα σε de για τη γερμανική γλώσσα.

Βέλτιστες πρακτικές

  • Δοκιμάστε να ενεργοποιήσετε την πρόβλεψη μοντέλου για συγκεκριμένες ενέργειες όπως OnClick χρησιμοποιώντας ένα κουμπί παρά την ενέργεια OnChange σε ένα κείμενο που εισάγεται για να διασφαλιστεί η αποτελεσματική χρήση πιστώσεων AI Builder.

  • Για να εξοικονομήσετε χρόνο και πόρους, αποθηκεύστε το αποτέλεσμα μιας κλήσης μοντέλου ώστε να μπορείτε να τη χρησιμοποιήσετε σε πολλές θέσεις. Μπορείτε να αποθηκεύσετε ένα αποτέλεσμα σε μια καθολική μεταβλητή. Αφού αποθηκεύσετε το αποτέλεσμα του μοντέλου, μπορείτε να χρησιμοποιήσετε τη γλώσσα αλλού στην εφαρμογή για να παρουσιάσετε την προσφώνησή της γλώσσας και τη βαθμολογία εμπιστοσύνης της σε δύο διαφορετικές ετικέτες.

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

Είσοδος και έξοδος κατά τύπο μοντέλου

Σε αυτήν την ενότητα παρέχονται οι εισροές και οι εκροές για προσαρμοσμένα και προκατασκευασμένα μοντέλα ανά τύπο μοντέλου.

Προσαρμοσμένα μοντέλα

Τύπος μοντέλου Σύνταξη Έξοδος
Ταξινόμηση κατηγοριών 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Εξαγωγή οντότητας '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, }]}
Εντοπισμός αντικειμένων 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Προκατασκευασμένα μοντέλα

Σημείωμα

Τα ονόματα των προδομημένων μοντέλων εμφανίζονται στις τοπικές ρυθμίσεις του περιβάλλοντός σας. Στα παρακάτω παραδείγματα εμφανίζονται τα ονόματα μοντέλων για την Αγγλική γλώσσα (en).

Τύπος μοντέλου Σύνταξη Έξοδος
Πρόγραμμα ανάγνωσης επαγγελματικών καρτών ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Ταξινόμηση κατηγοριών 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Πρόγραμμα ανάγνωσης εγγράφων ταυτότητας ‘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 }}}}}
Επεξεργασία τιμολογίου ‘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 } } } }[] } }}
Εξαγωγή φράσης κλειδιού 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Εντοπισμός γλώσσας 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Επεξεργασία αποδείξεων ‘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 } } } }[] } } }
Ανάλυση συναισθημάτων '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 } }[]}
Αναγνώριση κειμένου 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Μετάφραση κειμένου 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Παραδείγματα

Κάθε μοντέλο καλείται με χρήση του ρήματος πρόβλεψης. Για παράδειγμα, ένα μοντέλο εντοπισμού γλωσσών παίρνει το κείμενο ως εισαγωγή και επιστρέφει έναν πίνακα πιθανών γλωσσών, που είναι ταξινομημένος σύμφωνα με τη βαθμολογία αυτής της γλώσσας. Η βαθμολογία υποδεικνύει πόσο σίγουρο είναι το μοντέλο για την πρόβλεψη αυτού.

Δεδομένα εισόδου Έξοδος
'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 } } ] }