Copilotvariablen anvendes i en enkelt brugersession. Du angiver, hvilke variable der skal behandles som copilotvariabler for at kunne skelne mellem dem fra variable på emneniveau.
Oprette en global variabel
Du kan oprette en global variabel ved at ændre omfanget af ethvert emne.
Opret en variabel eller brug ruden Variabler til at åbne en eksisterende variabel.
Vælg Global (ethvert emne kan få adgang) i ruden Egenskaber for variabel.
Variabelnavnet tildeles en præfiksstreng, Global.
, for at adskille det fra variable på emneniveau. Variablen UserName
vises som Global.UserName
.
Gem emnet.
Navnet på en global variabel skal være entydigt på tværs af alle emner. Hvis der er tale om en konflikt, skal du omdøbe variablen, før du gemmer emnet.
Bruge globale variabler
Når du sammensætter en copilotmeddelelse i en meddelelsesnode eller en spørgsmålsnode, skal du vælge ikonet {x} til at vise de variabler, der er tilgængelige i emnet. Globale variabler vises under fanen Brugerdefineret sammen med alle emnevariabler. Variabler sorteres i alfabetisk rækkefølge.
Søg efter alle emner ved hjælp af en global variabel
Når du har oprettet en global variabel, kan du se, hvor den først gange er defineret, og hvilke andre emner der bruger den. Dette kan være nyttigt, hvis du arbejder på en nyt copilot, eller hvis du har flere variable og komplekse emneforgreninger.
Vælg en global variabel i oprettelseslærredet, eller åbn ruden Variabler, og vælg en global variabel.
I ruden Egenskaber for variabel i sektionen Reference skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og den pågældende node.
Globale variablers livscyklus
Værdien for en global variabel vil som standard vare ved, indtil sessionen slutter. Noden Ryd variable værdier nulstiller værdierne for globale variabler og bruges i systemet Nulstil samtalens systememne. Denne emne kan udløses enten ved omdirigering, eller når brugeren skriver en udløsersætning, f.eks. "Start forfra". I det tilfælde nulstilles alle globale variabler.
Angiv en global variabels værdi fra eksterne kilder
Hvis du vil sikre dig, at copiloten starter en samtale med en vis kontekst, kan du initialisere en global variabel med en ekstern kilde. Lad os sige, at webstedet kræver, at brugerne logger på. Da din copilot allerede kender en brugers navn, kan den angive kundernes navne, inden de begynder at skrive deres første spørgsmål.
Vælg en global variabel.
Vælg Eksterne kilder kan angive værdier i ruden Egenskaber for variabel.
Angive globale variabler i en integreret copilot
Hvis du indlejrer din copilot på en simpel webside, kan du føje variabler og deres definitioner til copilotens URL-adresse. Eller hvis du vil have lidt mere kontrol, kan du bruge en <script>
-kodeblok til at kalde og bruge variabler via programmering.
Variabelnavnet i forespørgselsstrengen for URL-adressen skal matche navnet for den globale variabel uden præfikset Global.
. F.eks. vil en global variabel Global.UserName
referere til som UserName
i forespørgslen.
I de eksempler, der beskrives her, oprettes der en simpel erklæring for variablerne. I et produktionsscenario kan du som forespørgselsparameter eller variabeldefinition overføre en anden variabel, der allerede har gemt brugerens navn (hvis du f.eks. har et brugernavn i et logonscript).
Tilføj variablerne og deres definitioner til copilotens URL-adresse som forespørgselsstrengparametre i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Eksempel:
Parameternavnet skelner mellem store og små bogstaver.
username=Renata
vil også virke i dette eksempel.
Tilføj globale variabler til et brugerdefineret lærred
Du kan også tilføje variablen til et brugerdefineret lærred.
I sektionen <script>
på siden, hvor du har din copilot, skal du definere variablerne på følgende måde og erstatte variableName1
med variabelnavnet uden Global.
-præfikset og variableDefinition1
med definitionen. Adskil flere variabler med kommaer (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
I sektionen <script>
skal du kalde store
, når du integrerer din copilot, som i følgende eksempel, hvor store
kaldes lige over der, hvor styleOptions
blev kaldt (du skal erstatte BOT_ID
med copilotens id):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Copilotvariablen anvendes i en enkelt brugersession. Du angiver, hvilke variabler der skal behandles som copilot-variabler for at kunne skelne mellem dem fra variabler på emneniveau.
Angive copilotvariabler
Når du har angivet en copilotvariabel, er den tilgængelig for alle emner.
Når du vælger knappen {x}
i en meddelelsesnode eller en spørgsmålsnode i forbindelse med, at du opretter en copilotmeddelelse, kan du se, at copilotvariablen er tilgængelig. Variable sorteres i alfabetisk rækkefølge, så du kan se, at alle copilotvariabler er grupperet sammen i menuen for variable, da de alle begynder med copilot.
.
Når du bruger en betingelsesnode, en flow-handlingsnode eller en færdighedsnode, kan du også se de copilotvariabler, der er tilgængelige her.
Genbrug en variabel på tværs af emner ved at angive den som en copilotvariabel
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel under Anvendelse skal du vælge copilot (ethvert emne kan få adgang).
Variabelnavnet tildeles en præfiksstreng, copilot.
, for at adskille det fra variable på emneniveau. Variablen UserName
vises f.eks. nu som copilot.UserName
.
Bemærk
Navnet på en copilotvariabel skal være entydigt på tværs af alle emner. Hvis der er tale om en konflikt, skal du omdøbe variablen, før du gemmer ændringen.
Administrere copilotvariabler
Når du har oprettet en copilotvariabel, kan du se, hvor den først gange er defineret, og hvilke andre emner der bruger den. Dette kan være nyttigt, hvis du arbejder på en nyt copilot, eller hvis du har flere variable og komplekse emneforgreninger.
Gå til kilden for en copilotvariabels definition
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel skal du vælge Gå til kilde.
Dette fører dig til noden i det emne, hvor copilotvariablen blev oprettet.
Søg efter alle emner ved hjælp af en copilotvariabel
Vælg en hvilken som helst copilotvariabel på oprettelseslærredet.
I ruden Egenskaber for variabel i sektionen Anvendt af skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og node.
Initialisering af copilotvariabel
Hvis en copilotvariabel udløses, før den er blevet initialiseret (eller "udfyldt"), udløser copiloten automatisk den del af emnet, hvor copilotvariablen først defineres, selv når den er i et andet emne, før den returneres til det oprindelige emne. Dette giver copiloten mulighed for at få udfyldt alle variabler, uden at samtalen afbrydes.
Kunden starter f.eks. samtalen med emnet "Reservation af aftale", hvor der bruges en copilotvariabel af typen copilot.UserName
. Variablen copilot.UserName
er dog først defineret i "Velkomst"-emnet.
Når samtalen når til det punkt i emnet "Reservation af aftale", hvor der henvises til copilot.UserName
, vil copiloten uden videre blive pivoteret til den spørgsmålsnode, hvor copilot.UserName
er angivet først.
Når kunden har besvaret spørgsmålet, vil copiloten fortsætte med emnet "Reservation af aftale".
Funktionen for copilotvariabel i forbindelse med implementering af handlinger via Power Automate-flow eller -færdigheder
Nogle gange ønsker du måske at bruge et flow eller en færdighed til at initialisere eller udfylde en variabel i en copilot.
Når en bruger arbejder sammen med copiloten, kan variablen dog være udfyldt på et tidligere tidspunkt i samtalen, eller du har måske allerede angivet variablerne eksternt.
I denne situation kører flowet eller færdigheden stadig og udfylder variablen, hvorved den overskriver, hvad der tidligere var gemt i variablen.
Copilotvariablernes livscyklus og nulstilling af værdien
Du har adgang til copilotvariabler fra alle emner, og copilotvariablens tildelte værdier er de samme i hele sessionen.
Værdien ryddes kun, når copilotbrugeren omdirigeres til systememnet Start forfra, eller når brugeren udløser denne emne direkte (for eksempel ved at skrive Start forfra). I dette tilfælde nulstilles alle copilotvariabler, og de har ingen værdier.
Angiv en copilotvariabels værdi fra eksterne kilder
Du kan angive, at en copilotvariabel skal initialiseres med en ekstern kilde. Dette giver copiloten mulighed for at starte samtalen med noget kontekst.
En kunde åbner f.eks. en copilotchat på dit website, og websitet kender allerede kundens navn. Du skal oplyse copiloten om brugerens navn, før du starter samtalen, og copiloten kan derefter føre en mere intelligent samtale med kunden, uden at det er nødvendigt at bede om navnet igen.
Angiv en copilotvariabel fra en ekstern kilde
Vælg en hvilken som helst variabel på oprettelseslærredet.
I ruden Egenskaber for variabel skal du i sektionen Anvendelse markér afkrydsningsfeltet Eksterne kilder kan angive værdier.
Du kan tilføje variablerne og deres definitioner, hvis du blot integrerer din copilot på en enkel webside, eller du kan bruge en <script>
-kodeblok til at kalde og bruge variablerne til programmering.
Bemærk
Variabelnavnet i forespørgselsstrengen skal stemme overens med copilotvariablen uden copilot.
-præfikset. En copilotvariabel copilot.UserName
skal eksempelvis gengives som UserName=
.
I de eksempler, der beskrives her, oprettes der en simpel erklæring for variablerne. I et produktionsscenario kan du som forespørgselsparameter eller variabeldefinition overføre en anden variabel, der allerede har gemt brugerens navn (hvis du f.eks. har et brugernavn i et logonscript).
Sådan tilføjes variablen i en integreret copilot
Tilføj variablerne og deres definitioner til copilotens URL-adresse som forespørgselsstrengparametre (i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), f.eks.:
Parameternavnet skelner mellem store og små bogstaver. Dette betyder, at username=Renata
også virker i dette eksempel.
I sektionen <script>
på siden, hvor du har din copilot, skal du definere variablerne på følgende måde og erstatte variableName1
med variabelnavnet uden copilot.
-præfikset og variableDefinition1
med definitionen. Adskil flere variabler med kommaer ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
I sektionen <script>
skal du kalde store
, når du integrerer din copilot, som i følgende eksempel, hvor store
kaldes lige over der, hvor styleOptions
blev kaldt (du skal erstatte BOT_ID
med dit id):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Slette copilotvariabler
Når du fjerner en copilotvariabel, der bruges i andre emner, markeres referencerne til den pågældende variabel i emnerne som Unknown
.
Du får vist en advarsel om sletning af copilotvariablen, før du kan bekræfte handlingen.
Noder, der indeholder referencer til den slettede copilotvariabel, fortæller dig, at de indeholder en ukendt variabel.
Emner med noder, der indeholder referencer til slettede copilotvariabler, kan holde op med at fungere. Kontroller, at du fjerner eller retter alle de emner, der var ved at benytte den slettede variabel, før de udgives.
Afhængigt af copilotens godkendelsesopsætning, har du et sæt copilotvariabler, der er knyttet til den godkendelsesudbyder, der er tilgængelig for dig. Du kan finde flere oplysninger om, hvilke sæt variabler der er tilgængelige, og hvordan de bruges, i Tilføj slutbrugergodkendelse i emner.
Søge efter alle emner ved hjælp af en copilotvariabel i Teams
Vælg en hvilken som helst copilotvariabel på oprettelseslærredet.
I ruden Egenskaber for variabel i sektionen Anvendt af skal du vælge et af de emner, hvor variablen bruges, for at gå direkte til det pågældende emne og node.
Slette copilotvariabler
Når du fjerner en copilotvariabel, der bruges i andre emner, markeres referencerne til den pågældende variabel i emnerne som Unknown
.
Du får vist en advarsel om sletning af copilotvariablen, før du kan bekræfte handlingen.
Noder, der indeholder referencer til den slettede copilotvariabel, fortæller dig, at de indeholder en ukendt variabel.
Emner med noder, der indeholder referencer til slettede copilotvariabler, kan holde op med at fungere. Kontroller, at du fjerner eller retter alle de emner, der var ved at benytte den slettede variabel, før de udgives.
Avanceret brug af copilotvariabler
Du kan finde flere oplysninger om komplekse og avancerede scenarier, der bruger copilotvariabler, herunder godkendelse, eksterne kilder og initialiseringer, i Microsoft Copilot Studio-webapp-versionen af denne artikel.