Del via


Bruk AI Builder-modell i Power Apps

Ved hjelp av Power Fx, åpen kildekode med lavkodeformer, kan du legge til kraftigere og mer fleksible integreringer av modeller for kunstig intelligens i Power App. Prediksjonsformler for modeller for kunstig intelligens kan integreres med alle kontroller i lerretsappen. Du kan for eksempel registrere tekstspråket i en tekstinnskrivingskontroll og sende resultatene til en etikettkontroll, som du kan se i delen Bruk en modell med kontroller nedenfor.

Forutsetninger

Hvis du vil bruke Power Fx i AI Builder-modeller, må du ha:

Velg en modell i lerretsapper

Hvis du vil bruke en modell for kunstig intelligens med Power Fx, må du opprette en lerretsapp, velge en kontroll og tilordne uttrykk til kontrollegenskaper.

Merk

Hvis du vil se en liste over AI Builder-modeller du kan bruke, kan du se Modeller for kunstig intelligens og forretningsscenarioer. Du kan også konsumere modeller som er innebygd i Microsoft Azure Machine Learning med funksjonen ta med din egen modell.

  1. Opprett en app. Mer informasjon: Opprette en tom lerretsapp fra grunnen av.

  2. Velg Data>Legg til data>AI-modeller.

    Skjermbilde av hvordan du velger modell.

  3. Velge én eller flere modeller å legge til.

    Hvis du ikke ser modellen i listen, har du kanskje ikke tillatelse til å bruke den i Power Apps. Kontakt administrator for å løse dette problemet.

Bruke en modell med kontroller

Nå som du har lagt til modellen for kunstig intelligens i lerretsappen, kan du se hvordan du kaller en AI Builder-modell fra en kontroll.

I eksemplet nedenfor skal vi bygge en app som kan registrere språket som er angitt av en bruker i appen.

  1. Opprett en app. Mer informasjon: Opprette en tom lerretsapp fra grunnen av.

  2. Velg Data>Legg til data>AI-modeller.

  3. Søk etter, og velg modellen for kunstig intelligens Språkgjenkjenning.

    Skjermbilde av språkgjenkjenningsmodell.

    Merk

    Du må manuelt legge til modellen i appen igjen i det nye miljøet når du flytter appen mellom miljøer.

  4. Velg + fra den venstre ruten og velg Tekstinndata-kontrollen.

  5. Gjenta det forrige trinnet for å legge til en Tekstetikett-kontroll.

  6. Endre navnet på tekstetiketten til Språk.

  7. Legg til en ny tekstetikett ved siden av Språk-etiketten.

    Appkontroller, inkludert tekst og begge etikettkontrollene.

  8. Velg tekstetiketten som er lagt til i forrige trinn.

  9. Angi følgende formel på formellinjen for tekstetikettens Tekst-egenskap.

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

    Etiketten endres til språkkoden basert på nasjonal innstilling. For dette eksemplet en (engelsk).

    Språkformel endrer etiketteksten.

  10. Forhåndsvis appen ved å velge Spill av-knappen øverst til høyre på skjermen.

    Forhåndsvis av appen.

  11. Skriv inn bonjour i tekstboksen. Legg merke til at språket for fransk (fr) vises under tekstboksen.

    Eksempel på fransk språkgjenkjenning.

  12. Prøv på samme måte en annen språktekst. Du kan for eksempel angi guten tag-endringer i det registrerte språket i de for tysk.

Beste fremgangsmåter

  • Prøv å utløse modellprediksjon fra entallshandlinger, for eksempel OnClick, ved å bruke en knapp i stedet for OnChange-handlingen på en tekstinnskriving for å sikre effektiv bruk av AI Builder-kreditter.

  • Hvis du vil spare tid og ressurser, lagrer du resultatet av et modellkall, slik at du kan bruke det flere steder. Du kan lagre en utdata i en global variabel. Etter at du har lagret modellresultatet, kan du bruke språket andre steder i appen til å vise det identifiserte språket og konfidenspoengsummen i to forskjellige etiketter.

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

Inndata og utdata etter modelltype

Denne delen inneholder inndata og utganger for egendefinerte og forhåndsbygde modeller etter modelltype.

Egendefinerte modeller

Modelltype Syntaks Utdata
Kategoriklassifisering 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Enhetsuttrekking '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, }]}
Objektgjenkjenning 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Forhåndsbygde modeller

Merk

Forhåndsbygde modellnavn vises i miljøets nasjonale innstilling. Eksemplene nedenfor viser modellnavnene for engelsk (en).

Modelltype Syntaks Utdata
Visittkortleser ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Kategoriklassifisering 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Identitetsdokumentleser ‘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 }}}}}
Fakturabehandling ‘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 } } } }[] } }}
Uttrekking av nøkkeluttrykk 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Språkregistrering 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Behandling av kvitteringer ‘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 } } } }[] } } }
Sentimentanalyse '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 } }[]}
Tekstgjenkjenning 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Tekstoversettelse 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Eksempler

Hver modell startes ved hjelp av prediksjonsverbet. En språkgjenkjenningsmodell tar for eksempel tekst som inndata og returnerer en tabell over mulige språk, sortert etter dette språkets poengsum. Poengsummen indikerer hvor trygg modellen er med prediksjonen.

Inndata Utdata
'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 } } ] }