Agent Assist ora offre moduli di backend, un'opzione predefinita per l'integrazione di 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 relativi 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 i segnali di feedback dal desktop dell'agente e li inviano a Dialogflow.
Struttura dei moduli di backend

Componenti dei moduli 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 in
profili di conversazione.
Agent Assist pubblicherà quindi suggerimenti, nuovi messaggi, nuove notifiche dei risultati di riconoscimento ed 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 della 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 container (server) di questo servizio Cloud Run è identica a quella di ogni altra istanza, tra cui:
- Elaborazione dei messaggi di eventi pubblicati dagli argomenti Cloud Pub/Sub utilizzando le richieste HTTP.
- Pubblicazione dei messaggi ricevuti nei canali Pub/Sub di Redis, specifici per il nome della conversazione e l'ID del server del connettore UI. Il formato del canale è
{connector_id}:{conversation_name}.
Redis
Redis utilizza Memorystore for Redis per eseguire le seguenti operazioni:
- Registra le informazioni sull'ID del server del connettore UI per ogni conversazione nel mapping
<conversation_name, connector_id>. - Inoltra le notifiche degli eventi pubblicate dall'intercettore Cloud Pub/Sub al server del connettore UI corrispondente utilizzando il meccanismo Pub/Sub di Redis.
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, il desktop dell'agente rimarrà connesso allo stesso container su Cloud Run per tutta la durata della connessione. Di conseguenza, ogni server del connettore UI gestisce conversazioni diverse e si abbona a canali Pub/Sub di Redis 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 dell'agente originale.
- Stabilisce una connessione WebSocket SocketIO con il desktop dell'agente autenticato in base a un determinato nome di conversazione.
- Abbona i messaggi di eventi ai canali Pub/Sub di Redis per le conversazioni che gestisce.
- Invia gli eventi di Agent Assist all'interfaccia utente del desktop non appena 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 è riportata una panoramica della struttura delle directory nel repository del codice. Contatta il tuo rappresentante di Google per le autorizzazioni se non riesci ad accedere al repository.
.
├── 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 applicabili.
- Prezzi e quote di Agent Assist prices e quotas
- Prezzi e quote di Pub/Sub
- Prezzi e quote di Memorystore prices e quotas
- Prezzi e quote di Cloud Run prices e quotas
Passaggi successivi
Per ulteriori informazioni su come iniziare a utilizzare questo metodo di integrazione, consulta la guida all'installazione dei moduli di backend.