Dela via


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
Email 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.

Skärmbild av en frågenod med namnet och typen på standardvariabeln som är försent.

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.

Skärmbild på en frågenod med välj information om du vill identifiera menyn som är öppen och entiteten personnamn är försent.

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.

  1. Välj variabeln för att öppna den i fönstret Variabelegenskaper.

  2. 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.

  1. Välj Lägg till nod (+) om du vill lägga till en nod och välj sedan Variabelhantering>Ange ett variabelvärde.

  2. Välj rutan under Ange variabel och välj Skapa en ny variabel.

    Skärmbild på knappen Skapa en ny variabel.

    En ny variabel har skapats. Dess typ är okänd tills du tilldelar det ett värde.

    Skärmbild av noden Ange variabelvärde med en ny variabel av okänd typ.

  3. 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.

Skärmbild med ett litervärde för en variabel med namnet productName.

Skärmbild visar ett bokstavligt värde som indata för en variabel i en omdirigeringsnod.

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.

Skärmbild av rutan Variabler i redigeringsfönstret Copilot Studio där knappen Variabler är försent.

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.

Skärmbild på egenskapsfönstret variabler.

Systemvariabler

Varje copilot levereras med inbyggda systemvariabler som ger ytterligare information om en konversation.

Skärmbild av systemvariabler i ett copilot-ämne.

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:

Skärmbild av konversationsflödet Samtal med kund.

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:

Skärmbild av konversationsflödet Hälsningsämne.

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:

Skärmbild av samtalsflödet för Samtal med kund-ämnet när hälsningsämnet utlöses först.

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.

  1. Skapa eller gå till målämnet.

  2. Lägg till en frågenod och ange What should I call you? för meddelandet.

  3. Under Identitet, välj den fördefinierade entiteten Personnamn.

  4. Välj variabeln för att öppna rutan variabelegenskaper. Namnge den userName och välj sedan Ta emot värden från andra ämnen.

    Skärmbild av Samtal med kund ämne med variabeln userName och dess egenskaper.

  5. Lägg till en meddelandenod.

  6. I meddelanderutan, skriv I hope you're having a wonderful day, .

  7. Välj ikonen Infoga variabel ({x}) och välj sedan userName.

  8. Markera utrymmet efter variabeln och typen !.

  9. 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.

  1. Gå till källämnet.

  2. Lägg till en omdirigeringsnod och välj målämne.

  3. Välj + Lägg till indata och välj sedan variabeln från målämnet som du vill skicka ett värde till.

    Skärmbild av Hälsningsfrasen ämne variabeln userName läggs till som indata i en omdirigerad nod.

  4. Markera ikonen > och välj sedan variabeln vars värde du vill skicka.

    Skärmbild av hälsningsämnet med variabelvärdet UserName valt.

    Omdirigeringsnoden bör se ut så här:

    Skärmbild av hälsningsämnet med den slutförda noden Omdirigera.

  5. 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.

  1. Gå till källämnet.

  2. Lägg till en frågenod och ange What city do you live in? för meddelandet.

  3. Under Identitet, välj den fördefinierade entiteten Ort.

  4. Välj variabeln för att öppna rutan variabelegenskaper. Namnge den userCity och välj sedan Återställ värden till ursprungliga ämnen.

    Skärmbild av Samtal med kund ämne med variabeln userCity och dess egenskaper.

  5. 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.

  1. Gå till målämnet.

  2. Variabeln du valde i källfilen ämne visas i noden Omdirigera som en utdatavariabel.

    Skärmbild av Hälsningsfrasen ämne konversationsflödet med en returnerad variabel i en omdirigerad nod.

  3. Spara ämnet.