Grundlagen der Agent Assist-Backend-Module

Agent Assist bietet jetzt Backend-Module, eine sofort einsatzbereite Option zur Einbindung von Agent Assist in Ihr System. Zu den Back-End-Modulen gehören ein Cloud Pub/Sub-Abfangdienst und ein UI-Connector-Dienst. Der Interceptor verarbeitet funktionsbezogene Ereignisbenachrichtigungen von Dialogflow mithilfe von Cloud Pub/Sub-Themen. Der UI-Connector überträgt sie dann an die Desktop-Benutzeroberfläche des Kundenservicemitarbeiters. UI-Connectors unterstützen auch Feedbacksignale vom Computer des Kundenservicemitarbeiters und senden sie an Dialogflow.

Struktur von Backend-Modulen

Back-End-Modulkomponenten

Für die Backend-Module sind die folgenden Google-Produkte erforderlich, um Agent Assist in Ihr System einzubinden:

  • Cloud Pub/Sub
  • Cloud Pub/Sub-Abfangmechanismus
  • 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 gesprächsbezogene Ereignisse zum Thema. Vorschläge haben das Format HumanAgentAssistantEvent und sowohl neue Nachrichten als auch Ereignisse im Lebenszyklus von Unterhaltungen das Format ConversationEvent. Für jedes Unterhaltungsprofil werden diese vier Arten von Ereignisnachrichten für verschiedene Themen veröffentlicht. Eine Ereignisnachricht für den Konversationslebenszyklus 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-Abfangmechanismus

Der Cloud Pub/Sub-Abfangmechanismus wird in Cloud Run bereitgestellt. Die Funktionen jeder Containerinstanz (Server) dieses Cloud Run-Dienstes sind mit denen der anderen Instanzen identisch. Dazu gehören:

  • Verarbeitung von Ereignisnachrichten, die von Cloud Pub/Sub-Themen mithilfe von HTTP-Anfragen gepostet wurden.
  • Empfangene Nachrichten werden in Redis Pub/Sub-Kanälen veröffentlicht, die dem Namen der Unterhaltung und der Server-ID des UI-Connectors entsprechen. Das Kanalformat ist {connector_id}:{conversation_name}.

Redis

Redis verwendet Memorystore for Redis für Folgendes:

  • Notieren Sie die Informationen zur UI-Connector-Server-ID für jede Unterhaltung in der Zuordnung <conversation_name, connector_id>.
  • Weiterleiten von Ereignisbenachrichtigungen, die vom Cloud Pub/Sub-Abfangmechanismus 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 von Agent Assist zu streamen. Der UI-Connector wird in Cloud Run bereitgestellt. Da WebSocket-Verbindungen zustandsorientiert sind, bleibt der Agent-Computer 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-Kanäle ({connector_id}:*). Aufgaben für jeden UI-Connector-Server:

  • Unterstützt eine benutzerdefinierte Authentifizierungsmethode für den Computer des Kundenservicemitarbeiters.
  • Generiert ein temporäres JWT nach der Authentifizierung der benutzerdefinierten Tokens der Kundenservicemitarbeiter-Computer. 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.
  • Es wird eine SocketIO-WebSocket-Verbindung mit dem Desktop des authentifizierten Kundenservicemitarbeiters basierend auf einem bestimmten Unterhaltungsnamen hergestellt.
  • Abonniert Ereignisnachrichten für die von ihm verarbeiteten Unterhaltungen bei Redis Pub/Sub-Kanälen.
  • Agent Assist-Ereignisse werden nach Erhalt an die Desktop-Benutzeroberfläche gesendet.

Secret Manager

Der UI-Connector benötigt einen JWT-Geheimschlüssel, um temporäre JWTs für authentifizierte Agenten-Desktops zu generieren. Dieser geheime Schlü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, wenn Sie keinen Zugriff auf das Repository haben.

.
├── 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.

Nächste Schritte

Weitere Informationen zu den ersten Schritten mit dieser Integrationsmethode finden Sie in der Installationsanleitung für Backend-Module.