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 UI. L'intercettore elabora le notifiche degli eventi correlati alle funzionalità di Dialogflow utilizzando gli argomenti Cloud Pub/Sub, quindi il connettore UI le invia all'interfaccia utente del desktop dell'agente. I connettori UI supportano anche gli indicatori di feedback dal desktop 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
- Intercettore Cloud Pub/Sub
- Memorystore for Redis
- Connettore UI
Cloud Pub/Sub
Gli argomenti Cloud Pub/Sub sono configurati nei
profili conversazione.
Agent Assist pubblicherà quindi suggerimenti, nuovi messaggi, nuove notifiche sui risultati del riconoscimento e eventi relativi al ciclo di vita della conversazione nell'argomento. I suggerimenti sono nel formato
HumanAgentAssistantEvent
,
mentre i nuovi messaggi e gli eventi del ciclo di vita della conversazione sono nel formato
ConversationEvent
.
Per ogni profilo di conversazione, questi quattro tipi di messaggi di eventi vengono pubblicati
in argomenti diversi. Ad esempio, un messaggio di 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.
Intercettore Cloud Pub/Sub
L'intercettore Cloud Pub/Sub viene implementato su Cloud Run. La funzionalità di ogni istanza di container (server) di questo servizio Cloud Run è identica a ogni altra istanza, tra cui:
- Elaborazione dei messaggi di eventi pubblicati dagli argomenti Cloud Pub/Sub utilizzando richieste HTTP.
- Pubblicazione dei messaggi ricevuti nei canali Pub/Sub di Redis, specifici per il nome della conversazione e l'ID server del connettore UI. Il formato del canale è
{connector_id}:{conversation_name}
.
Redis
Redis utilizza Memorystore for Redis per:
- Registra le informazioni sull'ID server del connettore UI per ogni conversazione nella mappatura
<conversation_name, connector_id>
. - Inoltra le notifiche degli eventi pubblicate dall'intercettore Cloud Pub/Sub al server del connettore UI corrispondente utilizzando il meccanismo Redis Pub/Sub.
Connettore UI
Il connettore UI è un'applicazione che espone un proxy API RESTful di Dialogflow
e un endpoint WebSocket SocketIO per lo streaming dei messaggi di Dialogflow
provenienti da Agent Assist.
Il connettore UI viene implementato su Cloud Run.
Poiché le connessioni WebSocket sono stateful, l'agente desktop rimarrà
connesso allo stesso container su Cloud Run per tutta la durata della
connessione. Pertanto, ogni server del connettore UI 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 UI:
- Supporta un metodo di autenticazione personalizzato per i desktop degli agenti.
- Genera JWT temporanei dopo l'autenticazione dei token personalizzati dei desktop degli agenti. Quando inviano richieste all'API Dialogflow o alla connessione WebSocket, i connettori UI convalidano il JWT allegato anziché controllare il token agente originale.
- Stabilisce una connessione SocketIO WebSocket con il desktop dell'agente autenticato in base a un determinato nome di conversazione.
- Sottoscrive i messaggi di eventi ai canali Pub/Sub di Redis per le conversazioni che gestisce.
- Trasferisce gli eventi di Agent Assist all'interfaccia utente desktop man mano che vengono ricevuti.
Secret Manager
Il connettore UI ha bisogno di una chiave segreta JWT per generare JWT temporanei per i desktop degli agenti autenticati. Questa chiave segreta è archiviata in Secret Manager.
Directory
Di seguito è riportato uno schema della struttura delle directory nel repository di codice. Se non riesci ad accedere al repository, contatta il tuo rappresentante di Google per ottenere le autorizzazioni.
. ├── cloud-pubsub-interceptor │ ├── Dockerfile: Docker-image creation for Cloud Pub/Sub Interceptor deployment on Cloud Run │ ├── main.py: A starter for flask app │ ├── requirements.txt: Python packages for running Cloud Pub/Sub Interceptor service │ └── unit_test.py: Unit test code for Cloud Pub/Sub Interceptor ├── cloudbuild.yaml: An example configuration file for Cloud Build ├── deploy.sh: An automated deployment script ├── images ├── readme.md └── ui-connector ├── Dockerfile: Builds Docker image for UI Connector deployment on Cloud Run ├── auth.py: JWT validation and registration handling ├── auth_options.py: Support for authentication through different identity providers ├── config.py: Configuration for variables about authentication, logging, and CORS origins ├── dialogflow.py: With Dialogflow utilities for runtime-conversation handling ├── main.py: A starter for flask app ├── requirements.txt: Python packages for running UI Connector ├── templates │ └── index.html: A simple interactive demo └── unit_test.py: Unit test code for UI Connector
Prezzi e quote
Le integrazioni di Agent Assist includono i seguenti servizi, che hanno prezzi e limiti di quota propri applicabili.
- Prezzi e quote di Agent Assist
- Prezzi e quote di Pub/Sub
- Prezzi e quote di Memorystore
- Prezzi e quote di Cloud Run
Passaggi successivi
Per ulteriori informazioni su come iniziare a utilizzare questo metodo di integrazione, consulta la guida all'installazione dei moduli di backend.