Bruke variabler

Viktig!

Power Virtual Agents-funksjoner er nå en del av Microsoft Copilot Studio etter betydelige investeringer i generativ kunstig intelligens og forbedrede integreringer på tvers av Microsoft Copilot.

Enkelte artikler og skjermbilder kan henvise til Power Virtual Agents når vi oppdaterer dokumentasjons- og opplæringsinnhold.

Du kan bruke variabler til å lagre kundesvar og bruke innholdet i dem på nytt senere i samtalen.

Du kan også bruke variabler til å lage logiske uttrykk som dynamisk ruter kunden gjennom forskjellige diskusjonsbaner. Du kan for eksempel lagre navnet på en kunde i en variabel kalt UserName, og kopiloten kan bruke kundenavnet når den henvender seg til kunden etter hvert som samtalen fortsetter.

Variabler kan også sendes til og returneres fra andre emner og Power Automate-flyter.

Variabler kan eksistere på tre nivåer eller områder:

  • Emnevariabler kan bare brukes i emnene de er opprettet i. Dette omfanget er standardområdet variabler du oppretter.
  • Globale variabler kan brukes i alle emner. Du kan endre omfanget for et emne for å gjøre den til en global variabel.
  • Systemvariabler opprettes automatisk med kopiloten. De gir mer kontekstavhengig informasjon om samtalen eller brukeren. De er tilgjengelige i alle emner.

Variabeltyper

En variabel er knyttet til en basistype. Typen fastsetter hvilke verdier variablene kan inneholde og operatorene du kan bruke når du konstruerer et logisk uttrykk med den.

Type Bekrivelse
String En sekvens med tegn som brukes til å representere tekst
Boolean En logisk verdi som bare kan være true eller false
Nummer Et reelt tall
Table En liste med verdier, men alle verdier må være av samme type
Spill inn En samling navneverdipar der verdier kan være av hvilken som helst type
Date/klokkeslett En dato, et klokkeslett, en ukedag eller en måned i forhold til et tidspunkt
Valg En liste over strengverdier som har tilknyttede synonymer
Tomt En plassholder for ingen verdi eller ukjent verdi. Hvis du vil ha mer informasjon, kan du se Tomme verdier i Power Fx

Variabelens type angis første gang en verdi tildeles til den. Etter det blir typen for variabelen fast, og den kan ikke tildeles verdier av andre typer. En variabel der startverdien er 1 tilordnes eksempelvis typen Tall. Hvis du prøver å tilordne den til Streng-verdi i "apples", fører dette til en feil.

Når du tester en kopilot, kan en variabel vises midlertidig som typen ukjent. En ukjent variabel er ikke tilordnet en verdi ennå.

Rekkefølgen på variablene fastsettes fra topp til nederst på redigeringslerretet. Det vil si at noder øverst i redigeringslerretet vurderes før noder nederst. Når du oppretter grener med betingelsesnoder, ordnes grener fra venstre mot høyre. Det vil si at noder i grenen lengst til venstre vurderes før noder i grenen lengst til høyre.

Enheter

Microsoft Copilot Studio bruker enheter til å identifisere en bestemt type informasjon i svarene fra en bruker. Den identifiserte informasjonen lagres i en variabel av typen som er riktig for informasjonen. Tabellen nedenfor viser variabelbasistypen som er tilknyttet forhåndsbygde enheter.

Entity Basistype for variabel
Flervalgsalternativer Valg
Brukerens hele svar String
Alder Nummer
Boolean Boolean
City String
Color String
Kontinent String
Land eller område String
Dato og klokkeslett Date/klokkeslett
Email String
Hendelser String
Integer Integer
Språk String
Money Nummer
Nummer Nummer
Ordenstall Nummer
Organisasjonen String
Prosentsats Nummer
Personnavn String
Telefonnummer String
Interessepunkt String
Hastighet Nummer
State String
Gateadresse String
Temperatur Nummer
URL String
Tykkelse Nummer
Postnummer String
Egendefinert entitet Valg

Opprett en variabel

Alle noder der du blir bedt om å velge en variabel som utdata, for eksempel som en spørsmål-node, oppretter automatisk en utdatavariabel av riktig type.

Skjermbilde av en spørsmålsnode med navnet og typen til standardvariabelen uthevet.

Velg en enhet du vil bruke

Spørsmålsnoder opprettes med flervalgsalternativer som standard. Hvis du vil bruke en annen forhåndsbygd eller egendefinert enhet, velger du Identifiser-boksen og typen informasjon kopiloten skal lytte etter.

Skjermbilde av en spørsmålsnode med Velg informasjon som skal identifiseres-menyen åpen og enheten Personnavn uthevet.

Gi nytt navn til en variabel

Variabler tildeles automatisk et navn når du oppretter dem. En anbefalt fremgangsmåte er å gi variablene meningsfulle navn for å gjøre hensikten klar for alle andre som må vedlikeholde kopiloten.

  1. Velg variabelen for å åpne den i ruten Variabelegenskaper.

  2. Angi et nytt navn på variabelen under Variabelnavn.

Angi en variabel

Vanligvis bruker du en Spørsmål-node til å lagre brukerinndata i en variabel. Det kan imidlertid oppstå situasjoner der du vil angi verdien selv. I slike tilfeller bruker du noden Angi variabelverdi.

  1. Velg Legg til node (+) for å legge til en node, og velg deretter Angi en variabelverdi.

  2. Velg boksen under Angi variabel, og velg Opprett en ny variabel.

    Skjermbilde av knappen Opprett en ny variabel.

    Det opprettes en ny variabel. Typen er ukjent før du tildeler en verdi til den.

    Skjermbilde av noden Angi variabelverdi med en ny variabel av ukjent type.

  3. For Til verdi tilordner du en verdie ved å bruke et av følgende alternativer:

    • Skriv inn en litteralverdi.
    • Velg en eksisterende variabel av samme type. Denne handlingen angir variabelen til samme verdi som variabelen du velger.
    • Bruke en Power Fx-formel. Power Fx-formler er nyttig for mer komplekse typer der litterale verdier ikke kan brukes, for eksempel tabell- og oppføringstyper.

Bruke litteralverdier

I stedet for å velge en variabelverdi kan du angi en litteralverdi i en hvilken som helst variabel.

Skjermbilde som viser bruken av en litteral verdi for en variabel med navnet productName.

Skjermbilde som viser en litteral verdi som inndata for en variabel i en omdirigeringsnode.

Noden prøver å tolke litterale verdier som en streng, et tall eller en boolsk type. 123 tolkes for eksempel som et tall. Hvis du vil at den skal tolkes som en strengverdi i stedet, kan du pakke inn verdien i doble anførselstegn, for eksempel "123".

For noen scenarioer, eller der du bruker mer komplekse typer, bruker du en Power Fx-formel til å angi en bestemt type.

Variabler-rute

I Variabler-ruten kan du vise alle variablene som er tilgjengelige i emnet, uavhengig av hvilke noder de er definert eller brukt i. For hver variabel kan du velge om den kan motta verdien fra andre emner, returnere verdien til andre emner eller begge deler. Du kan også velge en variabel for å redigere egenskapene i ruten Variabelegenskaper.

Hvis du vil åpne Variabler-ruten, velger du Variabler på menylinjen til emnet.

Skjermbilde av Variabler-ruten i redigeringslerretet Microsoft Copilot Studio med Variabler-knappen uthevet.

Ruten Egenskaper for variabel

I ruten Variabelegenskaper kan du gi nytt navn til en variabel, se hvor en variabel brukes, eller konvertere en variabel til en global variabel. Du kan imidlertid ikke konvertere den fra en global variabel tilbake til en emnevariabel. Du kan også velge om den kan motta verdier fra eller sende verdien til andre emner.

Hvis du vil åpne ruten Variabelegenskaper, velger du en variabel i Variabler-ruten. Du kan også åpne ruten Variabelegenskaper ved å velge en variabel i en hvilken som helst node.

Skjermbilde av ruten Egenskaper for variabel.

Systemvariabler

Hver kopilot kommer med innebygde systemvariabler som gir tilleggsinformasjon om en samtale.

Skjermbilde av systemvariabler i et kopilotemne.

Ikke alle systemvariabler vises i listen. Du må få tilgang til disse skjulte systemvariablene med en Power Fx-formel.

Hvis du vil bruke systemvariabler i en Power Fx-formel, må du legge til System. før variabelnavnet. Hvis du for eksempel vil ta med systemvariabelen User.DisplayName i en formel, må du henvise til den som System.User.DisplayName.

Navn Type Skjult Definisjon
Activity.Channel valgmulighet synlig Kanal-ID-en for gjeldende samtale
Activity.ChannelData alle skjult Et objekt som inneholder kanalspesifikt innhold
Activity.ChannelId string skjult Kanal-ID-en for gjeldende samtale, som en streng
Activity.From.Id string skjult Kanalspesifikk unik ID for avsenderen
Activity.From.Name string skjult Kanalspesifikt, brukervennlig navn på avsenderen
Activity.Name string synlig Navnet på hendelsen
Activity.Text string synlig Den siste meldingen sendt av brukeren
Activity.Type valgmulighet synlig Type aktivitet
Activity.TypeId string skjult Type aktivitet, som en streng
Activity.Value alle skjult Verdi med åpen ende
Bot.Name string synlig Navnet på kopiloten
Channel.DisplayName string skjult Viser navnet på kanalen
Conversation.Id string synlig Den unike ID-en for nåværende samtalen
LastActivity.Id string synlig ID-en for den forrige sendte aktiviteten
LastMessage.Id string synlig ID-en for den forrige meldingen sendt av brukeren
LastMessage.Text string synlig Den forrige meldingen sendt av brukeren
Recognizer.TriggerMessage.Id string synlig ID-en for brukermeldingen som utløste gjeldende emne
Recognizer.TriggerMessage.Text string synlig Brukermeldingen som utløste gjeldende emne
User.DisplayName string synlig Visningsnavnet til den påloggede brukeren

Send variabler mellom emner

Når du omdirigerer et emne til et annet, kan du sende verdiene for variablene mellom det opprinnelige emnet og målemnet. Det er spesielt nyttig å sende variabler mellom emner når et tidligere emne allerede har hentet inn informasjon som et senere emne trenger. Brukerne setter pris på at de slipper å svare på det samme spørsmålet igjen.

Motta verdier fra andre emner

Når et emne definerer en variabel (for eksempel i en Spørsmål-node), ber kopiloten brukeren om å fylle inn verdien for variabelen. Hvis kopiloten allerede har hentet verdien i et tidligere emne, er det ingen grunn til å stille spørsmålet på nytt. Du kan angi variabelen til Motta verdier fra andre emner i disse tilfellene. Når et annet emne omdirigeres til dette, kan det sende verdien for en variabel (eller en litteralverdi) til denne variabelen og hoppe over spørsmålet. Opplevelsen for sluttbrukeren som snakker med kopiloten, er sømløs.

I dette eksemplet skal vi bruke to emner, Hilsning og Snakk med kunde. Begge emnene ber om kundens navn. Hvis Hilsning-emnet kjører først, vil imidlertid Snakk med kunde-emnet hoppe over spørsmålet. I stedet bruker den verdien til variabelen som sendes fra Hilsning-emne.

Her er flyten i Snakk til kunde-emnet:

Skjermbilde av samtaleflyten for Snakk til kunde-emnet.

Som vist i ruten Test kopiloten, får brukeren spørsmålet «Hva skal jeg kalle deg?» hvis dette emnet utløses først. Den lagrer verdien i en strengvariabel kalt userName. Variabelen userName angis også slik at den får verdien fra andre emner. Emnet konkluderer med meldingen Jeg håper du får en fin dag, {userName}.

Her er flyten i Hilsning-emnet:

Skjermbilde av samtaleflyten for Hilsning-emnet.

Som vist i ruten Test kopiloten, får brukeren spørsmålet «Hva heter du?» hvis dette emnet utløses først. Den lagrer verdien i en strengvariabel kalt UserName. Emnet sender meldingen Hyggelig å hilse på deg, {UserName}. Deretter blir det videresendt til Snakk til kunde-emne, som sender meldingen Jeg håper du får en fin dag, {userName}. Vær imidlertid oppmerksom på at Snakk til kunde-emnet hoppet over spørsmålet om brukerens navn. I stedet bruker den verdien til variabelen UserName som sendes fra Hilsning-emne.

Til slutt, her er den andre samtalen igjen, denne gangen fra perspektivet til Snakk til kunde-emnet:

Skjermbilde av samtaleflyten for Snakk til kunde-emnet når Hilsning-emnet utløses først.

La oss gå gjennom trinnene for å konfigurere et emne for å motta verdier fra andre emner. Vi skal bruke det gjeldende eksemplet, men de samme trinnene vil fungere når et emne må ha en verdi fra en tidligere emne.

Konfigurer målemnet

Målemnet er emnet det omdirigeres til, det som mottar verdier fra andre emner. I vårt eksempel er det Snakk til kunde.

  1. Opprett eller gå til målemnet.

  2. Legg til en Spørsmål-node, og skriv inn What should I call you? for meldingen.

  3. Velg den forhåndsbygde enheten Personnavn under Identifiser.

  4. Velg variabelen for å åpne den i ruten Variabelegenskaper. Gi den navnet userName, og velg deretter Motta verdier fra andre emner.

    Skjermbilde av Snakk til kunde-emne med userName-variabelen og egenskapene uthevet.

  5. Legg til en Melding-node.

  6. Skriv inn I hope you're having a wonderful day, i meldingsboksen.

  7. Velg ikonet Sett inn variabel ({x}), og velg deretter userName.

  8. Velg mellomrommet etter variabelen og skriv inn !.

  9. Lagre emnet.

Sett opp kildeemnet

Kildeemnet er emne som foretar omdirigeringen, det som angir verdien som sendes til målemnet. I vårt eksempel er det Hilsning.

  1. Gå til kildeemnet.

  2. Legg til en omdirigeringsnode og velg målemnet.

  3. Velg + Legg til inndata og velg variabelen fra målemnet som du vil sende en verdi til.

    Skjermbilde av Hilsning-emnet med variabelen userName lagt til som inndata i en omdirigeringsnode.

  4. Velg ikonet >, og velg deretter variabelen du vil sende verdi for.

    Skjermbilde av Hilsning-emnet med UserName-variabelen valgt.

    Omdirigeringsnoden skal se slik ut:

    Skjermbilde av Hilsning-emnet med den utfylte Omdiriger-noden.

  5. Lagre emnet.

Returner verdier til opprinnelige emner

Når et emne omdirigeres til og henter en variabel ved å stille et spørsmål eller på en annen måte, kan variabelen returneres til det opprinnelige emnet. Variabelen blir en del av det opprinnelige emnet og kan brukes som en hvilken som helst annen variabel. Informasjon som kopiloten henter, er dermed tilgjengelig på tvers av emner, slik at behovet for globale variabler reduseres.

La oss fortsette med eksemplet fra forrige del. Vi stiller et nytt spørsmål i Snakk til kunde-emne, og vi returnerer deretter svaret til Hilsning-emne.

Konfigurer kildeemnet for en returnert variabel

Når du returnerer en variabel til et emne, er klideemnet emnet det omdirigeres til, det som angir verdien som sendes tilbake til den opprinnelige emne. I dette eksemplet er det Snakk til kunde.

  1. Gå til kildeemnet.

  2. Legg til en Spørsmål-node, og skriv inn What city do you live in? for meldingen.

  3. Velg den forhåndsbygde enheten Poststed under Identifiser.

  4. Velg variabelen for å åpne den i ruten Variabelegenskaper. Gi den navnet userCity, og velg deretter Returner verdier til opprinnelige emner.

    Skjermbilde av Snakk til kunde-emne med userCity-variabelen og egenskapene uthevet.

  5. Lagre emnet.

Konfigurer målemnet for en returnert variabel

Når du returnerer en variabel til et emne, er målemnet emnet som omdirigerer, det som mottar verdier fra andre emner. I vårt eksempel er det Hilsning.

  1. Gå til målemnet.

  2. Variabelen du valgte i kildeemnet, skal vises i Omdirigering-noden som en utdatavariabel.

    Skjermbilde av samtaleflyten for Hilsning-emnet med en returnert variabel i en omdirigeringsnode.

  3. Lagre emnet.