For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tunneling: esempio di chat in tempo reale su AIsuru

Tunneling: un esempio di 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 sia la struttura delle chiamate agli Intenti dinamici.

Lo scenario della live chat

Una live chat è un esempio perfetto per illustrare il tunneling perché richiede:

  • Una conversazione continuativa con un servizio esterno;

  • Il mantenimento del contesto tra i messaggi;

  • La gestione delle risposte in tempo reale.

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:

{
  "intentName": "LIVE_CHAT",
  "utterance": "I want to speak to an operator",
  "slotValues": {},
  "currentTag": "string",
  "currentTagAuthenticated": true,
  "contextVars": {},
  "memoriID": "string",
  "sessionID": "string",
  "culture": "en-US"
}

Avvio del tunneling

Il webhook risponde attivando il tunneling per prendere il controllo della conversazione:

Da questo momento:

  1. Ogni messaggio dell'utente viene inviato direttamente al webhook;

  2. L'Agente non elabora più i messaggi: li inoltra semplicemente al servizio di chat;

  3. Le risposte dell'operatore arrivano tramite il webhook, che le inoltra all'Agente tramite 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.

Il flag tunneling determina chi controlla la conversazione: se true, il webhook ha il controllo; se false, l'Agente riprende il controllo.

L'esempio della live chat mostra come il tunneling ti permetta di creare interazioni complesse mantenendo un'architettura pulita e gestibile. Gli stessi principi si applicano a molti altri scenari che richiedono una conversazione continuativa con un sistema esterno.

Ultimo aggiornamento