Čitajte na engleskom

Dijeli putem


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.

Preduvjeti

Da biste koristili Power Fx u AI Builder modelima, morate imati:

Odabir modela u aplikacijama radnog područja

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 .

  1. Izradite aplikaciju. Dodatne informacije: Stvorite praznu aplikaciju radnog područja ispočetka.

  2. Odaberite Podaci Dodavanje podataka>AI modela>.

    Snimka zaslona kako odabrati svoj model.

  3. 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.

Korištenje modela s kontrolama

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.

  1. Izradite aplikaciju. Dodatne informacije: Stvorite praznu aplikaciju radnog područja ispočetka.

  2. Odaberite Podaci Dodavanje podataka>AI modela>.

  3. Potražite i odaberite Model umjetne inteligencije za otkrivanje jezika.

    Snimka zaslona modela 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.

  4. Odaberite + u lijevom oknu, a zatim odaberite Kontrola za unos teksta.

  5. Ponovite prethodni korak da biste dodali kontrolu Tekstualna oznaka .

  6. Preimenujte tekstualnu oznaku u Jezik.

  7. Dodajte još jednu tekstualnu oznaku pokraj oznake "Jezik".

    Kontrole aplikacije uključujući tekst i obje kontrole oznaka.

  8. Odaberite tekstualnu oznaku dodanu u prethodnom koraku.

  9. 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).

    Formula jezika mijenja tekst oznake.

  10. Pretpregled aplikacije odabirom Gumb za reprodukciju u gornjem desnom kutu zaslona.

    Pretpregledajte aplikaciju.

  11. U tekstni okvir unesite bonjour. Primijetite da se jezik za francuski jezik (fr) pojavljuje ispod okvira za tekst.

    Primjer otkrivanja francuskog jezika.

  12. 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.

Najbolje prakse

  • 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)
    

Ulaz i izlaz prema vrsti modela

Ovaj odjeljak pruža ulaze i izlaze za prilagođene i unaprijed izrađene modele prema vrsti modela.

Prilagođeni modeli

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

Unaprijed izrađeni modeli

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

Primjeri

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