Arbejd med variable
Du kan bruge variabler til at gemme kundernes svar og genbruge deres indhold senere i samtalen.
Du kan også bruge variable til at oprette logiske udtryk, der dynamisk omdirigerer kunden til andre samtalestier. Du kan for eksempel gemme en kundes navn i en variabel, der kaldes "customerName", og agenten kan kalde kunden ved navn, når samtalen fortsætter.
Variabler kan også overføres til, og returneres fra, andre emner og Power Automate-flow.
Opret en variabel
En hvilken som helst node, som beder dig om at vælge en variabel som et output, f.eks. Spørgsmåls-node, der automatisk opretter en outputvariabel til en passende type.
Tip
Omdøb noder for at gøre det nemmere at identificere dem. Vælg nodens navnefelt for at opdatere navnet direkte, eller vælg ikonet Flere (...) for noden, og vælg Omdøb i menuen. Du kan også omdøbe noder i kodeeditoren.
Det er ikke muligt at omdøbe udløsernoder og noderne Gå til trin.
Nodenavne kan være på op til 500 tegn.
Vælg, hvilket objekt der skal bruges
Spørgsmålsnoder oprettes som standard med indstillinger for flere valgmuligheder. Hvis du vil bruge et andet forudbygget eller brugerdefineret objekt, skal du markere feltet Identificer og vælge den type oplysninger, som agenten skal lytte efter.
Omdøb en variabel
Variabler tildeles automatisk et navn, når de oprettes. Den bedste fremgangsmåde er at give variablerne meningsfulde navne, så formålet med dem bliver klart for alle, der skal vedligeholde din agent.
Vælg variablen for at åbne den i ruden Egenskaber for variabel.
Angiv et nyt navn til variablen for Variabelnavn.
Indstil en variabel
Du bruger typisk en spørgsmålsnode til at gemme brugerinput i en variabel. Der kan dog være situationer, hvor du selv vil angive værdien af en variabel. I disse tilfælde skal du bruge noden Angiv variabelværdi.
Vælg Tilføj node (+) for at tilføje en node og derefter vælge Variabel administration>Angiv en variabel værdi.
Vælg feltet under Angiv variabel, og vælg derefter Opret en ny variabel.
Sådan oprettes en ny variabel. Dens type er ukendt, indtil du tildeler en værdi til den.
For Til værdi skal du tildele en værdi vha. en af følgende indstillinger:.
- Angiv en konstantværdi.
- Vælg en eksisterende variabel af samme type. Denne handling angiver din variabel til den samme værdi, som den variabel du vælger.
- Brug en Power Fx-formel. Power Fx-formel er nyttig i forbindelse med mere komplekse typer, hvor der ikke kan bruges konstantværdier, f.eks. Tabel og Posttyper.
Bemærk
Hvis du under indstilling af en strengtypevariabel støder på en uoverensstemmelse mellem Indstil variabel og Til-værdi, vises en fejlmeddelelse og knappen Ret typeuoverensstemmelse. Vælg knappen for automatisk at få Copilot Studio til at oprette en Power Fx-formel, der løser uoverensstemmelsen.
Brug variabler i handlingsnoder
Når du bruger en variabel i en handlingsnode, og basistypen svarer til en parametertype, der er angivet for et flow eller en Bot Framework-færdighed, kan du overføre den til den pågældende parameter. Outputtet fra handlingsnoder genererer nye variabler.
Bruge bogstavelige værdier til variabelinput
I noder, hvor du kan angive en værdi for inputparametre, kan du altid angive en bogstavelig værdi i stedet for at vælge en anden variabel som værdi.
Noden forsøger at fortolke bogstavelige værdier som en streng, et tal eller en boolesk værdi. F.eks. fortolkes 123 som et tal. Hvis du i stedet ønsker, at denne værdi skal opfattes som en strengværdi, kan du indsætte denne værdi i dobbelte anførselstegn, f.eks. "123".
I nogle scenarier (f.eks. scenarier, der bruger komplekse typer) skal du muligvis bruge en Power Fx-formel til at angive en bestemt type.
Brug miljøvariabler til Azure Key Vault-hemmeligheder
En miljøvariabel kan referere til en hemmelighed i Key Vault. Hemmelige miljøvariabler er et specielt tilfælde af miljøvariabler med unikke hensyn.
Hvis du vil oprette en hemmelig miljøvariabel på Power Apps portalen, skal du konfigurere Key Vault.
Hvis du vil godkende, at Copilot Studio læser denne Key Vault, skal du udføre følgende handlinger:
Tildel rollen
Key Vault Secrets User
tilMicrosoft Virtual Agents Service
-programmet.Hvis du vil give alle agenter fra miljøet adgang til hemmeligheden, skal du oprette et mærke
AllowedEnvironments
på hemmeligheden og tilføje de tilladte miljø-id'er adskilt af komma.Hvis du kun vil tillade, at bestemte agenter fra miljøet bruger denne Key Vault, skal du oprette en kode
AllowedAgents
og angive agent-id i formatet{envId}/{schemaName}
. I forbindelse med flere værdier skal du adskille værdierne med kommaer.
Hvis du når det maksimale antal tegn, men stadig har brug for at tilføje flere agenter, skal du tilføje endnu et mærke med et beskrivende, men entydigt navn (f.eks.: AllowedAgents2
).
Den hemmelige værdi cachelagres under kørsel af Dialog i fem minutter. Mislykkede læsninger cachelagres i 30 sekunder.
Advarsel!
Hvis du tilføjer hemmeligheden i agenten, får du måske vist værdien af denne hemmelighed for alle brugere, der kan redigere agenten i miljøet, fordi disse brugere kan redigere agenten for at returnere værdien i SendMessage
-noden.
Ruden Variabler
Ruden Variabler er det sted, hvor du kan få vist alle de variabler, der er tilgængelige for et emne, uanset hvilke noder de er defineret eller bruges i. For hver variabel kan du vælge, om den kan modtage værdien fra andre emner, returnere værdien til andre emner eller begge dele. Du kan også vælge en variabel for at redigere egenskaberne i ruden Egenskaber for variabel.
Vælg Variabler i emnet menulinje for at åbne ruden Variabler.
Ruden Egenskaber af variabler
I ruden Egenskaber for variabel kan du omdøbe en variabel, se, hvor en variabel bruges, eller konvertere en variabel til en global variabel. Du kan dog ikke konvertere en global variabel tilbage til en emnevariabel. Du kan også vælge, om en emnevariabel kan modtage værdier fra eller overføre sin værdi til andre emner.
Hvis du vil åbne ruden Egenskaber for variabler for en variabel, skal du vælge den ønskede variabel i ruden Variabler. Du kan også åbne ruden med variable egenskaber ved at vælge en variabel i en hvilken som helst node.
Overføre variabler mellem emner
Når du omdirigerer et emne til et andet, kan du overføre værdierne for variabler fra det oprindelige emne til destinationsemnet og også returnere værdier fra destinationsemnet til det oprindelige emne. Det er især nyttigt at overføre variabler mellem emner, når du allerede har oplysninger, som emnet skal bruge. Brugerne vil sætte pris på, at de ikke behøver at besvare samme spørgsmål igen.
Modtag værdier fra andre emner
Når et emne definerer en variabel (for eksempel i en spørgsmålsnode), beder agenten brugeren om at angive variablens værdi. Hvis agenten allerede har hentet værdien i et tidligere emne, er der ingen grund til at stille spørgsmålet igen. I disse tilfælde kan du indstille variablen som Modtag værdier fra andre emner. Når et andet emne omdirigeres til dette emne, kan det overføre en variabelværdi eller en bogstavelig værdi til denne variabel og springe hele spørgsmålet over. Oplevelsen for den slutbruger, der taler med agenten, er problemfri.
I dette eksempel bruger vi to emner, Hilsen og Tal med kunden. I begge emner anmodes der om kundens navn. Men hvis hilsenen-emnet køres først, springer emnet Tal med kunden over spørgsmålet. I stedet bruges værdien af den variabel, der overføres fra emnet Hilsen.
Her er flowet for Tal med kunden:
Som vist i testpanelet, hvis dette emne udløses først, bliver brugeren spurgt: "Hvad skal jeg kalde dig?" Den gemmer værdien i en strengvariabel kaldet customerName. Variablen customerName er også indstillet til at hente sin værdi fra andre emner. Emnet afsluttes med meddelelsen "Jeg håber, du har en dejlig dag, customerName!"
Her er flowet for Hilsen-emnet:
Som vist i testpanelet, hvis dette emne udløses først, bliver brugeren spurgt: "Hvad hedder du?" Den gemmer værdien i en strengvariabel kaldet customerName. Emnet sender meddelelsen "Glad for at møde dig, customerName!" Det omdirigerer derefter til emnet Tal med kunden, som sender meddelelsen: "Jeg håber, du har en vidunderlig dag, customerName!" Bemærk dog, at emnet Tal med kunden ikke bad om brugerens navn igen. I stedet bruges værdien af variablen customerName, der overføres fra emnet Hilsen.
Til sidst er der den anden samtale igen, denne gang ud fra perspektivet i Tal med kunden-emnet:
Lad os gennemgå trinnene til at konfigurere et emne til at modtage værdier fra andre emner. I vores eksempelscenarie bruges det foruddefinerede emne Hilsen som kildeemne og et nyt emne Tal med kunden som destinationsemne, men de samme trin fungerer for alle emner, der skal bruge en værdi fra et tidligere emne, når det er muligt.
Konfigurer destinationens emne
Destinationens emne er det emne, der omdirigeres til, som modtager værdier fra andre emner. I eksemplet er det Tal med kunden.
Opret et nyt emne, og kald det "Tal med kunden".
Tilføj udløserfraser som "tal til mig", "tal med mig", "chat med mig".
Tilføj en spørgsmålsnode, og indtast "Hvad skal jeg kalde dig?" for meddelelsen.
Under Identificer skal du vælge foruddefinerede objekters Personnavn.
Vælg navnet på variablen. Panelet med Egenskaber for variabler åbnes.
Erstat standardnavnet med "customerName", og vælg derefter Modtag værdier fra andre emner.
Tilføj en Meddelelse-node
I meddelelsesfeltet skal du indtaste "Jeg håber, du har en vidunderlig dag, ".
Vælg ikonet Indsæt variabel ({x}), og vælg customerName.
Vælg mellemrummet efter variablen, og indtast "!".
Gem emnet.
Konfigurer kildenemne
Kildeemnet er det emne, der foretager omdirigeringen, det, der giver værdien og sender den til destinationsemnet. I vores eksempel er det Hilsen.
Gå til emnet Hilsen, og slet standardnoderne, undtagen for Udløser-noden.
Tilføj en spørgsmålsnode, og indtast "Hvad hedder du?" for meddelelsen.
Under Identificer skal du vælge foruddefinerede objekters Personnavn.
Erstat standardnavnet med "customerNameFromGreeting".
Tilføj en Meddelelse-node
I meddelelsesfeltet skal du indtaste "Glad for at møde dig, ".
Vælg ikonet Indsæt variabel ({x}), og vælg customerNameFromGreeting.
Vælg mellemrummet efter variablen, og indtast "!".
Tilføj en omdirigeringsnode, og vælg destinationsemnet Tal med kunden.
Vælg Tilføj input, og vælg variablen fra destinationsemnet, du vil overføre værdien til.
Vælg ikonet >, og vælg derefter den variabel, hvis værdi du vil overføre, customerNameFromGreeting, i dette eksempel.
Omdiriger-noden skulle se sådan ud:
Gem emnet.
Returner værdier til oprindelige emner
Når et emne omdirigeres til og opnår en variabel ved at bede om et spørgsmål eller på anden måde får en variabel fra en handling, kan variablen returneres til det oprindelige emne. Variablen bliver en del af det oprindelige emne og kan bruges som enhver anden variabel. Oplysninger, som agenten får, er således tilgængelige på tværs af emner, hvilket reducerer behovet for globale variabler.
Lad os fortsætte med eksemplet fra den forrige sektion. Vi stiller et nyt spørgsmål i emnet Tal med kunden og returnerer derefter svaret til emnet Hilsen.
Konfigurere kildedata for emne returnerede variabel
Når du returnerer en variabel til et emne, er kildeemnet det emne, der giver den værdi, der skal overføres til det oprindelige emne. I dette eksempel er kildeemnet Tal med kunden.
Gå til kildenemne.
Tilføj en spørgsmålsnode, og indtast "Hvilken by bor du i?" for meddelelsen.
Under Identificer skal du vælge foruddefinerede objekters By.
Vælg variablen for at åbne den i ruden Variable egenskaber. Navngiv den "customerCity", og vælg derefter Returner værdier til de oprindelige emner.
Tilføj en Meddelelse-node
Vælg ikonet Indsæt variabel ({x}), og vælg customerCity.
Efter variablen i meddelelsesfeltet skal du indtaste "må være smuk på denne tid af året!".
Gem emnet.
Konfigurere destinationsemnet for en returneret variabel
Når du returnerer en variabel til et emne, er destinationsemnet det emne, der modtager værdier fra det aktuelle emne. I vores eksempel er Hilsen destinationsemnet.
Gå til destinationsemne.
Den variabel, du har valgt i kildeemnet, skal vises i Omdirigering-noden som en outputvariabel.
Gem emnet.
Opdel værdi-node
Du kan bruge noden Opdel værdi til at konvertere en værdi af én type til en værdi af en anden type. Når du føjer en node til et emne, skal du vælge Tilføj node-ikonet , pege på Variabelstyring og vælge Opdel værdi.
Nøglescenarier, hvor noden Opdel værdi bruger fokus på konvertering af rå JSON- eller ikke-indtastede variabler (hvis værdi eller struktur først kendes under kørsel, f.eks. ChannelData) til konkrete typer.
Processen starter, når et flow kaldes, som igen kalder en API. API'en returnerer et resultat. Normalt skal du analysere dette svar og returnere en eller flere primitive variabler. Med noden Opdel værdi kan du sende hele API-resultatet som en streng. Eksempel:
{
"Name": "Parker",
"Position": "Product manager",
"Company": "Contoso",
"FormerPositions": [{
"Position": "Customer service representative"
}
]
}
Den strengvariabel, du har nu, kan konverteres til en postvariabel med fuld IntelliSense-support i Power Fx ved hjælp af denne nye node. Et eksempel, hvor der bruges eksempeldata, kan hjælpe dig med at illustrere denne proces.
Eksempel på brug af noden Opdel værdi
Tilføj en Opdel værdi-node, og vælg den variabel, du vil opdele.
Vælg datatypen. I dette tilfælde skal du vælge Fra eksempeldata.
Vælg Hent skema fra JSON-eksempel, og angiv det ønskede JSON-eksempel i den editor, der åbnes.
Til sidst skal du angive, hvilken variabel du vil placere den opdelte værdi i. Normalt skal du oprette en ny variabel til dette.
Bemærk, at outputvariablen nu er af den korrekte type: Post.
Udover at analysere JSON-strenge er en vigtig anvendelse af Opdel værdi-noden fortolkning af UntypedObjects under kørsel. Den mest almindelige brugssag er, når du modtager en hændelse, og du skal analysere hændelsesværdien. Du kan også analysere egenskaben System.Activity.ChannelData, som varierer ved kørsel afhængig af kanal.
Hvis du skulle analysere oplysninger fra en hændelse, der kommer fra Teams, skal du bruge Teams-udviklerdokumentationen til at finde et eksempel på, hvordan den forventede hændelse kan se ud, og derefter bruge dette eksempel til eksempeldata som beskrevet tidligere i dette afsnit.