Používanie modelov nástroja AI Builder v službe Power Apps
Pomocou Power Fx, vzorcov nízkokódové s otvoreným zdrojom, môžete do Power App pridať výkonnejšie a flexibilnejšie integrácie modelov AI. Vzorce modelu AI predikcia je možné integrovať s akýmikoľvek ovládacími prvkami v aplikácii canvas. Môžete napríklad zistiť jazyk textu v ovládacom prvku zadávania textu a výsledky odoslať do ovládacieho prvku označenia, ako je uvedené v časti Použiť model s ovládacími prvkami nižšie.
Požiadavky
Ak chcete použiť Power Fx v AI Builder modeloch, musíte mať:
Prístup do Microsoft Power Platform prostredia s databázou.
AI Builder licenciu (skúšobnú alebo platenú). Ak sa chcete dozvedieť viac, prejdite na AI Builder licencovanie.
Vyberte model v aplikáciách plátna
Ak chcete použiť model AI s Power Fx, budete musieť vytvoriť aplikáciu plátna, vybrať ovládací prvok a priradiť výrazy k vlastnostiam ovládacieho prvku.
Poznámka
Zoznam AI Builder modelov, ktoré môžete používať, nájdete v časti Modely AI a obchodné scenáre. Môžete tiež používať modely vstavané v Microsoft Azure strojové učenie s funkciou prineste si vlastný model .
Vytvorenie aplikácie. Ďalšie informácie: Vytvorte prázdnu aplikáciu na plátne od začiatku.
Vyberte Údaje>Pridať údaje>Modely AI.
Vyberte jeden alebo viac modelov, ktoré chcete pridať.
Ak svoj model nevidíte v zozname, možno nemáte povolenia na jeho použitie v Power Apps. Ak chcete tento problém vyriešiť, kontaktujte svojho správcu.
Použite model s ovládacími prvkami
Teraz, keď ste do svojej aplikácie na plátne pridali model AI, pozrime sa, ako zavolať AI Builder model z ovládacieho prvku.
V nasledujúcom príklade vytvoríme aplikáciu, ktorá dokáže zistiť jazyk zadaný používateľom v aplikácii.
Vytvorenie aplikácie. Ďalšie informácie: Vytvorte prázdnu aplikáciu na plátne od začiatku.
Vyberte Údaje>Pridať údaje>Modely AI.
Vyhľadajte a vyberte Detekcia jazyka model AI.
Poznámka
Pri presúvaní aplikácie medzi prostrediami budete musieť v novom prostredí znova ručne pridať model do aplikácie.
Vyberte + v ľavom paneli a potom vyberte Ovládanie zadávania textu .
Opakujte predchádzajúce krok a pridajte ovládací prvok Textový štítok .
Premenujte textový štítok na Jazyk.
Pridajte ďalší textový štítok vedľa štítku „Jazyk“.
Vyberte textový štítok pridaný v predchádzajúcom krok.
Do riadka vzorcov zadajte nasledujúci vzorec pre vlastnosť Text textového označenia.
'Language detection'.Predict(TextInput1.Text).Language
Označenie sa zmení na kód jazyka na základe vášho miestneho nastavenia. Pre tento príklad en (angličtina).
Verzia Preview aplikáciu výberom tlačidla Prehrať v pravom hornom rohu obrazovky.
Do textového poľa zadajte
bonjour
. Všimnite si, že jazyk pre francúzštinu (fr) sa zobrazuje pod textovým poľom.Podobne skúste text v inom jazyku. Napríklad zadaním
guten tag
sa zistený jazyk zmení na de pre nemecký jazyk.
Osvedčené postupy
Skúste spustiť model predikcia z jednotlivých akcií, ako napríklad OnClick pomocou tlačidla namiesto akcie OnChange v texte vstup na zabezpečenie efektívneho využívania AI Builder kreditov.
Ak chcete ušetriť čas a zdroje, uložte si výsledok modelového volania, aby ste ho mohli použiť na viacerých miestach. Výstup môžete uložiť do globálnej premennej. Po uložení výsledku modelu môžete použiť jazyk inde vo svojej aplikácii na zobrazenie identifikovaného jazyka a jeho skóre spoľahlivosti v dvoch rôznych štítkoch.
Set(lang, 'Language detection'.Predict("bonjour").Language)
Vstup a výstup podľa typu modelu
Táto časť poskytuje vstupy a výstupy pre vlastné a vopred zostavené modely podľa typu modelu.
Vlastné modely
Typ modelu | Syntax | Výstup |
---|---|---|
Klasifikácia kategórií | 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) |
{AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}} |
Extrakcia entity | '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, }]} |
Rozpoznávanie objektov | 'Custom object detection model name'.Predict(Image: Image) |
{ Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]} |
Vopred zostavené modely
Poznámka
Názvy vopred zostavených modelov sú zobrazené v lokálnom nastavení vášho prostredia. Nasledujúce príklady zobrazujú názvy modelov pre anglický jazyk (en).
Typ modelu | Syntax | Výstup |
---|---|---|
Čítačka vizitiek | ‘Business card reader’.Predict( Document: Base64 encoded image ) |
{ Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}} |
Klasifikácia kategórií | 'Category classification'.Predict( Text: String,Language?: Optional String, ) |
{ AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }} |
Čítačka dokladov totožnosti | ‘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 }}}}} |
Spracovanie faktúry | ‘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 } } } }[] } }} |
Extrakcia kľúčových fráz | 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) |
{ Phrases: String[]} |
Zisťovanie jazyka | 'Language Detection'.Predict(Text: String) |
{ Language: String, Confidence: Number} |
Spracovanie potvrdenia | ‘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 } } } }[] } } } |
Analýza pocitov | '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 } }[]} |
Rozpoznávanie textu | 'Text recognition'.Predict( Document: Base64 encoded image) |
{Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]} |
Preklad textu | 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) |
{ Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} } |
Príklady
Každý model je vyvolaný pomocou predpovedacieho slovesa. Napríklad model detekcie jazyka berie text ako vstup a vracia tabuľku možných jazykov zoradených podľa skóre daného jazyka. Skóre ukazuje, ako sebavedomý je model s predikcia.
Vstup | Výstup |
---|---|
'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 } } ] } |