O Agent Assist agora oferece módulos de back-end, uma opção pronta para uso para integrar o Agent Assist ao seu sistema. Os módulos de back-end incluem um serviço interceptor do Cloud Pub/Sub e um serviço conector de UI. O interceptor processa notificações de eventos relacionados a recursos do Dialogflow usando tópicos do Cloud Pub/Sub. Em seguida, o conector de UI os envia para a interface da área de trabalho do agente. Os conectores UI também oferecem suporte a indicadores de feedback da área de trabalho do agente e os enviam para o Dialogflow.
Estrutura dos módulos de back-end
Componentes do módulo de back-end
Os módulos de back-end exigem os seguintes produtos do Google para integrar o recurso Assistente de IA ao seu sistema:
- Cloud Pub/Sub
- Interceptador do Cloud Pub/Sub
- Memorystore for Redis
- Conector UI
Cloud Pub/Sub
Os tópicos do Cloud Pub/Sub são configurados em perfis de conversa.
Em seguida, o Agent Assist vai publicar sugestões, novas mensagens, notificações de novos resultados de reconhecimento e eventos relacionados ao ciclo de vida da conversa no tópico. As sugestões estão na forma de
HumanAgentAssistantEvent
,
e tanto as novas mensagens quanto os eventos do ciclo de vida da conversa estão na forma de
ConversationEvent
.
Para cada perfil de conversa, esses quatro tipos de mensagens de evento são publicados
em tópicos diferentes. Por exemplo, uma mensagem de evento de ciclo de vida de conversa pode ser {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"}
, que indica o início de uma conversa.
Interceptador do Cloud Pub/Sub
O interceptor do Cloud Pub/Sub é implantado no Cloud Run. A funcionalidade de cada instância de contêiner (servidor) desse serviço do Cloud Run é idêntica a cada uma das outras instâncias, incluindo:
- Processamento de mensagens de eventos postadas por tópicos do Cloud Pub/Sub usando solicitações HTTP.
- Publicar mensagens recebidas nos canais do Pub/Sub do Redis, específicos para o
nome da conversa e o ID do servidor do conector da UI. O formato do canal é
{connector_id}:{conversation_name}
.
Redis
O Redis usa o Memorystore para Redis para fazer o seguinte:
- Registre as informações de ID do servidor do conector da interface para cada conversa no mapeamento
<conversation_name, connector_id>
. - Encaminha notificações de eventos publicadas pelo interceptor do Cloud Pub/Sub para o servidor de conector da UI correspondente usando o mecanismo Pub/Sub do Redis.
Conector UI
O conector de UI é um aplicativo que expõe um proxy RESTful da API Dialogflow
e um endpoint WebSocket do SocketIO para transmitir mensagens do Dialogflow
originadas do Agent Assist.
O conector de UI é implantado no Cloud Run.
Como as conexões WebSocket têm estado, a área de trabalho do agente vai permanecer
conectada ao mesmo contêiner no Cloud Run durante a vida útil da
conexão. Portanto, cada servidor de conector UI processa conversas diferentes e se inscreve em canais distintos do Redis Pub/Sub ({connector_id}:*
) para as conversas que processam. Tarefas para cada servidor de conector da UI:
- Oferece suporte a um método de autenticação personalizado para desktops de agentes.
- Gera um JWT temporário após autenticar os tokens personalizados das áreas de trabalho dos agentes. Quando eles enviam solicitações para a API Dialogflow ou para uma conexão WebSocket, os conectores de UI validam o JWT anexado em vez de verificar o token original do agente.
- Estabelece uma conexão WebSocket do SocketIO com a área de trabalho do agente autenticado com base em um nome de conversa específico.
- Inscreve mensagens de eventos em canais do Pub/Sub do Redis para as conversas que processa.
- Envia eventos do Assistente do agente para a UI do usuário da área de trabalho à medida que são recebidos.
Secret Manager
O conector da interface precisa de uma chave secreta JWT para gerar JWTs temporários para desktops de agentes autenticados. Essa chave secreta é armazenada no Secret Manager.
Diretório
A seguir, apresentamos uma visão geral da estrutura de diretórios no repositório de código. Entre em contato com seu representante do Google para receber permissões se não conseguir acessar o repositório.
. ├── 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
Preços e cotas
As integrações da Assistente de IA incluem os seguintes serviços, que têm preços e limites de cota aplicáveis próprios.
- Preços e cotas do Agent Assist
- Preços e cotas do Pub/Sub
- Preços e cotas do Memorystore
- Preços e cotas do Cloud Run
A seguir
Consulte o guia de instalação de módulos de back-end para mais informações sobre como começar a usar esse método de integração.