Grundlagen der Agent Assist-Backend-Module

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.

Nächste Schritte

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