Agent Assist 백엔드 모듈 기본사항

이제 Agent Assist는 Agent Assist를 시스템에 통합하는 기본 제공 옵션인 백엔드 모듈을(를) 제공합니다. 백엔드 모듈에는 Cloud Pub/Sub 인터셉터 서비스와 UI 커넥터 서비스가 포함됩니다. 인터셉터는 Cloud Pub/Sub 주제를 사용하여 Dialogflow의 기능 관련 이벤트 알림을 처리한 다음 UI 커넥터가 이를 에이전트 데스크톱 UI로 푸시합니다. UI 커넥터는 에이전트 데스크톱의 의견 신호도 지원하고 이를 Dialogflow로 전송합니다.

백엔드 모듈 구조

백엔드 모듈 구성요소

백엔드 모듈에는 Agent Assist를 시스템에 통합하기 위해 다음 Google 제품이 필요합니다.

  • Cloud Pub/Sub
  • Cloud Pub/Sub 인터셉터
  • Redis용 Memorystore
  • UI 커넥터

Cloud Pub/Sub

Cloud Pub/Sub 주제는 대화 프로필에서 구성됩니다. 그러면 Agent Assist가 주제에 추천, 새 메시지, 새 인식 결과 알림, 대화 수명 주기 관련 이벤트를 게시합니다. 추천은 HumanAgentAssistantEvent 형식이고 새 메시지와 대화 수명 주기 이벤트는 모두 ConversationEvent 형식입니다. 각 대화 프로필에 대해 이러한 네 가지 유형의 이벤트 메시지가 서로 다른 주제에 게시됩니다. 예를 들어 대화 수명 주기 이벤트 메시지는 {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"}일 수 있으며 이는 대화 시작을 나타냅니다.

Cloud Pub/Sub 인터셉터

Cloud Pub/Sub 인터셉터는 Cloud Run에 배포됩니다. 이 Cloud Run 서비스의 각 컨테이너 인스턴스 (서버)의 기능은 다음과 같이 다른 인스턴스와 동일합니다.

  • HTTP 요청을 사용하여 Cloud Pub/Sub 주제에서 게시한 이벤트 메시지 처리
  • 대화 이름 및 UI 커넥터 서버 ID와 관련된 Redis Pub/Sub 채널에 수신된 메시지 게시 채널 형식은 {connector_id}:{conversation_name}입니다.

Redis

Redis는 Redis용 Memorystore를 사용하여 다음 작업을 실행합니다.

  • <conversation_name, connector_id> 매핑에서 각 대화의 UI 커넥터 서버 ID 정보 기록
  • Redis Pub/Sub 메커니즘을 사용하여 Cloud Pub/Sub 인터셉터에서 게시한 이벤트 알림을 상응하는 UI 커넥터 서버로 전달

UI 커넥터

UI 커넥터는 Agent Assist에서 발생하는 Dialogflow 메시지를 스트리밍하기 위해 RESTful Dialogflow API 프록시와 SocketIO WebSocket 엔드포인트를 노출하는 애플리케이션입니다. UI 커넥터는 Cloud Run에 배포됩니다. WebSocket 연결은 스테이트풀(Stateful)이므로 에이전트 데스크톱은 연결 수명 동안 Cloud Run의 동일한 컨테이너에 계속 연결을 유지합니다. 따라서 모든 UI 커넥터 서버는 서로 다른 대화를 처리하고 처리하는 대화에 대해 고유한 Redis Pub/Sub 채널 ({connector_id}:*)을 구독합니다. 각 UI 커넥터 서버의 작업은 다음과 같습니다.

  • 에이전트 데스크톱의 맞춤 인증 방법을 지원합니다.
  • 에이전트 데스크톱의 맞춤 토큰을 인증한 후 임시 JWT를 생성합니다. Dialogflow API 또는 WebSocket 연결에 요청을 전송할 때 UI 커넥터는 원래 에이전트 토큰을 확인하는 대신 연결된 JWT를 검증합니다.
  • 지정된 대화 이름을 기반으로 인증된 에이전트 데스크톱과 SocketIO WebSocket 연결을 설정합니다.
  • 처리하는 대화의 Redis Pub/Sub 채널에 이벤트 메시지를 구독합니다.
  • Agent Assist 이벤트를 수신되는 대로 데스크톱 UI로 푸시합니다.

Secret Manager

UI 커넥터에는 인증된 에이전트 데스크톱의 임시 JWT를 생성하기 위한 JWT 보안 비밀 키가 필요합니다. 이 보안 비밀 키는 Secret Manager에 저장됩니다.

디렉터리

다음은 코드 저장소의 디렉터리 구조 개요입니다. 저장소에 액세스할 수 없는 경우 Google 담당자에게 권한을 문의하세요.

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

가격 책정 및 할당량

Agent Assist 통합에는 자체 적용 가능한 가격 책정 및 할당량 한도가 있는 다음 서비스가 포함됩니다.

다음 단계

이 통합 방법을 시작하는 방법에 대한 자세한 내용은 백엔드 모듈 설치 가이드 를 참고하세요.