Bruk variabler på tvers av emner
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.
Variabler lagrer kundenes svar på spørsmål fra kopiloten. Du kan for eksempel lagre navnet på en kunde i en variabel kalt UserName
. Kopiloten kan deretter henvende seg til kunden etter navn når samtalen fortsetter.
Som standard kan en variabels verdi bare brukes i emner der variabelen blir opprettet. Det er imidlertid mulig å bruke samme verdi på nytt på tvers av emner. I et Velkommen-emne spør for eksempel roboten etter kundens navn og e-postadresse. I emnet Avtalebestilling ønsker du at kopiloten skal huske hva kunden har angitt, og ikke spørre på nytt.
En måte å bruke en variabel på nytt på er å sende variabelen mellom emner. Den andre måten er å gjøre variabelen global i omfang, og det er det denne artikkelen omhandler. Globale variabler kalles dette fordi de er tilgjengelige i alle emner på tvers av hele kopiloten.
Kopilotvariabler gjelder under én brukerøkt. Du angir hvilke variabler som skal behandles som kopilotvariabler for å skille dem fra variabler på emnenivå.
Opprette en global variabel
Du kan opprette en global variabel ved å endre omfanget for en emnevariabel.
Opprett en variabel eller bruk Variabler-ruten til å åpne en eksisterende variabel.
I ruten Egenskaper for variabel velger du Global (alle emner har tilgang).
Variabelnavnet får prefikset
Global.
for å skille det fra variabler på emnenivå. VariabelenUserName
vises for eksempel nå somGlobal.UserName
.Lagre emnet.
Navnet på en global variabel må være unikt på tvers av alle emner. Hvis det oppstår en konflikt, må du endre navnet på variabelen før du lagrer emnet.
Bruke globale variabler
Når du skriver en kopilotmelding i en Melding-node eller en Spørsmål-node, velger du {x}-ikonet for å vise variablene som er tilgjengelige for emnet. Globale variabler vises i fanen Egendefinert sammen med eventuelle emnevariabler. Variabler er oppført i alfabetisk rekkefølge.
Finne alle emner ved hjelp av en global variabel
Du finner hvor en global variabel er definert og hvilke andre emner som bruker den. Dette kan være nyttig hvis du arbeider med en ny kopilot, eller hvis du har flere variabler og en kompleks emneforgrening.
Velg en global variabel i redigeringslerretet, eller åpne Variabler-ruten og velg en global variabel.
I ruten Egenskaper for variabel i delen Referanse velger du ett av emnene der variabelen brukes til å gå direkte til det emne og den noden.
Livssyklusen til globale variabler
Som standard beholdes verdien til en global variabel til økten er slutt. Noden Fjern variabelverdier tilbakestiller verdiene for globale variabler og brukes i systememnet Tilbakestill samtale. Dette emnet kan utløses enten ved omdirigering eller når brukeren skriver inn et utløseruttrykk, for eksempel Start på nytt. I det tilfellet tilbakestilles alle globale variabler.
Angi en verdi for en global variabel fra eksterne kilder
Hvis du vil sørge for at kopiloten starter en samtale med litt kontekst, kan du initialisere en global variabel med en ekstern kilde. La oss si at området krever at brukere logger seg på. Siden kopiloten allerede vet navnet til en bruker, kan den hilse på kunder ved navn før de begynner å skrive inn det første spørsmålet.
Velg en global variabel.
Velg Eksterne kilder kan angi verdier i ruten Egenskaper for variabel.
Angi globale variabler i en innebygd kopilot
Hvis du bygger inn kopiloten på en enkel nettside, kan du legge til variabler og definisjonene deres i nettadressen til kopiloten. Hvis du vil ha litt mer kontroll, kan du også bruke en <script>
-kodeblokk til å kalle opp og bruke variabler programmatisk.
Variabelnavnet i spørringsstrengen for nettadressen må samsvare med navnet på den globale variabelen uten Global.
-prefikset. En global variabel Global.UserName
blir for eksempel henvist til som UserName
i spørringen.
Eksemplene nedenfor gir en enkel deklarasjon for variablene. I et produksjonsscenario kan du inkludere en annen variabel som spørringsparameter eller variabeldefinisjon, som allerede har lagret navnet på brukeren (hvis du for eksempel har brukernavnet fra et påloggingsskript).
Legg til variablene og definisjonene i nettadressen til kopiloten som spørringsstrengparametere i formatet botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Eksempel:
- Du har en global variabel kalt
Global.UserName
. - Nettadressen til kopiloten er https://web.powerva.microsoft.com/webchat/bots/12345.
- Hvis du vil sende inn brukerens navn når du starter en kopilotsamtale på nettstedet, legger du ved spørringsstrengen
UserName=
som https://web.powerva.microsoft.com/webchat/bots/12345?UserName=Renata.
Det skilles mellom små og store bokstaver i parameternavnet.
username=Renata
fungerer også i dette eksemplet.
Legg til globale variabler i et egendefinert lerret
Du kan også legge til variabelen i et egendefinert lerret.
I
<script>
-delen på siden der du har kopiloten, definerer du variablene som følger, og erstattervariableName1
med variabelnavnet utenGlobal.
-prefikset ogvariableDefinition1
for definisjonen. Skill flere variabler med komma (,
).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
<script>
-delen kaller du oppstore
når du bygger inn kopiloten, som i følgende eksempel derstore
kalles opp like ovenfor derstyleOptions
kalles opp (du må erstatteBOT_ID
med ID-en for kopiloten):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));
Relatert innhold
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for