Dela via


Överföra konversationer från robot till människa

GÄLLER FÖR: SDK v4

Oavsett hur mycket artificiell intelligens en robot har kan den fortfarande behöva lämna över konversationen till en människa. En sådan hand off kan vara nödvändig om roboten inte förstår användaren (på grund av en AI-begränsning) eller om begäran inte kan automatiseras och kräver en mänsklig åtgärd. I sådana fall bör roboten känna igen när den behöver lämna konversationen och ge användaren en smidig övergång.

Microsoft Bot Framework är en öppen plattform som gör det möjligt för utvecklare att integrera med olika plattformar för agentengagemang.

Integreringsmodeller för överlämning

Microsoft Bot Framework har stöd för två modeller för integrering med agentengagemangsplattformar. Överlämningsprotokollet är identiskt för båda modellerna, men registreringsinformationen skiljer sig mellan modellerna och agentens engagemangsplattformar.

Målet är inte att erbjuda en universell lösning för integrering med någon kunds system, utan snarare att tillhandahålla ett gemensamt språk och bästa praxis för robotutvecklare och systemintegratörer som du kan använda för att skapa konversations-AI-system med en människa i loopen.

Robot som agent

I den första modellen, som kallas robot som agent, ansluter roboten till de liveagenter som är anslutna till agenthubben och svarar på användarbegäranden som om begäranden kom från någon annan Bot Framework-kanal. Konversationen mellan användaren och roboten kan eskaleras till en mänsklig agent, då roboten kopplas från den aktiva konversationen.

Den största fördelen med den här modellen är dess enkelhet – du kan lägga till en befintlig robot i agenthubben med minimal ansträngning, och agenthubben hanterar komplexiteten i meddelanderoutning.

Diagram of an agent hub that can direct messages to a bot or human agents.

Robot som proxy

Den andra modellen kallas robot som en proxy. Användaren pratar direkt med roboten tills roboten bestämmer sig för att den behöver hjälp från en mänsklig agent. Meddelanderouterkomponenten i roboten omdirigerar konversationen till agenthubben, som skickar den till lämplig agent. Roboten stannar kvar i loopen och kan samla in avskriften av konversationen, filtrera meddelanden eller tillhandahålla ytterligare innehåll till både agenten och användaren.

Flexibilitet och kontroll är de största fördelarna med den här modellen. Roboten kan stödja flera kanaler och ha kontroll över hur konversationerna eskaleras och dirigeras mellan användaren, roboten och agenthubben.

Diagram of a bot that can route messages to an agent hub.

Protokoll för överlämning

Protokollet är centrerat kring händelser för initiering, som skickas av roboten till kanalen och statusuppdatering, som skickas av kanalen till roboten.

Initiering av överlämning

En initieringshändelse för överlämning skapas av roboten för att initiera överlämning.

Händelsen kan innehålla:

  • Kontexten för överlämningsbegäran för att dirigera konversationen till en lämplig agent.
  • En avskrift av konversationen, så att en agent kan läsa konversationen som ägde rum mellan kunden och roboten innan överlämningen initierades.

Följande är vanliga egenskaper för initieringshändelser för överlämning:

  • Namn: Krävs, namnegenskapen måste vara inställd på "handoff.initiate".

  • Konversation: Krävs, konversationsegenskapen beskriver konversationen där aktiviteten finns. Konversationen måste innehålla konversationen Id.

  • Värde: Valfritt, värdeegenskapen kan innehålla agenthubbspecifikt JSON-innehåll som hubben kan använda för att dirigera konversationen till en relevant agent.

  • Bifogade filer: Valfritt, egenskapen bifogade filer kan innehålla en avskrift som en bifogad fil. Bot Framework definierar en typ av transkriptionsbilaga . En bifogad fil kan skickas antingen infogad (med en storleksgräns) eller offline genom att ange ContentUrl.

    handoffEvent.Attachments = new List<Attachment> {
        new Attachment {
            Content = transcript,
            ContentType = "application/json",
            Name = "Transcript",
        }
    };
    

    Kommentar

    Agenthubbar måste ignorera typer av bifogade filer som de inte förstår.

När en robot upptäcker behovet av att överlämna konversationen till en agent signalerar den sin avsikt genom att skicka en initieringshändelse för överlämning. SDK:t för C# innehåller en CreateHandoffInitiation metod för att skapa en giltig initieringshändelse för överlämning.

var activities = GetRecentActivities();
var handoffContext = new { Skill = "credit cards" };
var handoffEvent =
    EventFactory.CreateHandoffInitiation(
        turnContext, handoffContext, new Transcript(activities));
await turnContext.SendActivityAsync(handoffEvent);

Status för överlämning

En statushändelse för överlämning skickas till roboten av agenthubben. Händelsen informerar roboten om status för den initierade överlämningsåtgärden.

Kommentar

Robotar krävs inte för att hantera en statushändelse för överlämning, men de får inte avvisa den.

Följande är vanliga fält för överlämningsstatushändelser:

  • Namn: Krävs, namnegenskapen måste vara inställd på "handoff.status".

  • Konversation: Krävs, konversationsegenskapen beskriver konversationen där aktiviteten finns. Konversationen måste innehålla konversationen Id.

  • Värde: Obligatoriskt, värdeegenskapen som beskriver den aktuella statusen för överlämningsåtgärden. Värdet har följande egenskaper.

    • Tillstånd: Krävs, tillståndsegenskapen kan ha något av följande värden:

      Värde Innebörd
      "accepterad" En agent accepterade begäran och tog kontroll över konversationen.
      "misslyckades" Begäran om överlämning misslyckades. Meddelandeegenskapen kan innehålla ytterligare information som är relevant för felet.
      "slutfört" Överlämningsbegäran har slutförts.
    • Meddelande: Valfritt, meddelandeegenskapen är ett objekt som definieras av agenthubben.

    Här är några exempel på värdeobjekt:

    { "state" : "completed" }
    
    { "state" : "failed", "message" : "Can't find agent with requested skill" }
    

Överlämningsbibliotek

Handoff-biblioteket har skapats för att komplettera Bot Framework v4 SDK i stöd för överlämning, särskilt:

  • Implementerar tilläggen till Bot Framework SDK för att stödja överlämning till en agent (kallas även eskalering).
  • Innehåller definitioner av tre händelsetyper för att signalera överlämningsåtgärder.

Kommentar

Integreringar med specifika agenthubbar ingår inte i biblioteket.

Ytterligare resurser