Konfigurera överlämning till en generisk engagemangshubb
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.
Copilot Studio låter dig överföra copilot-konversationer sömlöst och kontextuellt till en mänsklig handläggare via en engagemangshubb.
Med en viss anpassad utveckling kan du konfigurera copilot till att överlämna konversationer till en valfri engagemangshubb. I den här guiden får du veta hur du kan göra detta.
Förutsättningar
- Du måste ha skapat en copilot med Copilot Studio.
- Du behöver en engagemangshubb som du kan använda för att interagera med API:er eller SDK.
Viktigt!
Instruktioner i det här avsnittet kräver programvaruutveckling från dig eller dina utvecklare. Den är avsedd för erfarna IT-proffs, t.ex. IT-administratörer eller IT-utvecklare med en gedigen förståelse för utvecklarverktyg, andra verktyg samt integrerade utvecklingsmiljöer (IDE:er) som vill integrera engagemangshubbar från tredje part med Copilot Studio.
Översikt
En komplett överlämning till en engagemangshubb följer detta mönster:
En slutanvändare interagerar med engagemangshubbens chattarbetsyta.
Engagemangshubben skickar den inkommande chatten via de inbyggda vidarebefordringsfunktionerna för chatt till en copilot.
En anpassad adapter vidarebefordrar de inkommande chattmeddelandena från engagemangshubben till en Copilot Studio-copilot.
När slutanvändaren utlöser överlämning, Copilot Studio startar överlämningen med en fullständig konversationskontext.
Den anpassade adaptern fångar upp meddelandet och tolkar den fullständiga konversationskontexten och vidarebefordrar sömlöst den eskalerade konversationen till en utbildad mänsklig handläggare utifrån tillgänglighet.
Slutanvändarens chatt överlämnas sömlöst kontextuellt till en mänsklig handläggare som kan återuppta konversationen.
Om du vill överlämna en konversation till en mänsklig handläggare måste du bygga en anpassad överlämningsadapter.
Skapa en anpassad överlämningsadapter
Ett adapter överbryggar samtal till och från handläggarens engagemangshubb för att vidarebefordra och omvandla meddelanden mellan slutanvändare, copilots och mänskliga handläggare.
De vanligaste engagemangshubbarna för handläggare tillhandahåller SDK:er eller dokumentera deras API:er offentligt, vilket gör att du kan skapas sådana adaptrar.
Även om det ligger utanför det här dokumentets omfång för att täcka vad en anpassad adapter kan innehålla, kan följande exempel på ett överlämningsmeddelande med utgångspunkt från vad Copilot Studio som skapas som en del av standardöverlämnings till en live-handläggarupplevelse kan hjälpa dig att komma igång.
Med hjälp av dessa kodavsnitt kan du extrahera kontext från konversationen till sömlös och sammanhangsberoende överlämning av copilot-konversationer till en generisk engagemangshubb.
Exempel på nyttolast för överlämningsmeddelande
Överlämningen stöds endast över Direct Line. Läs mer om hur du interagerar med en copilot över Direct Line. Vid överlämning, när en händelseaktivitet har anropat handoff.initiate
höjs den och skickas till adaptern.
Du kan visa ett fullständigt exempel på en överlämnande av meddelandeaktiviteter på vår GitHub-webbplatsen.
Extrahera kontext från ett överlämningsmeddelande
Om du vill använda konversationssammanhang måste du tolka handoff.initiate
händelseaktiviteten.
Följande kodavsnitt tolkar handoff.initiate
-händelseaktiviteten och extraherar konversationssammanhanget. Se exempel på fullständig kod på GitHub.
public void InitiateHandoff(string botresponseJson)
{
BotResponse response = JsonConvert.DeserializeObject<BotResponse>(botresponseJson);
// Look for Handoff Initiate Activity. This indicates that conversation needs to be handed off to agent
Activity handoffInitiateActivity = response.Activities.ToList().FirstOrDefault(
item => string.Equals(item.Type, ActivityTypes.Event, System.StringComparison.Ordinal)
&& string.Equals(item.Name, HandoffInitiateActivityName, System.StringComparison.Ordinal));
if (handoffInitiateActivity != null)
{
// Read transcript from attachment
if (handoffInitiateActivity.Attachments?.Any() == true)
{
Attachment transcriptAttachment = handoffInitiateActivity.Attachments.FirstOrDefault(a => string.Equals(a.Name.ToLowerInvariant(), TranscriptAttachmentName, System.StringComparison.Ordinal));
if (transcriptAttachment != null)
{
Transcript transcript = JsonConvert.DeserializeObject<Transcript>(transcriptAttachment.Content.ToString());
}
}
// Read handoff context
HandoffContext context = JsonConvert.DeserializeObject<HandoffContext>(handoffInitiateActivity.Value.ToString());
// Connect to Agent Hub
// <YOUR CUSTOM ADAPTER CODE GOES HERE>
}
}
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