Agent Assist ahora ofrece módulos de backend, una opción lista para usar para integrar Agent Assist en tu sistema. Los módulos de backend incluyen un servicio de interceptor de Cloud Pub/Sub y un servicio de conector de IU. El interceptor procesa las notificaciones de eventos relacionados con las funciones de Dialogflow mediante temas de Cloud Pub/Sub y, luego, el conector de IU los envía a la IU de la computadora del agente. Los conectores de IU también admiten señales de comentarios de la computadora del agente y las envían a Dialogflow.
Estructura de los módulos de backend

Componentes de los módulos de backend
Los módulos de backend requieren los siguientes productos de Google para integrar Agent Assist en tu sistema:
- Cloud Pub/Sub
- Interceptor de Cloud Pub/Sub
- Memorystore para Redis
- Conector de IU
Cloud Pub/Sub
Los temas de Cloud Pub/Sub se configuran en
los perfiles de conversación.
Luego, Agent Assist publicará sugerencias, mensajes nuevos, notificaciones de resultados de reconocimiento nuevos y eventos relacionados con el ciclo de vida de la conversación en el tema. Las sugerencias tienen el formato
HumanAgentAssistantEvent,
y los mensajes nuevos y los eventos del ciclo de vida de la conversación tienen el formato
ConversationEvent.
Para cada perfil de conversación, estos cuatro tipos de mensajes de eventos se publican en temas diferentes. Por ejemplo, un mensaje de evento del ciclo de vida de la conversación podría
ser {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"},
que indica el inicio de una conversación.
Interceptor de Cloud Pub/Sub
El interceptor de Cloud Pub/Sub se implementa en Cloud Run. La funcionalidad de cada instancia de contenedor (servidor) de este servicio de Cloud Run es idéntica a la de cada instancia, incluidos los siguientes:
- Procesamiento de mensajes de eventos publicados por temas de Cloud Pub/Sub mediante solicitudes HTTP
- Publicación de mensajes recibidos en canales de Pub/Sub de Redis, específicos del nombre de la conversación y el ID del servidor del conector de IU (el formato del canal es
{connector_id}:{conversation_name})
Redis
Redis usa Memorystore para Redis para hacer lo siguiente:
- Registrar la información del ID del servidor del conector de IU para cada conversación en la asignación
<conversation_name, connector_id>. - Reenviar las notificaciones de eventos publicadas por el interceptor de Cloud Pub/Sub al servidor del conector de IU correspondiente mediante el mecanismo de Pub/Sub de Redis
Conector de IU
El conector de IU es una aplicación que expone un proxy de la API de Dialogflow RESTful y un extremo de WebSocket de SocketIO para transmitir mensajes de Dialogflow que se originan en Agent Assist.
El conector de IU se implementa en Cloud Run.
Debido a que las conexiones de WebSocket son con estado, la computadora del agente permanecerá conectada al mismo contenedor en Cloud Run durante toda la vida útil de la conexión. Por lo tanto, cada servidor del conector de IU controla diferentes conversaciones y se suscribe a distintos canales de Pub/Sub de Redis ({connector_id}:*) para las conversaciones que controla. Tareas para cada servidor del conector de IU:
- Admite un método de autenticación personalizado para las computadoras del agente.
- Genera JWT temporales después de autenticar los tokens personalizados de las computadoras del agente. Cuando envían solicitudes a la API de Dialogflow o a la conexión de WebSocket, los conectores de IU validan el JWT adjunto en lugar de verificar el token del agente original.
- Establece una conexión de WebSocket de SocketIO con la computadora del agente autenticada en función de un nombre de conversación determinado.
- Suscribe mensajes de eventos a canales de Pub/Sub de Redis para las conversaciones que controla.
- Envía eventos de Agent Assist a la IU de la computadora a medida que se reciben.
Secret Manager
El conector de IU necesita una clave secreta de JWT para generar JWT temporales para las computadoras del agente autenticadas. Esta clave secreta se almacena en el Secret Manager.
Directorio
A continuación, se muestra un esquema de la estructura de directorios en el repositorio de código. Comunícate con tu representante de Google para obtener permisos si no puedes acceder al repositorio.
.
├── 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
Precios y cuotas
Las integraciones de Agent Assist incluyen los siguientes servicios, que tienen sus propios precios y límites de cuota aplicables.
- Precios y cuotas de Agent Assist prices y quotas
- Precios y cuotas de Pub/Sub y
- Precios y cuotas de Memorystore prices y quotas
- Precios y cuotas de Cloud Run prices y quotas
¿Qué sigue?
Consulta la guía de instalación de módulos de backend para obtener más información sobre cómo comenzar a usar este método de integración.