AI Builder -mallien käyttäminen Power Appsissa

Voit lisätä tekoälymallien tehokkaampia ja joustavampia integraatioita Power App -sovellukseesi käyttämällä Power Fx:n, avoimen lähdekoodin vähäkoodisia kaavoja. Tekoälymallin ennustekaavat voidaan integroida mihin tahansa pohjaan perustuvan sovelluksen ohjausobjekteihin. Voit esimerkiksi tunnistaa tekstin kielen tekstinsyötteen ohjausobjekteissa ja tulostaa tulokset otsikko-ohjausobjektiin, niin kuin alla olevassa Mallin käyttäminen ohjausobjektien kanssa -osiossa on kuvattu.

Edellytykset

Käyttääksesi Power Fx:ää AI Builder -malleissa, sinulla tulee olla:

Mallin valitseminen pohjaan perustuvissa sovelluksissa

Jos haluat käyttää tekoälymallia Power Fx:n avulla, sinun on luotava pohjaan perustuva sovellus, valittava ohjausobjekti ja määritettävä lausekkeita ominaisuuksien hallintaa ohjaamiseksi.

Muistiinpano

Katso käytettävissäsi olevien AI Builder -mallien luettelo kohdasta Tekoälymallit ja liiketoimintaskenaariot. Voit myös kuluttaa Microsoft Azure -koneoppimisen sisäänrakennettuja malleja tuo oma malli -ominaisuudella.

  1. Sovelluksen luominen. Lisätietoja: Tyhjän pohjaan perustuvan sovelluksen luominen alusta alkaen.

  2. Valitse Tiedot>Tietojen lisääminen>Tekoälymallit.

    Näyttökuva mallin valitsemisesta.

  3. Valitse vähintään yksi lisättävä malli.

    Jos et näe mallia luettelossa, sinulla ei välttämättä ole oikeuksia käyttää sitä Power Appsissa. Ota yhteyttä järjestelmänvalvojaasi ratkaistaksesi tämän ongelman.

Mallin käyttäminen ohjausobjektien kanssa

Nyt kun olet lisännyt tekoälymallin pohjana perustuvaan sovellukseesi, katsomme seuraavaksi, miten AI Builder -mallia kutsutaan ohjausobjektista.

Seuraavassa esimerkissä luomme sovelluksen, joka voi tunnistaa käyttäjän sovellukseen syöttämän kielen.

  1. Sovelluksen luominen. Lisätietoja: Tyhjän pohjaan perustuvan sovelluksen luominen alusta alkaen.

  2. Valitse Tiedot>Tietojen lisääminen>Tekoälymallit.

  3. Hae ja valitse Kielen tunnistus -tekoälymalli.

    Näyttökuva kielentunnistusmallista.

    Muistiinpano

    Sinun täytyy lisätä malli uudelleen sovellukseen manuaalisesti uudessa ympäristössä, kun siirrät sovelluksen ympäristöstä toiseen.

  4. Valitse vasemmanpuoleisesta ruudusta + ja valitse sitten Tekstisyöte-ohjausobjekti.

  5. Toista edellinen vaihe lisätäksesi Tekstiotsikko-ohjausobjektin.

  6. Nimeä tekstiotsikko uudelleen nimellä Kieli.

  7. Lisää toinen tekstiotsikko "Kieli"-otsikon viereen.

    Sovelluksen ohjausobjektit, mukaan lukien teksti ja molemmat otsikko-ohjausobjektit.

  8. Valitse edellisessä vaiheessa lisätty tekstiotsikko.

  9. Syötä seuraava kaava kaavariville tekstiotsikon Teksti-ominaisuudelle.

    'Language detection'.Predict(TextInput1.Text).Language
    

    Otsikko muuttuu kielialueeseesi perustuvaan kielikoodiin. Tässä esimerkissä se on en (englanti).

    Kielen kaava muuttaa otsikon tekstiä.

  10. Esikatsele sovellusta valitsemalla Toista-painike näytön oikeasta yläkulmasta.

    Ota sovellus esikatseluun.

  11. Kirjoita tekstiruutuun bonjour. Huomaa, että ranskan kielen koodi (fr) ilmestyy tekstiruudun alapuolelle.

    Esimerkki ranskan kielen tunnistuksesta.

  12. Kokeile samalla tavalla muunkielistä tekstiä. Jos kirjoitat esimerkiksi guten tag, tunnistettu kieli muuttuu saksaksi, eli de.

Parhaat käytännöt

  • Kokeile käynnistää mallin ennuste yksittäisistä toiminnoista, kuten OnClick, käyttämällä painiketta tekstinsyötön OnChange-toiminnon sijaan, jotta AI Builder -krediittejä käytetään tehokkaasti.

  • Voit säästää aikaa ja resursseja tallentamalla mallipuhelun tuloksen, jotta voit käyttää sitä useissa paikoissa. Voit tallentaa tuloksen yleiseen muuttujaan. Kun olet tallentanut mallin tuloksen, voit käyttää kieltä muualla sovelluksessasi näyttääksesi tunnistetun kielen ja sen luotettavuuspisteet kahdessa eri otsikossa.

    Set(lang, 'Language detection'.Predict("bonjour").Language)
    

Syöttö ja tulos mallin tyypin mukaan

Tässä osassa on mukautettujen ja valmiiksi rakennettujen mallien tulot ja lähdöt mallityypeittäin.

Mukautetut mallit

Mallityyppi Syntaksi Tuloste
Luokan luokitus 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Entiteetin poiminta '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, }]}
Objektintunnistus 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Valmiit mallit

Muistiinpano

Valmiiden mallien nimet näytetään ympäristösi kielialueessa. Seuraavissa esimerkeissä näytetään mallien nimet englannille (en).

Mallityyppi Syntaksi Tuloste
Käyntikortinlukija ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Luokan luokitus 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Henkilöllisyysasiakirjojen lukija ‘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 }}}}}
Laskujen käsittely ‘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 } } } }[] } }}
Avainlauseen poiminta 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Kielen tunnistus 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Kuittien käsittely ‘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 } } } }[] } } }
Asenneanalyysi '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 } }[]}
Tekstin tunnistus 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Tekstin kääntäminen 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Esimerkkejä

Jokainen malli käynnistetään ennusta-verbin avulla. Esimerkiksi kielentunnistusmalli ottaa tekstin syötteenä ja palauttaa taulukon mahdollisista kielistä kyseisen kielen pistemäärän mukaan. Pisteet osoittavat, kuinka luottavainen malli on ennuste.

Syöte Tuloste
'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 } } ] }

Katso myös