Agent Assist kini menawarkan modul backend, opsi siap pakai untuk mengintegrasikan Agent Assist ke dalam sistem Anda. Modul backend mencakup layanan interseptor Cloud Pub/Sub dan layanan konektor UI. Interseptor memproses notifikasi peristiwa terkait fitur dari Dialogflow menggunakan topik Cloud Pub/Sub, lalu konektor UI mengirimkannya ke UI desktop agen. Konektor UI juga mendukung sinyal masukan dari desktop agen dan mengirimkannya ke Dialogflow.
Struktur modul backend

Komponen modul backend
Modul backend memerlukan produk Google berikut untuk mengintegrasikan Agent Assist ke dalam sistem Anda:
- Cloud Pub/Sub
- Interseptor Cloud Pub/Sub
- Memorystore for Redis
- Konektor UI
Cloud Pub/Sub
Topik Cloud Pub/Sub dikonfigurasi dalam
profil percakapan.
Agent Assist kemudian akan memublikasikan saran, pesan baru, notifikasi hasil pengenalan baru, dan peristiwa terkait siklus proses percakapan ke topik. Saran dalam bentuk
HumanAgentAssistantEvent,
dan pesan baru serta peristiwa siklus proses percakapan dalam bentuk
ConversationEvent.
Untuk setiap profil percakapan, keempat jenis pesan peristiwa ini dipublikasikan ke topik yang berbeda. Misalnya, pesan peristiwa siklus proses percakapan mungkin
berupa {"conversation":"projects/your-project-id/locations/global/conversations/your-conversation-id","type":"CONVERSATION_STARTED"},
yang menunjukkan awal percakapan.
Interseptor Cloud Pub/Sub
Interseptor Cloud Pub/Sub di-deploy di Cloud Run. Fungsi setiap instance container (server) dari layanan Cloud Run ini identik dengan instance lainnya, termasuk:
- Memproses pesan peristiwa yang diposting oleh topik Cloud Pub/Sub menggunakan permintaan HTTP.
- Memublikasikan pesan yang diterima ke channel Redis Pub/Sub, khusus untuk nama percakapan dan ID server konektor UI. Format channel-nya adalah
{connector_id}:{conversation_name}.
Redis
Redis menggunakan Memorystore for Redis untuk melakukan hal berikut:
- Mencatat informasi ID server konektor UI untuk setiap percakapan dalam pemetaan
<conversation_name, connector_id>. - Meneruskan notifikasi peristiwa yang dipublikasikan oleh interseptor Cloud Pub/Sub ke server konektor UI yang sesuai menggunakan mekanisme Redis Pub/Sub.
Konektor UI
Konektor UI adalah aplikasi yang mengekspos proxy Dialogflow API RESTful dan endpoint SocketIO WebSocket untuk melakukan streaming pesan Dialogflow yang berasal dari Agent Assist.
Konektor UI di-deploy di Cloud Run.
Karena koneksi WebSocket bersifat stateful, desktop agen akan tetap terhubung ke container yang sama di Cloud Run selama masa aktif koneksi. Oleh karena itu, setiap server konektor UI menangani percakapan yang berbeda dan berlangganan ke channel Redis Pub/Sub yang berbeda ({connector_id}:*) untuk percakapan yang ditanganinya. Tugas untuk setiap server konektor UI:
- Mendukung metode autentikasi yang disesuaikan untuk desktop agen.
- Menghasilkan JWT sementara setelah mengautentikasi token yang disesuaikan untuk desktop agen. Saat mengirim permintaan ke koneksi Dialogflow API atau WebSocket, konektor UI akan memvalidasi JWT terlampir, bukan memeriksa token agen asli.
- Membuat koneksi SocketIO WebSocket dengan desktop agen yang diautentikasi berdasarkan nama percakapan tertentu.
- Berlangganan pesan peristiwa ke channel Redis Pub/Sub untuk percakapan yang ditanganinya.
- Mengirim peristiwa Agent Assist ke UI desktop saat diterima.
Secret Manager
Konektor UI memerlukan kunci rahasia JWT untuk menghasilkan JWT sementara bagi desktop agen yang diautentikasi. Kunci rahasia ini disimpan di Secret Manager.
Direktori
Berikut adalah ringkasan struktur direktori di repositori kode. Hubungi perwakilan Google Anda untuk mendapatkan izin jika Anda tidak dapat mengakses repositori.
.
├── 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
Harga dan kuota
Integrasi Agent Assist mencakup layanan berikut, yang memiliki harga dan batas kuota yang berlaku.
- Harga dan kuota Agent Assist
- Harga dan kuota Pub/Sub prices dan quotas
- Harga dan kuota Memorystore harga dan kuota
- Harga dan kuota Cloud Run harga dan kuota
Langkah berikutnya
Lihat panduan penginstalan modul backend untuk mengetahui informasi selengkapnya tentang cara memulai metode integrasi ini.