Agent Assist bietet jetzt Backend-Module, eine sofort einsatzbereite Option zur Integration von Agent Assist in Ihr System. Backend-Module umfassen einen Cloud Pub/Sub-Interceptor-Dienst und einen UI-Connector-Dienst. Der Interceptor verarbeitet ereignisbezogene Benachrichtigungen von Dialogflow mithilfe von Cloud Pub/Sub-Themen und der UI-Connector überträgt sie dann an die Benutzeroberfläche des Agent-Desktops. UI-Connectors unterstützen auch Feedbacksignale vom Agent-Desktop und senden sie an Dialogflow.
Struktur der Backend-Module

Komponenten von Backend-Modulen
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 Lebenszyklus von Unterhaltungen im Thema. Vorschläge haben das Format
HumanAgentAssistantEvent,
und sowohl neue Nachrichten als auch Ereignisse im Zusammenhang mit dem Lebenszyklus von Unterhaltungen haben das Format
ConversationEvent.
Für jedes Unterhaltungsprofil werden diese vier Arten von Ereignisnachrichten in verschiedenen Themen veröffentlicht. Eine Lifecycle-Event-Nachricht im Zusammenhang mit einer Unterhaltung könnte beispielsweise
so aussehen: {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"},
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:
- Verarbeitung von Ereignisnachrichten, die von Cloud Pub/Sub-Themen gepostet wurden, mithilfe von HTTP-Anfragen.
- Veröffentlichung von Nachrichten, die in Redis Pub/Sub-Kanälen empfangen wurden, spezifisch für den Unterhaltungsnamen und die Server-ID des UI-Connectors. Das Kanalformat ist
{connector_id}:{conversation_name}.
Redis
Redis verwendet Memorystore for Redis für folgende Aufgaben:
- Speichern der Server-ID-Informationen des UI-Connectors für jede Unterhaltung in der Zuordnung
<conversation_name, connector_id>. - Weiterleiten von Ereignisbenachrichtigungen, die vom Cloud Pub/Sub-Interceptor veröffentlicht wurden, an den entsprechenden UI-Connector-Server mithilfe des Redis Pub/Sub-Mechanismus.
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 Agent-Desktop während der gesamten Verbindung mit demselben Container in Cloud Run verbunden. Daher verarbeitet jeder UI-Connector-Server unterschiedliche Unterhaltungen und abonniert verschiedene Redis Pub/Sub-Kanäle ({connector_id}:*) für die von ihm verarbeiteten Unterhaltungen. Aufgaben für jeden UI-Connector-Server:
- Unterstützt eine benutzerdefinierte Authentifizierungsmethode für Agent-Desktops.
- Generiert ein temporäres JWT, nachdem die benutzerdefinierten Tokens der Agent-Desktops authentifiziert wurden. Wenn sie Anfragen an die Dialogflow API oder die WebSocket-Verbindung senden, validieren UI-Connectors das angehängte JWT, anstatt das ursprüngliche Agent-Token zu prüfen.
- Stellt eine SocketIO WebSocket-Verbindung mit dem authentifizierten Agent-Desktop basierend auf einem bestimmten Unterhaltungsnamen her.
- Abonniert Ereignisnachrichten für Redis Pub/Sub-Kanäle für die von ihm verarbeiteten Unterhaltungen.
- Überträgt Agent Assist-Ereignisse an die Desktop-Benutzeroberfläche, sobald sie empfangen werden.
Secret Manager
Der UI-Connector benötigt einen JWT-Secretschlüssel, um temporäre JWTs für authentifizierte Agent-Desktops zu generieren. Dieser Secretschlüssel wird im Secret Manager gespeichert.
Verzeichnis
Im Folgenden finden Sie eine Übersicht über die Verzeichnisstruktur im Code-Repository. Wenden Sie sich an Ihren Google-Ansprechpartner, um Berechtigungen zu erhalten, 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 jeweils eigene Preise und Kontingentlimits gelten.
- Preise und Kontingente für Agent Assist Preise und Kontingente
- Preise und Kontingente für Pub/Sub
- Preise und Kontingente für Memorystore prices und quotas
- Preise und Kontingente für Cloud Run
Nächste Schritte
Weitere Informationen zu den ersten Schritten mit dieser Integrationsmethode finden Sie in der Installationsanleitung für Backend-Module.