Utilizarea modelelor AI Builder în Power Apps
Cu ajutorul Power Fx, formulele open source cu cod redus, puteți adăuga integrări mai puternice și mai flexibile ale modelelor AI în aplicația dvs. Power. Formulele modelului AI predicție pot fi integrate cu orice comenzi din aplicație creată pe planșă. De exemplu, puteți detecta limba textului într-un control de introducere a textului și puteți scoate rezultatele într-un control etichetă, așa cum se poate vedea în secțiunea Utilizați un model cu controale de mai jos.
Cerințe
Pentru a utiliza Power Fx în AI Builder modele, trebuie să aveți:
Acces la un Microsoft Power Platform mediu cu o bază de date.
AI Builder licență (de probă sau plătită). Pentru a afla mai multe, accesați AI Builder licențiere.
Selectați un model în aplicațiile planșă de lucru
Pentru a utiliza un model AI cu Power Fx, va trebui să creați un aplicație creată pe planșă, să alegeți un control și să atribuiți expresii proprietăților controlului.
Notă
Pentru o listă de AI Builder modele pe care le puteți consuma, consultați Modele AI și scenarii de afaceri. De asemenea, puteți utiliza modele încorporate în Microsoft Azure învățare programată cu funcția aduceți propriul model .
Creați o aplicație. Mai multe informații: Creați un aplicație creată pe planșă necompletat de la zero.
Selectați Date>Adăugați date>Modele AI.
Selectați unul sau mai multe modele de adăugat.
Dacă nu vedeți modelul dvs. în listă, este posibil să nu aveți permisiunea de a-l folosi în Power Apps. Contactați administratorul pentru a rezolva această problemă.
Utilizați un model cu comenzi
Acum că ați adăugat modelul AI la aplicație creată pe planșă dvs., să vedem cum să apelați un AI Builder model dintr-un control.
În exemplul următor, vom construi o aplicație care poate detecta limba introdusă de un utilizator în aplicație.
Creați o aplicație. Mai multe informații: Creați un aplicație creată pe planșă necompletat de la zero.
Selectați Date>Adăugați date>Modele AI.
Căutați și selectați Modelul de detectare a limbii AI.
Notă
Va trebui să adăugați manual modelul la aplicație din nou în noul mediu la mutarea aplicației în medii.
Selectați + din panoul din stânga, apoi selectați Introducere text control.
Repetați pas anterior pentru a adăuga un control Etichetă text .
Redenumiți eticheta textului în Limbă.
Adăugați o altă etichetă text lângă eticheta „Limbă”.
Selectați eticheta text adăugată în pas precedent.
Introduceți următoarea formulă în bara de formule pentru proprietatea Text a etichetei de text.
'Language detection'.Predict(TextInput1.Text).Language
Eticheta se schimbă în codul de limbă în funcție de localitatea dvs. Pentru acest exemplu, en (engleză).
Versiune preliminară aplicația selectând butonul Reda din colțul din dreapta sus al ecranului.
În caseta text, introduceți
bonjour
. Observați că limba pentru limba franceză (fr) apare sub caseta de text.În mod similar, încercați un text în altă limbă. De exemplu, introducerea
guten tag
se schimbă limba detectată în de pentru limba germană.
Cele mai bune practici
Încercați să declanșați modelul predicție din acțiuni singulare, cum ar fi OnClick folosirea unui buton în loc de acțiunea OnChange pe un text intrare pentru a asigura utilizarea eficientă a AI Builder creditelor.
Pentru a economisi timp și resurse, salvați rezultatul unui apel model, astfel încât să îl puteți utiliza în mai multe locuri. Puteți salva o ieșire într-o variabilă globală. După ce salvați rezultatul modelului, puteți utiliza limba în altă parte a aplicației pentru a afișa limba identificată și scor de încredere în două etichete diferite.
Set(lang, 'Language detection'.Predict("bonjour").Language)
Intrare și ieșire în funcție de tipul de model
Această secțiune oferă intrări și ieșiri pentru modele personalizate și prefabricate în funcție de tipul de model.
Modele particularizate
Tipul de model | Sintaxă | Ieșire |
---|---|---|
Clasificarea categoriilor | 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) |
{AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}} |
Extragerea de entități | '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, }]} |
Detectarea obiectelor | 'Custom object detection model name'.Predict(Image: Image) |
{ Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]} |
Modele prefabricate
Notă
Numele modelelor prefabricate sunt afișate în localitatea mediului dumneavoastră. Următoarele exemple arată numele modelului pentru limba engleză (en).
Tipul de model | Sintaxă | Ieșire |
---|---|---|
Cititor de cărți de vizită | ‘Business card reader’.Predict( Document: Base64 encoded image ) |
{ Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}} |
Clasificarea categoriilor | 'Category classification'.Predict( Text: String,Language?: Optional String, ) |
{ AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }} |
Cititor de documente de identitate | ‘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 }}}}} |
Procesarea facturilor | ‘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 } } } }[] } }} |
Extragerea expresiilor cheie | 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) |
{ Phrases: String[]} |
Detectarea limbii | 'Language Detection'.Predict(Text: String) |
{ Language: String, Confidence: Number} |
Procesarea chitanțelor | ‘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 } } } }[] } } } |
Analiză sentimente | '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 } }[]} |
Recunoașterea textului | 'Text recognition'.Predict( Document: Base64 encoded image) |
{Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]} |
Traducere de text | 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) |
{ Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} } |
Exemple
Fiecare model este invocat folosind verbul predict. De exemplu, un model de detectare a limbii ia text ca intrare și returnează un tabel de limbi posibile, ordonate după scorul limbii respective. Scorul indică cât de încrezător este modelul cu predicție.
Intrare | Ieșire |
---|---|
'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 } } ] } |