Utilizarea modelelor AI Builder în Power Apps
Cu ajutorul Power Fx formulelor open-source low-code, puteți adăuga integrări mai puternice și mai flexibile ale modelelor AI în Power App. Formulele predicție model AI pot fi integrate cu orice controale din aplicația pânză. De exemplu, puteți detecta limba textului într-un control de introducere a textului și puteți trimite rezultatele într-un control de etichetă, după cum se poate vedea în secțiunea Utilizarea unui 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 încercare sau plătită). Pentru a afla mai multe, accesați AI Builder secțiunea Licențiere.
Selectați un model în aplicațiile proiectate pe pânză
Pentru a consuma un model AI, va trebui să creați o aplicație proiectată pe Power Fx pânză, să alegeți un control și să atribuiți expresii proprietăților de control.
Notă
Pentru o listă de modele pe care le puteți consuma, consultați AI Builder Modele AI și scenarii deafaceri. De asemenea, puteți consuma modele încorporate Microsoft Azure învățare programată cu funcția bring your own model .
Creați o aplicație. Informații suplimentare: Creați o aplicație pânză goală 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 în listă, este posibil să nu aveți permisiuni pentru a-l utiliza Power Apps. Contactați administratorul pentru a rezolva această problemă.
Utilizarea unui model cu comenzi
Acum că ați adăugat modelul AI la aplicația proiectată pe pânză, să vedem cum să apelați un AI Builder model dintr-un control.
În exemplul următor, vom crea o aplicație care poate detecta limba introdusă de un utilizator în aplicație.
Creați o aplicație. Informații suplimentare: Creați o aplicație pânză goală de la zero.
Selectați Date>Adăugați>date modele AI.
Căutați și selectați modelul AI de detectare a limbii .
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 Control introducere text.
Repetați pasul anterior pentru a adăuga un control Etichetă text.
Redenumiți eticheta text în Limbă.
Adăugați o altă etichetă text lângă eticheta "Limbă".
Selectați eticheta text adăugată la pasul anterior.
Introduceți următoarea formulă în bara de formule pentru proprietatea Text a etichetei text.
'Language detection'.Predict(TextInput1.Text).Language
Eticheta se schimbă în codul de limbă în funcție de setările regionale. Pentru acest exemplu,en (English).
Previzualizați aplicația selectând butonul Redare 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 textul în altă limbă. De exemplu, introducerea
guten tag
schimbă limba detectată în de pentru limba germană.
Cele mai bune practici
Încercați să declanșați predicție modelului din acțiuni singulare, cum ar fi OnClick , utilizând un buton, mai degrabă decât acțiunea OnChange pe o intrare de text, 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 folosi limba în altă parte a aplicației pentru a afișa limba identificată și scorul său de încredere în două etichete diferite.
Set(lang, 'Language detection'.Predict("bonjour").Language)
Intrări și ieșiri în funcție de tipul modelului
Această secțiune oferă intrări și ieșiri pentru modele personalizate și prefabricate în funcție de tipul de model.
Modele particularizate
Tip 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 entităților | '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).
Tip 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 }[] }[]} |
Traducerea textului | '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 cu 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 } } ] } |
Consultați și
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru