Læs på engelsk

Del via


Bruge AI Builder-modeller i Power Apps

Med brugen af Power Fx, formlerne med åben kildekode og lav kode, kan du tilføje mere effektive og fleksible integrationer af AI-modeller i din Power App. Formler for AI-modellen til forudsigelse kan integreres med alle kontrolelementer i en lærredapp. Du kan f.eks. registrere sproget for tekst i et tekstinputkontrolelement og udskrive resultaterne til et etiketkontrolelement, som det kan ses i afsnittet Bruge en model med kontrolelementer nedenfor.

Krav

For at kunne bruge Power Fx i AI Builder-modeller, skal du have:

Vælg en model i lærredsapps

Hvis du vil bruge en AI-model med Power Fx, skal du oprette en lærredapp, vælge et kontrolelement og tildele udtryk for at styre egenskaber.

Bemærk

Du kan se en liste over AI Builder-modeller, du kan forbruge, ved at gå til AI-modeller og forretningsscenarier. Du kan også bruge indbyggede modeller i Microsoft Azure Machine Learning med funktionen Bring Your Own Model.

  1. Opret en app. Flere oplysninger: Oprette en tom lærredapp fra bunden.

  2. Vælg Data>Tilføj data>AI-modeller.

    Skærmbillede af, hvordan du vælger din model.

  3. Vælg en eller flere modeller, der skal tilføjes.

    Hvis du ikke kan se modellen på listen, har du muligvis ikke tilladelse til at bruge den i Power Apps. Kontakt administratoren for at få løse dette problem.

Brug en model med kontrolelementer

Nu, hvor du har føjet AI-modellen til din lærredapp, kan du se, hvordan du kalder en AI Builder-model fra et kontrolelement.

I følgende eksempel bygger vi en app, der kan registrere det sprog, en bruger har angivet i appen.

  1. Opret en app. Flere oplysninger: Oprette en tom lærredapp fra bunden.

  2. Vælg Data>Tilføj data>AI-modeller.

  3. Søg efter og vælg AI-modellen Sprogregistrering.

    Skærmbillede af modellen til registrering af sprog.

    Bemærk

    Du skal manuelt føje modellen til appen igen i det nye miljø, når du har flyttet app på tværs af miljøer.

  4. I venstre rude skal du vælge + og derefter kontrolelementet Tekstinput.

  5. Gentag det forrige trin for at tilføje et kontrolelement af typen Tekstetiket.

  6. Omdøb tekstetiketten til Sprog.

  7. Tilføj en anden tekstetiket ud for etiketten "Sprog".

    Appkontrolelementer, herunder tekst og begge etiketkontrolelementer.

  8. Vælg den tekstetiket, der er tilføjet i forrige trin.

  9. Angiv følgende formel i formellinjen for tekstetikettens egenskab Tekst.

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

    Etiketten ændres til den sprogkode, der er baseret på din landestandard. I dette eksempel er det en (engelsk).

    Sprogformlen ændrer etiketteksten.

  10. Gennemse appen ved at vælge knappen Afspil i øverste højre hjørne af skærmen.

    Se et eksempel på appen.

  11. Angiv bonjour i tekstfeltet. Bemærk, at sproget for det franske sprog (fr) vises under tekstfeltet.

    Eksempel på registrering af fransk sprog.

  12. På samme måde kan du prøve en anden sprogtekst. Hvis du f.eks. skriver guten tag, ændres det registrerede sprog til de for det tyske sprog.

Bedste praksis

  • Prøv at udløse modelforudsigelse fra entalshandlinger, f.eks. OnClick, ved hjælp af en knap i stedet for handlingen OnChange for et tekstinput for at sikre en effektiv brug af AI Builder-kreditter.

  • Du kan spare tid og ressourcer ved at gemme resultatet af et modelopkald, så du kan bruge det flere steder. Du kan gemme et output i en global variabel. Når du har gemt modellens resultat, kan du bruge sproget andre steder i appen, f.eks. til at vise det identificerede sprog og dens konfidensscore i to forskellige etiketter.

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

Input og output efter modeltype

Dette afsnit indeholder input og output til brugerdefinerede og forudindstillede modeller efter modeltype.

Brugerdefinerede modeller

Modeltype Syntaks Output
Kategoriklassifikation 'Custom text classification model name'.Predict(Text: String, Language?: Optional String) {AllClasses: {Name: String, Confidence: Number}[],TopClass: {Name: String,Confidence: Number}}
Udtrækning af objekt '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, }]}
Objektregistrering 'Custom object detection model name'.Predict(Image: Image) { Objects: { Name: String, Confidence: Number, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }}[]}

Færdigbyggede modeller

Bemærk

Forudbyggede modelnavne vises i landestandarden for dit miljø. I følgende eksempler vises modelnavnene for engelsk (en).

Modeltype Syntaks Output
Visitkortlæser ‘Business card reader’.Predict( Document: Base64 encoded image ) { Fields: { FieldName: { FieldType: "text", Value: { Text: String, BoundingBox: { Top: Number, Left: Number, Height: Number, Width: Number }}}}}
Kategoriklassifikation 'Category classification'.Predict( Text: String,Language?: Optional String, ) { AllClasses: { Name: String, Confidence: Number }[], TopClass: { Name: String, Confidence: Number }}
Læser til identitetsdokument ‘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 } } } }[] } }}
Udtrækning af nøgleudtryk 'Key phrase extraction'.Predict(Text: String, Language?: Optional String)) { Phrases: String[]}
Sprogregistrering 'Language Detection'.Predict(Text: String) { Language: String, Confidence: Number}
Behandling af kvittering ‘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 } } } }[] } } }
Synspunktsanalyse '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 } }[]}
Tekstbesked 'Text recognition'.Predict( Document: Base64 encoded image) {Pages: {Page: Number,Lines: { Text: String, BoundingBox: { Left: Number, Top: Number, Width: Number, Height: Number }, Confidence: Number }[] }[]}
Tekstoversættelse 'Text translation'.Predict( Text: String, TranslateTo?: String, TranslateFrom?: String) { Text: String, // Translated text DetectedLanguage?: String, DetectedLanguageConfidence: Number} }

Eksempler

Alle modeller aktiveres ved hjælp af forudsigelsesverbet. En model til registrering af sprog tager f.eks. tekst som et input og returnerer en tabel over mulige sprog, sorteret efter det pågældende sprogs resultat. Resultatet indikerer, hvor selvsikker modellen er med sin forudsigelse.

Input Output
'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 } } ] }