In de context van AI-agenten verwijst fulfillment naar de uitvoering van taken waarbij interactie met externe systemen nodig is om gegevens op te halen, te bewerken of op te slaan via API's. In dit artikel wordt de voorbeeldagent beschreven die is gemaakt voor het volgen van pakketten. U kunt deze agentsjabloon gebruiken bij het maken van een nieuwe AI-agent voor digitale en spraakinteracties.

Voor digitale kanalen moet de afhandeling worden geregeld via de connect flow die wordt gebruikt om de AI-agent in te zetten. Neem het voorbeeld van een pakkettrackingagent, die u kunt importeren vanuit een sjabloon terwijl u een nieuwe scriptagent maakt. De stroom kan ook worden geïmporteerd wanneer u een nieuwe Webex Connect-stroom maakt. Deze verbindingsstroom zorgt er niet alleen voor dat verzoeken worden uitgevoerd, maar leidt de gebruiker ook naar verschillende agentwachtrijen op basis van zijn/haar laatste intentie.

  1. Zodra u klaar bent met het instellen van uw scriptagent, identificeert u de reacties die moeten worden uitgevoerd.

    In de voorbeeldagent is uitvoering vereist voor 'trackPackageResponse'.

  2. Configureer in deze sjablonen een 'wachtreactie' die aan de gebruiker wordt weergegeven terwijl de afhandeling plaatsvindt.

    In dit voorbeeld is een holdingrespons geconfigureerd voor 'trackPackageResponse'.

  3. Gebruik in de stroom een Data Parser knooppunt om de sessiemetagegevens van de agent (uitvoervariabele) te parseren uit de respons van de AI-agent om de responsnaam te verkrijgen.

    U kunt de voorbeeldinvoer voor het gegevensparserknooppunt verkrijgen door transactiegegevens van sessies te downloaden. Selecteer hiervoor de juiste transactie en haal de waarde van de sleutel 'generatedDf' uit het gedownloade bestand.

  4. Als u op intentie gebaseerde routering wilt toepassen op het moment van de overdracht van de agent, kunt u in dezelfde stap de waarde van de vorige actieve intentie verkrijgen.

  5. Als u de voorbeeld-JSON niet wilt downloaden en parseren, kunt u \$.model_state.template_key voor de responsnaam gebruiken en \$.previous_intent_model_state.intent.name voor de vorige intentnaam.

    In ons voorbeeld gebruiken we de stroomvariabelen 'responseKey' en 'previousIntent' voor deze waarden.

  6. Gebruik een Branch node om te controleren of een respons moet worden uitgevoerd.

    • Het vertakkingsknooppunt verlaat de knooppuntuitkomst 'Geen van bovenstaande' voor antwoorden die geen uitvoering behoeven.

    • Omdat er in ons voorbeeld aan 'trackPackageResponse' moet worden voldaan, controleren we de waarde van 'responseKey' in ons vertakkingsknooppunt.

  7. Gebruik een HTTP knooppunt voor het doen van externe API-aanroepen voor reacties die moeten worden uitgevoerd.

    • U kunt nuttige informatie uit de HTTP-knooppuntrespons in hetzelfde knooppunt parseren door een voorbeeld te importeren en uitvoervariabelen te verkrijgen.

    • In dit voorbeeld verkrijgen we de 'estimatedDelivery' en de 'status' van het pakket.

  8. Verwerk de fulfillment-respons met behulp van een Evaluate knooppunt om de agentrespons te formuleren.

    In ons voorbeeld initialiseren we de variabele 'fulfilmentResp' en stellen we de waarde ervan in op basis van de pakketstatus en de geschatte levering.

  9. Stuur het fulfillment-antwoord naar de gebruiker en voeg het toe aan het gesprek.

  10. Ga terug naar het Ontvang knooppunt om de conversatie tussen de gebruiker en de AI-agent gaande te houden.

Op intentie gebaseerde agent-overdracht

Controleer bij de overdracht van de agent op de laatste actieve intentie via een Branch knooppunt vóór het Queue task knooppunt.

Controleer de waarde van 'previousIntent' en vertak naar verschillende wachtrijen op basis van uw vereisten. Als de klant in dit voorbeeld om een agent-overdracht vraagt na de intentie 'Pakket volgen', stuurt u hem door naar de wachtrij 'Specialist'. Alle overige waarden leiden tot een overdracht naar de 'Chat'-wachtrij.

Voor spraakkanalen moet de afhandeling worden geregeld door de controle over het gesprek terug te geven aan de spraakstroom via aangepaste gebeurtenissen. Het gesprek met de AI-agent moet vervolgens worden hervat met de afhandelingsgegevens. Hiervoor wordt de voorbeeldscriptagent voor het volgen van pakketten hergebruikt. De flow is beschikbaar via 'Importeren uit sjablonen' in de Webex Contact Center Flow Designer. Deze stroom zorgt er niet alleen voor dat een aanvraag wordt uitgevoerd, maar leidt de gebruiker ook naar verschillende wachtrijen van agenten op basis van zijn of haar laatste intentie.

Stapsgewijze handleiding: Uitvoering

  1. Responstype 'Aangepaste gebeurtenis' toevoegen.

    • Zoek de sjabloonsleutel waaraan u de aangepaste gebeurtenis wilt toevoegen. Gebruik in dit geval de sjabloonsleutel 'trackPackageResponse'.

    • Voeg het responstype 'aangepaste gebeurtenis' toe aan de sjabloonsleutel.

  2. Configureer de aangepaste gebeurtenisrespons.

    • Gebeurtenisnaam en gebeurtenis-payload toevoegen:

      1. Geef voor de aangepaste gebeurtenisrespons een gebeurtenisnaam op. In dit geval 'TrackPack_Exit'.

      2. Voeg de gebeurtenis-payload toe. Deze bevat gegevens die aan de stroom worden doorgegeven. Dit moet in JSON-formaat zijn. In dit voorbeeld: {"PackageNumber":"${entity.PackageNum}"}.

  3. Gebruik de Event Payload in de flow.

    • Toegang tot Virtuele Agent V2 Activiteitsmetagegevens:
      1. In uw spraakstroomconfiguratie is de gebeurtenislading die u hebt toegevoegd, beschikbaar als onderdeel van de activiteitsmetagegevens van Virtual Agent V2 .

      2. Maak de stroomvariabele PackageNum.

      3. Gebruik een Ontleden activiteit om uw te selecteren Virtuele agent V2 activiteitsmetagegevens als invoervariabele.

      4. Stel de uitvoervariabele in op 'PackageNum' en de padexpressie op '$.PackageNum' (op basis van de structuur van de gebeurtenispayload die is geconfigureerd in de agentrespons).

    • Gebruik de metagegevens in HTTP activiteit:
      1. Gebruik de variabele 'PackageNum' uit de verwerkte metagegevens in uw flow om het pakket te volgen.

      2. Importeer de bijgevoegde stroom om de details van de HTTP activiteit.

      3. Definieer de stroomvariabelen 'estimatedDelivery' en stel deze in op '$.estimated_delivery' en stel een andere stroomvariabele 'packStatus' in op $.status.

    • Voorwaarden toevoegen op basis van HTTP activiteit:
      1. Voeg een nieuwe toe Voorwaarde activiteit aan de stroom toe. Deze activiteit wordt gebruikt om de respons van de HTTP activiteit (of het pakket bestaat en wat de status ervan is).

        In dit voorbeeld is de uitdrukking  {{ HTTPRequest_8l3.httpStatusCode == 404 }} wordt gebruikt om te controleren of er geen pakket is gevonden.

  4. Toevoegen Variabele instellen activiteit op basis van voorwaarden:
    1. Voor de voorwaarde waarvoor het pakket niet bestaat:

      • Voeg onder de tak waar geen pakket is gevonden een Variabele instellen activiteit.
      • Stel packageResp (een andere flowvariabele) in op:

        Er is geen pakket gevonden met deze gegevens.

    2. Voor de voorwaarde waarvoor het pakket bestaat:

      • Voeg onder de tak waar een pakket is gevonden (dat wil zeggen, HTTP-statuscode is niet gelijk aan 404) nog een Variabele instellen activiteit.
      • Stel packageResp (een andere flowvariabele) in op:

        Uw pakket is opgehaald. Het wordt bezorgd op {{estimatedDelivery}}.

    3. Voeg nog twee Set-variabele-activiteiten toe om de gebeurtenisnaam en gebeurtenisgegevens te configureren. Deze gegevens worden doorgegeven aan de Virtual Agent V2-activiteit.

      • Maak de stroomvariabelen event_name en event_data.

      • Stel event_name in op TrackPack_Entry en event_data op {'packageResp': '{{packageResp}}' | json}.

  5. Terug naar de Virtuele agent V2 activiteit:

    • Configureer de Virtual Agent V2-activiteit:
      1. Sluit de laatste aan Variabele instellen activiteit aan de Virtual Agent V2-activiteit.

      2. Stel de gebeurtenisnaam in op {{event_name}}.

      3. Stel de gebeurtenisgegevens in op {{event_data}}.

  6. Inkomende gebeurtenissen verwerken in uw virtuele agent:

    1. Een nieuwe sjabloonsleutel toevoegen:

      1. Ga naar de reacties Tab in het linkerpaneel.

      2. Voeg een nieuwe sjabloonsleutel toe met de naam packageStatus.

    2. Configureer inkomende gebeurtenis:

      1. Stel onder het spraakkanaal de inkomende gebeurtenis in op TrackPack_Entry (of wat er ook naar de Virtual Agent V2-activiteit in de stroom is verzonden).

    3. Configureer het antwoord:

      1. Stel het antwoord in op: <speak><say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. Kan ik u nog ergens anders mee helpen?</speak>

        In dit antwoord worden de variabelen gebruikt die in de payload van de flow zijn verzonden. Variabelen die als onderdeel van de gebeurtenisgegevens worden verzonden, zijn voor ontwikkelaars toegankelijk via ${eventStore.<variabele_naam>}.

        Hierbij worden ook SSML-tags gebruikt. Met de SSML-tag kunt u met name bepalen hoe tekst wordt geïnterpreteerd en uitgesproken door een tekst-naar-spraak-engine. Met deze tag kunt u aangeven hoe getallen, datums, tijden, adressen en andere tekst moeten worden uitgesproken. Hier gebruiken we het voor datum.

Agent-routering op basis van eerdere intentie

  • Als de Virtuele agent V2 activiteit verlaat via de 'Geëscaleerde' uitvoer, gebruik een Ontleden activiteit om de vorige intentie uit agentmetadata te halen.

  • Gebruik een case-activiteit om te controleren of er verschillende waarden van de vorige bedoeling zijn die de wachtrijlogica bepalen. In dit voorbeeld controleren we of de vorige bedoeling 'Pakket volgen' was.

  • Koppel de gegevens van de case-activiteit aan de juiste contactranden voor de wachtrij.