Agent Assist bietet jetzt Back-End-Module, eine sofort einsatzbereite Option zur Integration von Agent Assist in Ihr System. Zu den Backend-Modulen gehören ein Cloud Pub/Sub-Interceptor-Dienst und ein UI-Connector-Dienst. Der Interceptor verarbeitet funktionsbezogene Ereignisbenachrichtigungen von Dialogflow mithilfe von Cloud Pub/Sub-Themen und der UI-Connector überträgt sie dann an die Benutzeroberfläche des Kundenservicemitarbeiter-Desktops. UI-Connectors unterstützen auch Feedbacksignale vom Agent-Desktop und senden sie an Dialogflow.
Struktur von Backend-Modulen
Komponenten des Back-End-Moduls
Für Backend-Module sind die folgenden Google-Produkte erforderlich, um Agent Assist in Ihr System zu integrieren:
- Cloud Pub/Sub
- Cloud Pub/Sub-Interceptor
- Memorystore for Redis
- UI-Connector
Cloud Pub/Sub
Cloud Pub/Sub-Themen werden in Unterhaltungsprofilen konfiguriert.
Agent Assist veröffentlicht dann Vorschläge, neue Nachrichten, neue Benachrichtigungen zu Erkennungsergebnissen und Ereignisse im Zusammenhang mit dem Konversationslebenszyklus im Thema. Vorschläge haben das Format HumanAgentAssistantEvent
und sowohl neue Nachrichten als auch Ereignisse im Lebenszyklus von Unterhaltungen haben das Format ConversationEvent
.
Für jedes Unterhaltungsprofil werden diese vier Arten von Ereignisnachrichten in verschiedenen Themen veröffentlicht. Eine Nachricht zu einem Ereignis im Lebenszyklus einer Unterhaltung könnte beispielsweise {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"}
sein, was den Beginn einer Unterhaltung angibt.
Cloud Pub/Sub-Interceptor
Der Cloud Pub/Sub-Interceptor wird in Cloud Run bereitgestellt. Die Funktionalität jeder Containerinstanz (Server) dieses Cloud Run-Dienstes ist mit der jeder anderen Instanz identisch, einschließlich:
- Verarbeiten von Ereignisnachrichten, die von Cloud Pub/Sub-Themen mit HTTP-Anfragen gesendet werden.
- Veröffentlichen von empfangenen Nachrichten in Redis Pub/Sub-Channels, die für den Konversationsnamen und die UI-Connector-Server-ID spezifisch sind. Das Kanalformat ist
{connector_id}:{conversation_name}
.
Redis
Redis verwendet Memorystore for Redis für folgende Aufgaben:
- Erfassen Sie die Informationen zur UI-Connector-Server-ID für jede Unterhaltung in der Zuordnung
<conversation_name, connector_id>
. - Leiten Sie Ereignisbenachrichtigungen, die vom Cloud Pub/Sub-Interceptor veröffentlicht wurden, mithilfe des Redis-Pub/Sub-Mechanismus an den entsprechenden UI-Connector-Server weiter.
UI-Connector
Der UI-Connector ist eine Anwendung, die einen RESTful-Dialogflow-API-Proxy und einen SocketIO-WebSocket-Endpunkt bereitstellt, um Dialogflow-Nachrichten zu streamen, die von Agent Assist stammen.
Der UI-Connector wird in Cloud Run bereitgestellt.
Da WebSocket-Verbindungen zustandsorientiert sind, bleibt der Kundenservicemitarbeiter-Desktop während der gesamten Verbindung mit demselben Container in Cloud Run verbunden. Daher verarbeitet jeder UI-Connector-Server unterschiedliche Unterhaltungen und abonniert für die von ihm verarbeiteten Unterhaltungen unterschiedliche Redis Pub/Sub-Channels ({connector_id}:*
). Aufgaben für jeden UI-Connector-Server:
- Unterstützt eine benutzerdefinierte Authentifizierungsmethode für Agent-Desktops.
- Generiert temporäre JWTs nach der Authentifizierung der benutzerdefinierten Tokens von Agent-Desktops. Wenn sie Anfragen an die Dialogflow API oder WebSocket-Verbindung senden, validieren UI-Connectors das angehängte JWT anstelle des ursprünglichen Agent-Tokens.
- Stellt eine SocketIO-WebSocket-Verbindung mit dem authentifizierten Agent-Desktop auf Grundlage eines bestimmten Konversationsnamens her.
- Abonniert Ereignisnachrichten für Redis Pub/Sub-Kanäle für die Konversationen, die es verarbeitet.
- Pushes Agent Assist events to the desktop UI as they are received.
Secret Manager
Der UI-Connector benötigt einen geheimen JWT-Schlüssel, um temporäre JWTs für authentifizierte Agent-Desktops zu generieren. Dieser geheime Schlüssel wird im Secret Manager gespeichert.
Verzeichnis
Im Folgenden finden Sie einen Überblick über die Verzeichnisstruktur im Code-Repository. Wenden Sie sich an Ihren Google-Ansprechpartner, wenn Sie nicht auf das Repository zugreifen können.
. ├── 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
Preise und Kontingente
Agent Assist-Integrationen umfassen die folgenden Dienste, für die eigene Preise und Kontingentlimits gelten.
- Preise und Kontingente für Agent Assist
- Preise und Kontingente für Pub/Sub
- Preise und Kontingente für Memorystore
- Preise und Kontingente für Cloud Run
Nächste Schritte
Weitere Informationen zum Einstieg in diese Integrationsmethode finden Sie im Installationsleitfaden für Backend-Module.