Upotreba modela alata AI Builder u usluzi Power Apps
Korištenjem Power Fx formula low-code otvorenog koda možete dodati snažnije i fleksibilnije integracije AI modela u svoj Power App. Formule za predviđanje modela umjetne inteligencije mogu se integrirati s bilo kojim kontrolama u aplikaciji radnog područja. Na primjer, možete otkriti jezik teksta u kontroli unosa teksta i prikazati rezultate u kontrolu oznake kao što se može vidjeti u odjeljku Korištenje modela s kontrolama u nastavku.
Da biste koristili Power Fx u AI Builder modelima, morate imati:
Pristup Microsoft Power Platform okruženju s bazom podataka.
AI Builder licenca (probna ili plaćena). Da biste saznali više, idite na AI Builder licenciranje.
Da biste koristili model Power Fx umjetne inteligencije, morat ćete stvoriti aplikaciju radnog područja, odabrati kontrolu i dodijeliti izraze svojstvima kontrole.
Napomena
Popis AI Builder modela koje možete koristiti potražite u članku Modeli umjetne inteligencije i poslovni scenariji. Također možete koristiti modele ugrađene u Microsoft Azure Strojno učenje sa značajkom Donesite vlastiti model .
Izradite aplikaciju. Dodatne informacije: Stvorite praznu aplikaciju radnog područja ispočetka.
Odaberite Podaci Dodavanje podataka>AI modela>.
Odaberite jedan ili više modela koje želite dodati.
Ako ne vidite svoj model na popisu, možda nemate dozvole za njegovu upotrebu Power Apps. Obratite se administratoru da biste riješili taj problem.
Sada kada ste dodali model umjetne inteligencije u aplikaciju radnog područja, pogledajmo kako pozvati AI Builder model iz kontrole.
U sljedećem primjeru izradit ćemo aplikaciju koja može otkriti jezik koji je korisnik unio u aplikaciju.
Izradite aplikaciju. Dodatne informacije: Stvorite praznu aplikaciju radnog područja ispočetka.
Odaberite Podaci Dodavanje podataka>AI modela>.
Potražite i odaberite Model umjetne inteligencije za otkrivanje jezika.
Napomena
Morat ćete ručno ponovno dodati model u aplikaciju u novom okruženju nakon premještanja aplikacije u različita okruženja.
Odaberite + u lijevom oknu, a zatim odaberite Kontrola za unos teksta.
Ponovite prethodni korak da biste dodali kontrolu Tekstualna oznaka .
Preimenujte tekstualnu oznaku u Jezik.
Dodajte još jednu tekstualnu oznaku pokraj oznake "Jezik".
Odaberite tekstualnu oznaku dodanu u prethodnom koraku.
Unesite sljedeću formulu u traku formule za svojstvo tekstne oznake Tekst .
'Language detection'.Predict(TextInput1.Text).Language
Oznaka se mijenja u kôd jezika na temelju vaše regionalne sheme. Za ovaj primjer,hr (engleski).
Pretpregled aplikacije odabirom Gumb za reprodukciju u gornjem desnom kutu zaslona.
U tekstni okvir unesite
bonjour
. Primijetite da se jezik za francuski jezik (fr) pojavljuje ispod okvira za tekst.Slično tome, pokušajte s tekstom na drugom jeziku. Na primjer, unosom
guten tag
se otkriveni jezik mijenja u de za njemački jezik.
Pokušajte pokrenuti predviđanje modela iz pojedinačnih radnji kao što je OnClick pomoću gumba umjesto radnje OnChange na unosu teksta kako biste osigurali učinkovito korištenje AI Builder kredita.
Da biste uštedjeli vrijeme i resurse, spremite rezultat poziva modela da biste ga mogli koristiti na više mjesta. Izlaz možete spremiti u globalnu varijablu. Nakon što spremite rezultat modela, možete koristiti jezik na drugom mjestu u aplikaciji da biste prikazali identificirani jezik i njegovu ocjenu pouzdanosti u dvije različite oznake.
Set(lang, 'Language detection'.Predict("bonjour").Language)
Ovaj odjeljak pruža ulaze i izlaze za prilagođene i unaprijed izrađene modele prema vrsti modela.
Vrsta modela | Sintaksa | Izlaz |
---|---|---|
Klasifikacija po kategorijama | 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) |
{AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}} |
Izdvajanje entiteta | '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, }]} |
Prepoznavanje objekata | 'Custom object detection model name'.Predict(Image: Image) |
{ Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]} |
Napomena
Nazivi unaprijed izgrađenih modela prikazani su u lokalnoj postavci vašeg okruženja. Sljedeći primjeri pokazuju nazive modela za engleski jezik (en).
Vrsta modela | Sintaksa | Izlaz |
---|---|---|
Čitač posjetnica | ‘Business card reader’.Predict( Document: Base64 encoded image ) |
{ Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}} |
Klasifikacija po kategorijama | 'Category classification'.Predict( Text: String,Language?: Optional String, ) |
{ AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }} |
Čitač osobnih dokumenata | ‘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 }}}}} |
Obrada faktura | ‘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 } } } }[] } }} |
Izdvajanje ključnog izraza | 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) |
{ Phrases: String[]} |
Prepoznavanje jezika | 'Language Detection'.Predict(Text: String) |
{ Language: String, Confidence: Number} |
Obrada faktura | ‘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 } } } }[] } } } |
Analiza naklonosti | '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 } }[]} |
Prepoznavanje teksta | 'Text recognition'.Predict( Document: Base64 encoded image) |
{Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]} |
Prijevod teksta | 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) |
{ Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} } |
Svaki se model poziva pomoću glagola predict. Na primjer, model za otkrivanje jezika uzima tekst kao ulaz i vraća tablicu mogućih jezika poredanih prema rezultatu tog jezika. Rezultat pokazuje koliko je model samouvjeren sa svojim predviđanje.
Unos | Izlaz |
---|---|
'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 } } ] } |