Använd variabler
Viktigt
Power Virtual Agents-funktioner ingår nu i Microsoft Copilot Studio efter betydande investeringar i generativ AI och förbättrade integrationer mellan Microsoft Copilot.
Vissa artiklar och skärmbilder kan referera till Power Virtual Agents när vi uppdaterar dokumentation och utbildning.
Du kan använda variabler för att spara kundens svar och återanvända deras innehåll senare i konversationen.
Du kan också använda variabler för att skapa logiska uttryck som dynamiskt dirigerar kunden längs olika konversationsbanor. Spara till exempel ett kundnamn i en variabel som anropas UserName
och copilot kan adressera kunden efter namn allt eftersom konversationen fortsätter.
Variabler kan också skickas till och returneras från andra avsnitt och Power Automate-flöden.
Variabler kan finnas inom tre nivåer eller omfattningar:
- Ämne variabler kan bara användas i de ämnen de skapas i. Denna omfattning är standard för variabler som du skapade.
- Globala variabler kan användas i alla ämnen. Du kan ändra omfattningen för valfri ämnesvariabel att den blir en global variabel.
- Systemvariabler skapas automatiskt med din copilot. De ger mer sammanhangsbaserad information om konversationen eller användaren. De är tillgängliga i alla avsnitt.
Variabeltyper
En variabel associeras med en bastyp. Typen avgör vilka värden som variabeln kan innehålla och de operatorer du kan använda när du skapar ett logiskt uttryck med den.
Type | Beskrivning |
---|---|
String | En sekvens med tecken som används för att representera text |
Booleskt | Ett logiskt värde som endast kan vara true eller false |
Antal | Alla reella tal |
Register | En lista med värden, men alla värden måste vara av samma typ |
Post | En samling namn/värde-par där värden kan vara av valfri typ |
Datum/tid | Datum, tid, veckodag eller månad i förhållande till en tidpunkt |
Alternativ | En lista med strängvärden som har associerade synonymer |
Tom | En platshållare för "inget värde" eller "okänt värde". Mer information finns i Tomma värden i Power Fx |
En variabels typ anges första gången ett värde tilldelas den. Efter detta är typen för variabeln fast och kan inte tilldelas värden av någon annan typ. En variabel med startvärdet 1
tilldelad till exempel typen Nummer. Ett försök att tilldela det till ett Strängvärde av typen "apples"
resulterar i ett fel.
När du testar en copilot kan en variabel visas tillfälligt som typen okänd. En variabel av typen okänd har ännu inte tilldelats ett värde.
Variabelordningen fastställs uppifrån och ned på designytan. Det vill säga att noder högst upp i designyta beaktas innan noderna längst ned. När du skapar grenar med Villkor noder ordnas grenar från vänster till höger. Det vill säga att noder i den vänstra grenen beaktas före noder i den högra grenen.
Entiteter
Copilot Studio använder entiteter för att identifiera en viss typ av information utifrån en användares svar. Den identifierade informationen sparas i en variabel av den typ som är lämplig för informationen. I följande tabell visas den variabelbastyp som är associerad med förbyggda entiteter.
Enhet | Bastyp för variabel |
---|---|
Flervalsalternativ | Alternativ |
Användarens fullständiga svar | String |
Ålder | Antal |
Booleskt | Booleskt |
City | String |
Color | String |
Kontinent | String |
Land eller region | String |
Datum och tid | Datum/tid |
String | |
Event | String |
Integer | Integer |
Språk | String |
Money | Antal |
Antal | Antal |
Ordning | Antal |
Organisation | String |
Procentandel | Antal |
Personnamn | String |
Telefonnummer | String |
Orienteringspunkt | String |
Hastighet | Antal |
State | String |
Gatuadress | String |
Temperatur | Antal |
webbadress | String |
Grovlek | Antal |
Postnummer | String |
Anpassad entitet | Alternativ |
Skapa en variabel
Alla noder som uppmanar dig att välja en variabel som utdata, till exempel en nod av typen Fråga, skapar automatiskt en utdatavariabel av lämplig typ.
Välj en entitet att använda
Frågenoder skapas med flera alternativ som standard. Om du vill använda en annan inbyggd eller anpassad entitet markerar du rutan Identifiera och väljer vilken typ av information som copilot ska lyssna efter.
Döpa om en variabel
Variabler tilldelas automatiskt ett namn när du skapar dem. Det bästa är att ge dina variabler meningsfulla namn för att göra syftet tydlig för alla andra som måste behålla din copilot.
Välj variabeln för att öppna den i fönstret Variabelegenskaper.
Under Variabelnamn, ange ett nytt namn för din variabel.
Ange en variabel
Vanligtvis använder du noden Fråga för att spara användarindata till en variabel. Det kan dock finnas situationer där du själv vill ange värdet. I dessa fall använder du noden Ange variabelvärde.
Välj Lägg till nod (+) om du vill lägga till en nod och välj sedan Variabelhantering>Ange ett variabelvärde.
Välj rutan under Ange variabel och välj Skapa en ny variabel.
En ny variabel har skapats. Dess typ är okänd tills du tilldelar det ett värde.
För Till-värde tilldelar du ett värde med hjälp av något av följande alternativ:
- Skriv ett literalt värde.
- Välj en befintlig variabel av samma typ. Denna åtgärd anger din variabel till samma värde som den variabel du väljer.
- Använd en Power Fx-formel. Power Fx formler är mer användbara för mer komplexa typer där literala värden inte kan användas, till exempel tabell- och posttyper.
Använd literala värden
Istället för att välja ett variabelvärde kan du mata in ett literalt värde i valfri variabel.
Noden försöker tolka bokstavliga värden som sträng, tal eller boolesk. Till exempel tolkas 123
som ett tal. Om vill att det ska tolkas som ett strängvärde kan du innesluta värdet värdet i dubbla citattecken, som: "123"
.
I vissa scenarier – eller där du använder mer komplexa typer -, kan du använda en Power Fx-formel för att ange en viss typ.
Fönstret Variabler
I rutan Variabler kan du visa alla tillgängliga variabler i ämnet, oavsett vilka noder de definieras eller används i. För varje variabel kan du välja om den ska kunna ta emot värdet från andra ämnen, returnera värdet till andra ämnen eller både och. Du kan också välja en variabel för att redigera dess egenskaper i fönstret Variabelegenskaper.
Du öppnar rutan Variabler i ämnesmenyn genom att välja Variabler.
Fönstret Variabelegenskaper
I rutan variabelegenskaper kan du byta namn på en variabel, se var den används eller konvertera den till en global variabel. Du kan inte konvertera tillbaka den från en global variabel till en ämnesvariabel. Du kan också välja om den ska kunna ta emot värden från eller skicka vidare dess värde till andra ämnen.
Öppna fönstret Variabelegenskaper genom att markera en variabel i fönstret Variabler. Du kan också öppna fönstret med variabelegenskaper genom att välja en variabel i valfri nod.
Systemvariabler
Varje copilot levereras med inbyggda systemvariabler som ger ytterligare information om en konversation.
Alla systemvariabler visas inte i listan. Du måste komma åt de dolda systemvariablerna med en Power Fx formel.
Om du vill använda systemvariabler i en Power Fx-formel måste du lägga till System.
före variabelnamnet. Om du till exempel vill ta med systemvariabeln User.DisplayName
i en formel måste du referera till den som System.User.DisplayName
.
Name | Type | Dold | Definition |
---|---|---|---|
Activity.Channel | val | synlig | Kanal-ID för aktuell konversation |
Activity.ChannelData | någon | dold | Ett objekt som innehåller kanalspecifikt innehåll |
Activity.ChannelId | string | dold | Kanal-ID för aktuell konversation, som en sträng |
Activity.From.Id | string | dold | Kanalspecifikt, unikt ID för avsändaren |
Activity.From.Name | string | dold | Kanalspecifikt användarnamn för avsändaren |
Activity.Name | string | synlig | Namnet på eventet |
Activity.Text | string | synlig | Det senaste meddelande nvändaren skickat |
Activity.Type | val | synlig | Typ av Aktivitetstyp |
Activity.TypeId | string | dold | Typ av aktivitet, som en sträng |
Activity.Value | någon | dold | Öppet värde |
Bot.Name | string | synlig | Namnet på din copilot |
Channel.DisplayName | string | dold | Visar kanalens namn |
Conversation.Id | string | synlig | Den aktuella konversationens unika ID |
LastActivity.Id | string | synlig | ID för tidigare skickad aktivitet |
LastMessage.Id | string | synlig | ID för det föregående meddelande användaren skickat |
LastMessage.Text | string | synlig | Det föregående meddelande som användaren skickat |
Recognizer.TriggerMessage.Id | string | synlig | ID för användarmeddelandet som utlöste aktuellt ämne |
Recognizer.TriggerMessage.Text | string | synlig | Användarmeddelandet som utlöste aktuellt ämne |
User.DisplayName | string | synlig | Visningsnamnet för den inloggade användaren |
Skicka variabler mellan avsnitt
När du omdirigerar ett ämne till ett annat kan du skicka värdena för variabler mellan det ursprungliga ämnet och målämnet. Att skicka variabler mellan ämnen är särskilt användbart när ett tidigare ämne redan samlat in information som ett senare ämne behöver. Dina användare kommer att uppskatta att du inte behöver besvara samma frågor igen.
Ta emot värden från andra ämnen
När ett ämne definierar en variabel (till exempel i en frågenod) ställer copilot frågan till användaren för att fylla i variabelns värde. Om copilot redan har förvärvat värdet i ett tidigare ämne finns det ingen anledning att ställa frågan igen. I dessa fall kan du definiera variabeln som Ta emot värden från andra avsnitt. När ett annat ämne omdirigerar till det här, kan det skicka antingen värdet för en variabel (eller ett bokstavligt värde) i den här variabeln, och den hoppar över frågan helt. Upplevelsen för användaren att prata med copilot är sömlös.
I det här exemplet använder vi två avsnitt: Hälsning och Samtal med kund. I båda avsnitten uppmanas kunden att ange ett namn. Om Hälsningsämne körs först hoppar Samtal med kund-ämnet över frågan. I stället används värdet för variabeln som skickas från Hälsningsämnet.
Här är flödet av Samtal med kund-ämnet:
Som visas i rutan Testa copilot, om detta ämne utlöses först frågar det användaren: "Vad ska jag kalla dig?" Det lagrar värdet i en strängvariabel som kallas userName
. Variabeln userName
är också inställd på att hämta värdet från andra ämnen. Ämnet avslutar med meddelandet "Jag hoppas att du har en bra dag {userName}!"
Här är flödet av Hälsningsämnet:
Som visas i rutan Testa copilot, om detta ämne utlöses först frågar det användaren: "Vad heter du?" Det lagrar värdet i en strängvariabel som kallas UserName
. Ämnet skickar meddelandet "Trevligt att träffas {UserName}!" Den omdirigerar sedan till samtalet med kund-ämnet, som skickar meddelandet: "Jag hoppas att du får en bra dag {userName}!" Observera att ämnet Samtal med kund-ämnet hoppade över att fråga efter användarens namn igen. Istället använde den värdet av UserName
variabeln som skickas från Hälsningsämnet.
Slutligen här är det andra samtalet igen, den här gången utifrån ett Samtal med kund-ämnet:
Nu ska vi gå igenom stegen för att konfigurera en ämne som ska ta emot värden från andra avsnitt. Vi använder vårt aktuella exempel, men samma steg fungerar när som helst ämne behöver få ett värde från en tidigare ämne.
Konfigurera målämnet
Målämnet är det som ämnet omdirigeras till, det som tar emot värden från andra ämnen. I vårt exempel är det Samtal med kund.
Skapa eller gå till målämnet.
Lägg till en frågenod och ange
What should I call you?
för meddelandet.Under Identitet, välj den fördefinierade entiteten Personnamn.
Välj variabeln för att öppna rutan variabelegenskaper. Namnge den
userName
och välj sedan Ta emot värden från andra ämnen.I meddelanderutan, skriv
I hope you're having a wonderful day,
.Välj ikonen Infoga variabel ({x}) och välj sedan userName.
Markera utrymmet efter variabeln och typen
!
.Spara ämnet.
Ange källämne
Källämnet som ämnet som gör omdirigering, det som anger det värde som ska skickas till målämnet. I vårt exempel är det Hälsning.
Gå till källämnet.
Lägg till en omdirigeringsnod och välj målämne.
Välj + Lägg till indata och välj sedan variabeln från målämnet som du vill skicka ett värde till.
Markera ikonen > och välj sedan variabeln vars värde du vill skicka.
Omdirigeringsnoden bör se ut så här:
Spara ämnet.
Återställ värden till ursprungliga ämnen
När ett ämne omdirigeras till och erhåller en variabel genom att ställa en fråga eller på något annat sätt, kan variabeln returneras till det ursprungliga ämnet. Variabeln blir också en del av ursprungsversionen ämne kan användas som en annan variabel. Information om copilot är alltså tillgänglig i olika avsnitt, vilket minskar behovet av globala variabler.
Vi fortsätter med exemplet från föregående avsnitt. Vi ställer en ny fråga Samtal med kund-ämnet och besvarar sedan svaret på Hälsningsämnet.
Ställ in källämnet för en returnerad variabel
När du returnerar en variabel till ett ämne är källämnet det ämne som omdirigeras till, det som ger det värde som ska skickas tillbaka till det ursprungliga ämnet. I detta exempel är det Samtal med kund.
Gå till källämnet.
Lägg till en frågenod och ange
What city do you live in?
för meddelandet.Under Identitet, välj den fördefinierade entiteten Ort.
Välj variabeln för att öppna rutan variabelegenskaper. Namnge den
userCity
och välj sedan Återställ värden till ursprungliga ämnen.Spara ämnet.
Ställ in målämnet för en returnerad variabel
När du returnerar en variabel till ett ämne är målämne det ämne som gör omdirigeringen, det som tar emot värden från andra ämnen. I vårt exempel är det Hälsning.
Gå till målämnet.
Variabeln du valde i källfilen ämne visas i noden Omdirigera som en utdatavariabel.
Spara ämnet.
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för