Agent Assist ora offre moduli di backend, un'opzione pronta all'uso per integrare Agent Assist nel tuo sistema. I moduli di backend includono un servizio di intercettazione Cloud Pub/Sub e un servizio di connettore dell'interfaccia utente. L'intercettatore elabora le notifiche di eventi relativi alle funzionalità di Dialogflow utilizzando gli argomenti Cloud Pub/Sub, dopodiché il connettore dell'interfaccia utente le invia all'interfaccia utente desktop dell'agente. I connettori dell'interfaccia utente supportano anche gli indicatori di feedback dal computer dell'agente e li inviano a Dialogflow.
Struttura dei moduli di backend
Componenti del modulo di backend
I moduli di backend richiedono i seguenti prodotti Google per integrare Agent Assist nel tuo sistema:
- Cloud Pub/Sub
- Intercettatore Cloud Pub/Sub
- Memorystore for Redis
- Connettore UI
Cloud Pub/Sub
Gli argomenti Cloud Pub/Sub sono configurati nei
profili di conversazione.
Agent Assist pubblicherà quindi suggerimenti, nuovi messaggi, nuove notifiche relative ai risultati di riconoscimento ed eventi correlati al ciclo di vita della conversazione nell'argomento. I suggerimenti sono nel formato
HumanAgentAssistantEvent
,
e sia i nuovi messaggi sia gli eventi del ciclo di vita della conversazione sono nel formato
ConversationEvent
.
Per ogni profilo di conversazione, questi quattro tipi di messaggi di evento vengono pubblicati in argomenti diversi. Ad esempio, un messaggio relativo all'evento del ciclo di vita di una conversazione potrebbe essere {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"}
, che indica l'inizio di una conversazione.
Intercettatore Cloud Pub/Sub
L'intercettatore Cloud Pub/Sub viene disegnato su Cloud Run. La funzionalità di ogni istanza di container (server) di questo servizio Cloud Run è identica a quella di ogni altra istanza, tra cui:
- Elaborazione dei messaggi di evento pubblicati dagli argomenti Cloud Pub/Sub tramite richieste HTTP.
- Pubblicazione dei messaggi ricevuti nei canali Redis Pub/Sub, specifici per il nome della conversazione e l'ID server del connettore dell'interfaccia utente. Il formato del canale è
{connector_id}:{conversation_name}
.
Redis
Redis utilizza Memorystore for Redis per:
- Registra le informazioni sull'ID del server del connettore dell'interfaccia utente per ogni conversazione nella mappatura
<conversation_name, connector_id>
. - Inoltra le notifiche degli eventi pubblicate dall'intercettatore Cloud Pub/Sub al server del connettore dell'interfaccia utente corrispondente utilizzando il meccanismo Pub/Sub di Redis.
Connettore UI
Il connettore UI è un'applicazione che espone un proxy API Dialogflow RESTful e un endpoint WebSocket SocketIO per trasmettere in streaming i messaggi Dialogflow provenienti da Agent Assist.
Il connettore dell'interfaccia utente viene eseguito su Cloud Run.
Poiché le connessioni WebSocket sono stateful, il desktop dell'agente rimarrà collegato allo stesso contenitore su Cloud Run per tutta la durata della connessione. Pertanto, ogni server del connettore dell'interfaccia utente gestisce conversazioni diverse
e si iscrive a canali Redis Pub/Sub distinti ({connector_id}:*
) per le
conversazioni che gestisce. Attività per ogni server del connettore dell'interfaccia utente:
- Supporta un metodo di autenticazione personalizzato per i computer degli agenti.
- Genera JWT temporanei dopo aver autenticato i token personalizzati dei computer degli agenti. Quando inviano richieste all'API Dialogflow o alla connessione WebSocket, i connettori dell'interfaccia utente convalidano il JWT allegato anziché controllare il token agente originale.
- Stabilisce una connessione WebSocket SocketIO con il computer dell'agente autenticato in base a un determinato nome di conversazione.
- Abbonati ai messaggi di evento ai canali Redis Pub/Sub per le conversazioni gestite.
- Invia gli eventi di Agent Assist all'interfaccia utente del computer man mano che vengono ricevuti.
Secret Manager
Il connettore dell'interfaccia utente ha bisogno di una chiave segreta JWT per generare JWT temporanei per i computer degli agenti autenticati. Questa chiave segreta è archiviata in Secret Manager.
Directory
Di seguito è riportata una panoramica della struttura di directory nel repository di codice. Contatta il tuo rappresentante di Google per richiedere le autorizzazioni se non riesci ad accedere al repository.
. ├── cloud-pubsub-interceptor │ ├── Dockerfile: Builds Docker image for Cloud Pub/Sub interceptor deployment on Cloud Run. │ ├── main.py: A starter for flask app. │ ├── requirements.txt │ └── unit_test.py: Unit test code for Cloud Pub/Sub interceptor. └── ui-connector ├── auth.py: Handles JWT validation and registration. ├── config.py: Configures variables about authentication, logging and CORS origins. ├── dialogflow.py: Includes Dialogflow utilities for handling conversations at runtime. ├── Dockerfile: Builds Docker image for UI connector deployment on Cloud Run. ├── main.py: A starter for flask app. ├── requirements.txt ├── templates │ └── index.html: A simple interactive demo. └── unit_test.py: Unit test code for UI connector.
Passaggi successivi
Per ulteriori informazioni su come iniziare a utilizzare questo metodo di integrazione, consulta la guida all'installazione dei moduli di backend.