Nel contesto degli agenti di intelligenza artificiale, l'adempimento si riferisce all'esecuzione di attività che comportano l'interazione con sistemi esterni per recuperare, manipolare o archiviare dati tramite API. In questo articolo viene descritto l'agente di esempio creato per tenere traccia dei pacchetti. Puoi usare questo modello di agente durante la creazione di un nuovo agente AI per le interazioni digitali e vocali.

Per i canali digitali, l'evasione degli ordini deve essere orchestrata attraverso il flusso di connessione utilizzato per distribuire l'agente di intelligenza artificiale. Prendendo l'esempio di un agente di tracciamento del pacchetto, che è possibile importare da un modello durante la creazione di un nuovo agente di script, il flusso è disponibile anche per l'importazione durante la creazione di un nuovo flusso Webex Connect. Oltre all'evasione degli ordini, questo flusso di connessione indirizza l'utente a code di agenti diverse in base all'ultima intenzione.

  1. Al termine della configurazione dell'agente di script, identificare le risposte che richiedono l'evasione.

    Nell'agente di esempio, l'evasione è richiesta per 'trackPackageResponse'.

  2. In questi modelli, configura una "risposta di attesa" che verrà visualizzata all'utente durante l'adempimento.

    In questo esempio, una risposta di attesa è configurata per 'trackPackageResponse'.

  3. Nel flusso, usa un nodo Data Parser per analizzare i metadati della sessione dell'agente (variabile di output) dalla risposta dell'agente AI per ottenere il nome della risposta.

    È possibile ottenere l'input di esempio per il nodo del parser dati scaricando le informazioni sulla transazione dalle sessioni selezionando la transazione appropriata e selezionando il valore della chiave 'generatedDf' dal file scaricato.

  4. Se si desidera eseguire il routing basato sull'intento al momento del passaggio dell'agente, è possibile ottenere il valore dell'intento attivo precedente nello stesso passaggio.

  5. Se non si desidera scaricare e analizzare il file JSON di esempio, è possibile utilizzare \$.model_state.template_key per il nome della risposta e \$.previous_intent_model_state.intent.name per il nome intento precedente.

    Nel nostro esempio, usiamo le variabili di flusso 'responseKey' e 'previousIntent' per questi valori.

  6. Utilizzare un nodo Branch per verificare se una risposta deve essere soddisfatta.

    • Il nodo del ramo esce attraverso il risultato del nodo "Nessuno dei precedenti" per le risposte che non richiedono l'adempimento.

    • Nel nostro esempio, poiché è necessario soddisfare 'trackPackageResponse', controlla il valore di 'responseKey' nel nostro nodo di filiale.

  7. Per le risposte che richiedono l'evasione, utilizzare un nodo HTTP per effettuare chiamate API esterne.

    • È possibile analizzare informazioni utili dalla risposta del nodo HTTP nello stesso nodo importando un campione e ottenendo variabili di output.

    • In questo esempio, otteniamo 'estimatedDelivery' e 'status' del pacco.

  8. Elabora la risposta di evasione ordini utilizzando un nodo Valuta per formulare la risposta dell'agente.

    Nel nostro esempio, inizializziamo la variabile 'fulfilmentResp' e ne impostiamo il valore in base allo stato del pacco e alla consegna stimata.

  9. Invia la risposta di evasione all'utente e aggiungila alla conversazione.

  10. Torna al nodo di ricezione per mantenere attiva la conversazione tra l'utente e l'agente di intelligenza artificiale.

Trasferimento dell'agente intent-based

Al momento del passaggio di consegne dell'agente, verificare l'ultimo intento attivo attraverso un nodo Branch prima del nodo attività Coda.

Controllare il valore di 'previousIntent' e diramare code diverse in base alle proprie esigenze. In questo esempio, se il cliente richiede un passaggio di consegne dell'agente dopo l'intento "Traccia pacchetto", indirizzalo alla coda "Specialista". Tutti gli altri valori portano a un passaggio alla coda 'Chat'.

Per i canali vocali, l'evasione deve essere orchestrata restituendo il controllo della conversazione al flusso vocale attraverso eventi personalizzati e successivamente riprendendo la conversazione dell'agente AI con i dati di evasione degli ordini. A tale scopo, viene riutilizzato l'agente di script di esempio per tenere traccia dei pacchetti. Il flusso è disponibile in 'Importa da modelli' in Webex Contact Center Flow Designer. Oltre all'evasione degli ordini, questo flusso indirizza l'utente a code di agenti diverse in base al suo ultimo intento.

Guida passo-passo: Adempimento

  1. Aggiungi il tipo di risposta 'Evento personalizzato'.

    • Individuare la chiave modello per la quale si desidera aggiungere l'evento personalizzato. In questo caso, utilizzare la chiave modello 'trackPackageResponse'.

    • Aggiungi il tipo di risposta 'evento personalizzato' alla chiave del modello.

  2. Configurare la risposta dell'evento personalizzato.

    • Aggiungi nome evento e payload evento:

      1. Per la risposta all'evento personalizzata, specificare un nome per l'evento. In questo caso, 'TrackPack_Exit'.

      2. Aggiungi il payload dell'evento, che contiene i dati che verranno passati al flusso. Deve essere in formato JSON. In questo esempio, {"PackageNumber":"${entity. PackageNum}"}.

  3. Utilizzare il payload evento nel flusso.

    • Accedere ai metadati dell'attività dell'agente virtuale v2 :
      1. Nella configurazione del flusso vocale, il payload dell'evento aggiunto è disponibile come parte dei metadati dell'attività dell'agente virtuale V2 .

      2. Creare la variabile di flusso PackageNum.

      3. Utilizzare un'attività di analisi per selezionare i metadati dell'attività dell'agente virtuale V2 come variabile di input.

      4. Impostare la variabile di output su 'PackageNum' e la relativa espressione di percorso su '$. PackageNum' (in base alla struttura del payload dell'evento configurato nella risposta dell'agente).

    • Utilizzare l'attività Metadati in HTTP :
      1. Utilizzare la variabile 'PackageNum' dai metadati elaborati nel flusso per tenere traccia del pacchetto.

      2. Importare il flusso allegato per trovare i dettagli dell'attività HTTP .

      3. Definire le variabili di flusso 'estimatedDelivery' e impostarle su '$.estimated_delivery' e un'altra variabile di flusso 'packStatus' e impostarla su $.status.

    • Aggiungere condizioni basate sull'attività HTTP :
      1. Aggiungere una nuova attività Condizione al flusso. Questa attività viene utilizzata per verificare la risposta dell'attività HTTP (se il pacchetto esiste e il suo stato).

        In questo esempio, l'espressione  {{ HTTPRequest_8l3.httpStatusCode == 404 }} viene utilizzata per verificare se non è stato trovato alcun pacchetto.

  4. Aggiungi attività Imposta variabile in base alle condizioni:
    1. Per la condizione per la quale il pacchetto non esiste:

      • Sotto il ramo in cui non viene trovato alcun pacchetto, aggiungere un'attività Imposta variabile .
      • Impostare packageResp (un'altra variabile di flusso) su:

        Nessun pacchetto trovato con questi dettagli.

    2. Per la condizione per la quale esiste il pacchetto:

      • Nel ramo in cui si trova un pacchetto (ovvero, il codice di stato HTTP non è uguale a 404), aggiungere un'altra attività Imposta variabile .
      • Impostare packageResp (un'altra variabile di flusso) su:

        Il tuo pacco è stato ritirato. Sarà consegnato da {{estimatedDelivery}}.

    3. Aggiungere altre due attività Imposta variabili per configurare il nome e i dati dell'evento. Questi dati verranno trasmessi all'attività dell'agente virtuale V2.

      • Creare variabili di flusso event_name e event_data.

      • Impostare event_name su TrackPack_Entry e event_data su {'packageResp': '{{packageResp}}' | json}.

  5. Tornare all'attività dell'agente virtuale V2 :

    • Configurare l'attività dell'agente virtuale V2:
      1. Connettere l'attività finale Set Variable all'attività Virtual Agent V2.

      2. Impostare il nome dell'evento su {{event_name}}.

      3. Impostare i dati dell'evento su {{event_data}}.

  6. Gestire gli eventi in arrivo nell'agente virtuale:

    1. Aggiungere una nuova chiave modello:

      1. Vai alla scheda Risposte nel pannello di sinistra.

      2. Aggiungere una nuova chiave modello denominata packageStatus.

    2. Configura evento in arrivo:

      1. Sotto il canale vocale, impostare l'evento in arrivo su TrackPack_Entry (o qualsiasi cosa sia stata inviata all'attività dell'agente virtuale V2 nel flusso).

    3. Configurare la risposta:

      1. Imposta la risposta su: <speak> <say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. Posso aiutarti con qualcos'altro?</parla>

        Questa risposta utilizza le variabili inviate nel payload dal flusso. Tutte le variabili inviate come parte dei dati dell'evento sono disponibili per gli sviluppatori come ${eventStore.<variable_name>}.

        In questo modo vengono utilizzati anche i tag SSML. In particolare, il tag SSML consente di controllare il modo in cui il testo viene interpretato e pronunciato da un motore di sintesi vocale. Questo tag può essere utilizzato per specificare come devono essere pronunciati numeri, date, ore, indirizzi e altro testo. Qui lo usiamo per data.

Instradamento dell'agente in base all'intento precedente

  • Se l'attività dell'agente virtuale V2 esce dall'output 'Escalated', utilizzare un'attività di analisi per ottenere l'intento precedente dai metadati dell'agente.

  • Utilizzare un'attività Case per verificare la presenza di valori diversi dell'intento precedente che determinano la logica di accodamento. In questo esempio, controlliamo se l'intento precedente era 'Traccia pacchetto'.

  • Collegare gli output dell'attività Case ai bordi dei contatti della coda appropriati.