Arbeid med variabler
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 "customerName", og agenten 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.
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.
Tips
Gi nytt navn til noder for å gjøre dem lettere å identifisere. Velg nodens navnefelt for å oppdatere navnet direkte, eller velg Mer-ikonet (...) for noden og Endre navn fra menyen. Du kan også endre navn på noder i redigeringsprogrammet for kode.
Det er ikke mulig å gi nytt navn utløsernoder og Gå til trinn-noder .
Navn på noder kan være opptil 500 tegn.
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 agenten skal lytte etter.
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 agenten.
Velg variabelen for å åpne den i ruten Egenskaper for variabel.
Angi et nytt navn på variabelen under Variabelnavn.
Angi en variabel
Du bruker vanligvis en spørsmålsnode til å lagre brukerinndata i en variabel. Det kan imidlertid være situasjoner der du vil angi verdien til en variabel selv. I slike tilfeller bruker du noden Angi variabelverdi.
Velg Legg til node (+) for å legge til en node, og velg deretter Variabelbehandling>Angi en variabelverdi.
Velg boksen under Angi variabel, og velg Opprett en ny variabel.
Det opprettes en ny variabel. Typen er ukjent før du tildeler en verdi til den.
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.
Notat
Når du angir en strengtypevariabel og det oppstår et misforhold mellom Angi variabel og Til verdi, vises en feilmelding og knappen Rett opp manglende samsvar mellom type. Velg knappen for å få Copilot Studio til å generere en Power Fx-formel som løser det manglende samsvaret.
Bruke variabler i handlingsnoder
Når du bruker en variabel i en handlingsnode og basistypen for den samsvarer med en parametertype som er angitt for en flyt eller en Bot Framework-ferdighet, kan du sende den til denne parameteren. Utdataene fra handlingsnoder genererer nye variabler.
Bruk litterale verdier for variabelinndata
I noder der du kan angi en verdi for inndataparametere, kan du alltid angi en litteral verdi i stedet for å velge en annen variabel som verdi.
Noden prøver å tolke litterale verdier som en streng, et tall eller en boolsk. 123 tolkes for eksempel som et tall. Hvis du vil at det skal tolkes som en strengverdi i stedet, kan du pakke inn verdien i doble anførselstegn, for eksempel "123".
For noen scenarioer (for eksempel scenarioer som bruker komplekse typer), kan det hende du må bruke en Power Fx-formel for å angi en bestemt type.
Bruk miljøvariabler for Azure Key Vault-hemmeligheter
En miljøvariabel kan henvise til en hemmelighet i Key Vault. Hemmelige miljøvariabler er et spesielt tilfelle med miljøvariabler med unike hensyn.
Hvis du vil opprette en hemmelig miljøvariabel i Power Apps-portalen, må du konfigurere Key Vault.
Hvis du vil autorisere Copilot Studio til å lese dette Key Vault, må du utføre følgende handlinger:
Tildel rollen
Key Vault Secrets User
til programmetMicrosoft Virtual Agents Service
.Hvis du vil gi alle agenter fra miljøet tilgang til hemmeligheten, oppretter du et merke
AllowedEnvironments
på hemmeligheten og legger til de tillatte miljø-ID-ene atskilt med komma.Hvis du bare vil tillate at bestemte agenter fra miljøet bruker dette Key Vault, oppretter du merket
AllowedAgents
og plasserer agentidentifikatoren i formatet{envId}/{schemaName}
. Skill verdiene med komma for flere verdier.
Hvis du når maksimalt antall tegn, men fortsatt trenger å legge til flere agenter, legger du til et nytt merke med et beskrivende, men unikt navn (for eksempel: AllowedAgents2
).
Den hemmelige verdien bufres i dialogens kjøretid i fem minutter. Mislykkede lesinger bufres i 30 sekunder.
Advarsel!
Ved å legge til hemmeligheten i agenten kan du eksponere verdien av denne hemmeligheten for alle brukere som kan redigere agenten i miljøet, fordi slike brukere kan redigere agenten for å returnere verdien i SendMessage
-noden.
Variabler-rute
I Variabler-ruten kan du vise alle variablene som er tilgjengelige for et emne, 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 Egenskaper for variabel.
Hvis du vil åpne Variabler-ruten, velger du Variabler på menylinjen til emnet.
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 en global variabel tilbake til en emnevariabel. Du kan også velge om en emnevariabel kan motta verdier fra eller sende verdien til andre emner.
Hvis du vil åpne panelet Egenskaper for variabel for en variabel, velger du den ønskede variabelen i Variabler-ruten. Du kan også åpne ruten Variabelegenskaper ved å velge en variabel i en hvilken som helst node.
Send variabler mellom emner
Når du omdirigerer ett emne til et annet, kan du sende verdiene for variabler fra det opprinnelige emnet til målemnet, og også returnere verdier fra målemnet til det opprinnelige emnet. 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ålsnode), ber agenten brukeren om å fylle inn verdien for variabelen. Hvis agenten 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 agenten, er sømløs.
I dette eksemplet bruker vi 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 brukes verdien av variabelen som sendes fra Hilsning-emnet.
Her er flyten i Snakk til kunde-emnet:
Som vist i testpanelet, hvis dette emnet utløses først, spør det brukeren: "Hva skal jeg kalle deg?" Det lagrer verdien i en strengvariabel som heter customerName. Variablen customerName er også angitt slik at den får verdien fra andre emner. Emnet avsluttes med meldingen "Jeg håper du har en flott dag, customerName!"
Her er flyten i Hilsning-emnet:
Som vist i testpanelet, hvis dette emnet utløses først, spør det brukeren: "Hva heter du?" Det lagrer verdien i en strengvariabel som heter customerName. Emnet sender meldingen "Hyggelig å møte deg, customerName!" Deretter omdirigerer det til Snakk med kunde-emnet, som sender meldingen "Jeg håper du har en flott dag, customerName!" Vær imidlertid oppmerksom på at Snakk med kunde-emnet hoppet over å be om brukerens navn på nytt. I stedet brukte det verdien av variabelen customerName, sendt fra Hilsning-emnet.
Til slutt, her er den andre samtalen igjen, denne gangen fra perspektivet til Snakk til kunde-emnet:
La oss gå gjennom trinnene for å konfigurere et emne for å motta verdier fra andre emner. Eksempelscenariet bruker det forhåndsdefinerte emnet Hilsning som kildeemne og et nytt emne, Snakk med kunde, som målemne, men de samme trinnene fungerer for ethvert emne som bør bruke en verdi fra et tidligere emne når det er mulig.
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.
Opprett et nytt emne, og kall det "Snakke med kunde".
Legg til utløseruttrykk som "snakke til meg", "snakke med meg", "chatte med meg".
Legg til en spørsmålsnode, og skriv inn "Hva skal jeg kalle deg?" for meldingen.
Velg den forhåndsbygde enheten Personnavn under Identifiser.
Velg navnet på variabelen. Panelet Egenskaper for variabel åpnes.
Erstatt standardnavnet med "customerName", og velg deretter Motta verdier fra andre emner.
Legg til en Melding-node.
Skriv inn "Jeg håper du har en flott dag" i meldingsboksen.
Velg ikonet Sett inn variabel ({x}), og velg deretter customerName.
Velg mellomrommet etter variabelen og skriv inn "!".
Lagre emnet.
Sett opp kildeemnet
Kildeemnet er emnet som utfører omdirigeringen, det emnet som angir verdien og sender den til målemnet. I vårt eksempel er det Hilsning.
Gå til Hilsning-emnet, og slett standardnodene bortsett fra Utløser-noden.
Legg til en spørsmålsnode, og skriv inn "Hva heter du?" for meldingen.
Velg den forhåndsbygde enheten Personnavn under Identifiser.
Erstatt standardnavnet med "customerNameFromGreeting".
Legg til en Melding-node.
Skriv inn "Hyggelig å møte deg" i meldingsboksen.
Velg ikonet Sett inn variabel ({x}), og velg deretter customerNameFromGreeting.
Velg mellomrommet etter variabelen og skriv inn "!".
Legg til en Omdiriger-node , og velg målemnet Snakk med Kunde.
Velg Legg til inndata og velg variabelen fra målemnet som du vil sende en verdi til.
Velg >-ikonet, og velg deretter variabelen som du vil sende verdien for, customerNameFromGreeting, i dette eksemplet.
Omdirigeringsnoden skal se slik ut:
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 agenten henter inn, er dermed tilgjengelig på tvers av emner, noe som reduserer behovet for globale variabler.
La oss fortsette med eksemplet fra forrige del. Vi stiller et nytt spørsmål i Snakk med kunde-emnet og returnerer deretter svaret til Hilsning-emnet.
Konfigurer kildeemnet for en returnert variabel
Når du returnerer en variabel til et emne, er kildeemnet emnet som gir verdien til å gå tilbake til det opprinnelige emnet. I dette eksemplet er kildeemnet Snakk med kunde.
Gå til kildeemnet.
Legg til en spørsmålsnode, og skriv inn "Hvilken by bor du i?" for meldingen.
Velg den forhåndsbygde enheten Poststed under Identifiser.
Velg variabelen for å åpne den i ruten Variabelegenskaper. Gi den navnet "customerCity", og velg deretter Returner verdier til opprinnelige emner.
Legg til en Melding-node.
Velg ikonet Sett inn variabel ({x}), og velg deretter customerCity.
Etter variabelen i meldingsboksen skriver du inn " må være flott på denne tiden av året!".
Lagre emnet.
Konfigurer målemnet for en returnert variabel
Når du returnerer en variabel til et emne, er målemnet emnet som mottar verdier fra det gjeldende emnet. I eksemplet vårt er målemnet Hilsning.
Gå til målemnet.
Variabelen du valgte i kildeemnet, skal vises på omdirigeringsnoden som en utdatavariabel.
Lagre emnet.
Analyser verdi-node
Med Analyser verdi-noden kan du konvertere en verdi av én type til en verdi av en annen type. Når du skal legge til en node i et emne, må du velge Legg til node-ikonet , peke på Administrasjon av variabler og velge Analyser verdi.
Nøkkelscenaroier som bruker noden Analyser verdi, fokuserer på å konvertere JSON-verdier eller variabler som ikke er skrevet inn (hvis verdi eller struktur ikke er kjent før kjøretid, for eksempel ChannelData), til konkrete typer.
Prosessen starter når en flyt kalles, som i sin tur kaller en API. API-en returnerer et beregnet resultat. Vanligvis må du analysere dette svaret og returnere én eller flere primitive variabler. Med noden Analyser verdi kan du sende hele API-resultatet som en streng. Eksempel:
{
"Name": "Parker",
"Position": "Product manager",
"Company": "Contoso",
"FormerPositions": [{
"Position": "Customer service representative"
}
]
}
Strengvariabelen du har nå, kan konverteres til en Registrer variabel, med full intellisense-støtte i Power Fx ved hjalp av denne nye noden. Eksempel på bruk av eksempeldata hjelper deg med å illustrere denne prosessen.
Eksempel på bruk av Analyser verdi-noden
Legg til en Analyser verdi-node, og velg variabelen du vil analysere.
Velg datatype. I dette tilfellet velger du Fra eksempeldata.
Velg Hent skjema fra eksempel på JSON, og angi ønsket JSON-eksempel i redigeringsprogrammet som åpnes.
Til slutt angir du hvilken variabel du vil plassere verdien i. Vanligvis oppretter du en ny variabel for dette.
Vær oppmerksom på at utdatavariabelen nå er av riktig type: Oppføring.
I tillegg til analyse av JSON-strenger er analyse av UntypedObjects ved kjøretid en viktig bruk av noden Analyser verdi. Det mest vanlige brukstilfellet er når du mottar en hendelse, og du må tolke hendelsesverdien. Det kan også hende du vil tolke System.Activity.ChannelData-egenskapen, som varierer ved kjøretid etter kanal.
Hvis du skal analysere informasjon fra en hendelse som kommer fra Teams, må du bruke utviklerdokumentasjon i Teams til å finne et eksempel på hvordan den forventede hendelsen kan se ut, og deretter bruke dette eksemplet som eksempeldata, slik det er skissert tidligere i denne delen.