Tunneling: esempio di una live chat su AIsuru
Tunneling: esempio di una live chat
In questa sezione vedremo come implementare una live chat usando gli intenti dinamici e il tunneling. Questo esempio ci permetterà di esplorare nel dettaglio sia il funzionamento del tunneling che la struttura delle chiamate degli intenti dinamici.
Il caso della live chat
Una live chat è un esempio perfetto per illustrare il tunneling poiché richiede:
Una conversazione continuativa con un servizio esterno;
Il mantenimento del contesto tra i messaggi;
La gestione in tempo reale delle risposte.
Struttura dell'intento dinamico
Per implementare la live chat, configuriamo l'intento dinamico con:
Nome: "LIVE_CHAT";
Frasi di attivazione: "Voglio parlare con un operatore", "Live chat", ecc.;
Webhook: URL del servizio che gestisce la live chat.
Quando l'utente attiva l'intento, il webhook riceve una richiesta con questa struttura:
Avvio del tunneling
Il webhook risponde attivando il tunneling per prendere il controllo della conversazione:
Da questo momento:
Ogni messaggio dell'utente viene inviato direttamente al webhook;
L'Agente non elabora più i messaggi ma li inoltra al servizio di chat;
Le risposte dell'operatore arrivano attraverso il webhook (che le passa all'Agente con l'emission).
Gestione della conversazione
Durante la chat, ogni messaggio dell'utente genera una richiesta al webhook:
Il webhook risponde mantenendo attivo il tunneling:
Chiusura della chat
Quando l'operatore chiude la chat, il webhook invia una risposta che termina il tunneling:
L'Agente riprende il normale controllo della conversazione.
L'esempio della live chat dimostra come il tunneling permetta di creare interazioni complesse mantenendo un'architettura pulita e gestibile. Gli stessi principi si possono applicare a molti altri scenari che richiedono una conversazione continuativa con un sistema esterno.
Last updated