Benytte kunstig intelligens i Power Apps og Power Automate

På Microsoft Power Platform kan kunstig intelligens benyttes til flere ting som for eksempel å hjelpe deg å bygge applikasjoner og opprette automatiserte prosesser.
Ved å beskrive hva du trenger i et naturlig språk vil generativ kunstig intelligens opprette en database og en applikasjon for deg. Dette kan du benytte som et grunnlag for å jobbe videre med applikasjonen eller prosessen.
Men vel så spennende er muligheten for å benytte kunstig intelligens i applikasjoner du bygger.

Arild Aarnes

Publisert:

5. des. 2024

Power Platform AI Hub

Power Platform AI Hub er et dedikert område i Microsoft Power Platform og er en sentral plass for alle AI-funksjoner og ressurser.

AI hub gir enkel tilgang til både forhåndsbygde AI-modeller og konfigurerbare AI-modeller.

AI Hub
AI Hub

 

Det finnes blant annet ferdige modeller for å hente informasjon fra kvitteringer, fakturaer og legitimasjon.  

 

Ferdige AI modeller
Ferdige AI modeller

I tillegg finnes det også ferdige modeller for å trekke ut de mest relevante ordene og uttrykkene fra tekst, oversette mellom mer enn 90 språk, oppdage positivt, negativt eller nøytralt mening i tekstdata med mer.

Ferdige AI modeller
Ferdige AI modeller

Utover dette er det mulig å lage egne modeller når de ferdig bygde modellen ikke passer for din løsning.

AI Prompts har fått en egen seksjon i Power Apps maker portalen. Prompts kan bli brukt til å gi instruksjoner til generativ AI for å utføre operasjoner som f.eks. oppsummering av tekst/dokumenter, generere svar på e-post, generere synonymer, fjerne personopplysninger fra data osv. Her kan du lage dine helt egne prompt eller instruksjoner for å få det resultatet du ønsker. Dette gir oss nesten ubegrensede muligheter ved å benytte AI Prompts i Power Apps eller Power Automate flyter.

Lage egne AI modeller
Lage egne AI modeller

 

Power Apps eksempel

La oss se på et enkelt eksempel i en Power App for å registrere og kategorisere en klage til kundeservice. Vi vil bruke en AI-instruksjon for å automatisk kategorisere meldingen basert på hva brukeren skriver i meldingsfeltet.

Vi har opprettet et AI prompt under AI Prompts delen av Power Apps portalen. Instruksjonen ser slik ut:

Classify the input text into one of the input Categories, or 'unclear'. Analyze the key themes and context of the provided text and classify it into the most appropriate category from the list of categories. Take into consideration any subcategories, industry-specific terminology, and the possibility of ambiguous classification. If the text does not clearly fit into a single category, pick the closest category or label it as 'unclear'. Your answer may only have the exact text of the closest category. Do not explain and do not use categories not listed.

 

AI kategoriserings prompt
AI kategoriserings prompt

 

Når vi bruker instruksjonen så sender vi teksten vi ønsker kategorisert inn som ‘Input text’ og kategoriene vi ønsker å benytte som ‘input Categories’
Kunstig intelligens vil da velge en kategori for teksten vår, eller returnere ‘unclear’ hvis den ikke klarer å plassere teksten vår i noen av kategoriene.

I eksempelet i animasjonen nedenfor bruker vi disse kategoriene, "Kunder», «Internt», «Myndigheter», «Leverandør". Teksten som blir registrert er:

En kunde kontaktet kundeservice for å klage på at deres bestilling, som skulle ha blitt levert innen 3 virkedager, fortsatt ikke har ankommet etter 7 dager. Kunden uttrykte misnøye med forsinkelsen og mangelen på oppdateringer om leveringsstatus.

Dette blir av AI prompt automatisk plassert i Kunder kategorien.

Eksempel på automatisk kategorisering i en Power App
Eksempel på automatisk kategorisering i en Power App

 

Oppsummere tekst

Et annet eksempel for bruk av AI Prompts kan være for å oppsummere en tekst. En instruksjon kan da se slik ut:

Please summarize the given text in a way that is easy to understand for a general audience. Make sure to include all important information, including main ideas and important details, while keeping the order of the content logical. Remove any repetitive elements to make the summary as concise as possible without losing the original text's integrity. If the original text is too short to condense, present it as the summary.

Always respond in the same language as the user asks the question

 

‘text’ er da teksten vi ønsker oppsummert.  Den siste linjen av instruksjoner ‘Always respond in the same language as the user asks the question’ gjør at instruksjonen vil returnere norsk hvis du spør på norsk og engelsk hvis du spør på engelsk og for så vidt svare på hvilket som helst språk du spør på.

Og som eksempelet på bilde nedenfor viser så vil den oppsummere et eksempel på en klage som denne:

Kjære kundeservice,

Jeg skriver til dere for å uttrykke min dype misnøye med min siste bestilling hos deres selskap. Jeg har vært en lojal kunde i flere år, men denne opplevelsen har virkelig satt min tålmodighet på prøve.

For det første, bestilte jeg en vare som skulle leveres innen 3 virkedager. Til min store skuffelse tok det over en uke før jeg mottok pakken. Jeg mottok ingen oppdateringer underveis, og måtte selv kontakte kundeservice flere ganger for å få informasjon om statusen på leveringen. Dette er helt uakseptabelt, spesielt når jeg betalte ekstra for rask levering.

Når pakken endelig kom, oppdaget jeg at produktet var skadet. Emballasjen var revet opp, og selve varen hadde tydelige merker og riper. Jeg forventer at produkter fra deres selskap skal være av høy kvalitet, og dette var langt fra det jeg hadde håpet på. Jeg måtte igjen kontakte kundeservice for å rapportere skaden, og ble møtt med en lang ventetid og lite hjelpsomme svar.

Som om ikke dette var nok, oppdaget jeg også at jeg hadde blitt fakturert feil. Beløpet på fakturaen var høyere enn det som var avtalt ved kjøpet. Dette er en alvorlig feil som jeg forventer blir rettet opp umiddelbart. Jeg har allerede sendt inn en klage om dette, men har ennå ikke mottatt noen bekreftelse eller oppdatering.

Jeg er svært skuffet over hvordan denne situasjonen har blitt håndtert. Jeg forventer at dere tar disse problemene på alvor og gir meg en tilfredsstillende løsning så snart som mulig. Jeg ser frem til å høre fra dere og håper at dere kan gjenopprette min tillit til deres selskap.

Med vennlig hilsen,

 

Dette blir oppsummert til:

 

En misfornøyd kunde skriver til kundeservice angående en dårlig opplevelse med en nylig bestilling.
 Kunden klaget over forsinket levering uten oppdateringer, skadet produkt ved ankomst, feil fakturering og dårlig kundeservice.
Kunden forventer rask løsning og gjenopprettelse av tillit til selskapet.

Eksempel på oppsummering prompt
Eksempel på oppsummering prompt

Slike prompt er enkel å opprette og enkle å bruke i Power Apps og i Power Automate flyter. I eksempelet vi brukte i animasjon tidligere for å automatisk kategorisere tekst har vi lagt til et AI Prompt i canvas appen. Dette legges til som en vanlig datakilde eller kobling i en Power App.

AI Prompt som datakilde
AI Prompt som datakilde

 

Da kan vi bruke AI Prompt i en Canvas app med en slik formel:

'Incident Reporting Categorizing'.Predict(“Komma separert liste med kategorier”, “teksten du ønsker kategorisert»)

Dette vil returnere kategorien Kunder i vårt tilfelle.

Når man oppretter et AI prompt kan man per nå velge mellom to GPT modeller, GPT 4o mini eller GPT 4o.

Velg GPT modell
Velg GPT modell

 

Hvilken modell man bør velge avhenger av hva AI prompt skal utføre. De eksemplene vi har brukt her er enkle instruksjoner som normalt fungere helt fint med GPT 4o mini. Det å bruke AI prompts bruker såkalte AI Builder credits og har en kost, se avsnitt lengre ned for lisens og kost. Generelt er det 20 ganger dyrere å bruke modell GPT 4o i stedet for GPT 40 mini. Så her bør man tenke over hva som er nødvendig.

Det er også mulig å koble til egne data fra Power Platforms egen database Dataverse. Dette gir spennende muligheter for å bruke generativ AI på egne data.

Dette var bare et par enkel eksempler på å benytte AI Prompts i Power Apps. Det ligger uante muligheter her for å hjelpe oss til å lage mer brukervennlige, smarte applikasjoner og automatiserte prosesser.

 

Lisens og kostnader

Det å bruke AI builder prompts bruker av såkalte AI Builder credits. Det følger med litt AI builder credits i andre lisenser, f.eks. er det inkludert 500 AI builder credits for hver Power Apps premium lisens man har, mens Power Automate lisenser gir 5000AI builder credits.
Når dette ikke er nok kan man kjøpe AI builder credits i «pakker» a 1 million credits.

For AI prompt er prisingen når denne artikkelen skrives desember 2024 slik at bruk av et prompt med GPT 4o mini med ca 700 ord inn og ca 700 ord ut vil forbruke 4 AI builder credits eller ca $0.002
Samme bruk av et prompt som bruker GPT 4o vil koste 80 AI builder credits eller $0.04, altså nøyaktig 20 ganger så mye.

Lisensiering og prising kan være krevende å finne utav, men er stort sett bra beskrevet i et større dokument fra Microsoft, Power Platform Licensing Guide.

https://go.microsoft.com/fwlink/?linkid=2085130

 

Multimodale

En av nyheten som nå er i preview er multimodale muligheter i AI prompts. Det betyr at vi kan håndtere ulike datatyper som tekst, dokumenter og bilder direkte innenfor en enkelt naturlig språkinstruksjon. Dette gir oss blant annet muligheter for å finne informasjon i PDF filer, tolke og eventuelt kategorisere innhold i bilder osv.

Generative Actions

I nær fremtid får vi også tilgang til Generative Actions for Power Automate. Dette gjør det mulig å bruke AI for å automatisere prosesser på en helt annen måte enn i dag. En Generativ Action kan for eksempel brukes for å automatiser en godkjenningsprosess basert på innhold i en innkommende epost og sammenstille dette med firmaets prosedyrer, alt i en handling beskrevet i et naturlig språk.

Generative Actions
Generative Actions

Konklusjon

AI-prompt er et av de enkleste og samtidig kraftigste verktøyene vi har for å utnytte kunstig intelligens i Power Apps og Power Automate Det gir oss store muligheter for å strukturere ustrukturert informasjon i fra for eksempel e-poster, dokumenter, webskjema osv. Det lar oss automatisk kategorisere informasjon, fjerne personlig data som personnummer, adresser, telefonnummer osv. fra data, blant annet. Det er neste bare fantasien som setter grenser for hvilke muligheter som åpner seg her når vi bygger applikasjoner eller automatiserer prosesser. Og siden dette er en lavkode plattform så gjør vi alt dette uten en å skrive en eneste kodelinje, bare instruksjoner skrevet i et naturlig språk.

Arild Aarnes
Enhetsleder