Agent Assist kini menawarkan modul backend, opsi siap pakai untuk mengintegrasikan Agent Assist ke dalam sistem Anda. Modul backend mencakup layanan pencegat Cloud Pub/Sub dan layanan konektor UI. Interceptor 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
- Interceptor Cloud Pub/Sub
- Memorystore for Redis
- Konektor UI
Cloud Pub/Sub
Topik Cloud Pub/Sub dikonfigurasi di
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, empat 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 dimulainya percakapan.
Interceptor Cloud Pub/Sub
Interceptor Cloud Pub/Sub di-deploy di Cloud Run. Fungsi setiap instance container (server) layanan Cloud Run ini identik dengan setiap instance lainnya, termasuk:
- Memproses pesan peristiwa yang diposting oleh topik Cloud Pub/Sub menggunakan permintaan HTTP.
- Memublikasikan pesan yang diterima ke saluran Pub/Sub Redis, khusus untuk
nama percakapan dan ID server konektor UI. Format channel 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>
. - Teruskan 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 WebSocket SocketIO 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 saluran Pub/Sub Redis 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 di desktop agen. Saat mengirim permintaan ke API atau koneksi WebSocket Dialogflow, konektor UI memvalidasi JWT terlampir, bukan memeriksa token agen asli.
- Membuat koneksi WebSocket SocketIO dengan desktop agen yang diautentikasi berdasarkan nama percakapan tertentu.
- Berlangganan pesan peristiwa ke saluran Pub/Sub Redis untuk percakapan yang ditanganinya.
- Mendorong peristiwa Agent Assist ke UI desktop saat diterima.
Secret Manager
Konektor UI memerlukan kunci rahasia JWT untuk membuat JWT sementara bagi desktop agen yang diautentikasi. Kunci rahasia ini disimpan di Secret Manager.
Direktori
Berikut adalah struktur direktori dalam 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 sendiri.
- Harga dan kuota Agent Assist
- Harga dan kuota Pub/Sub
- Harga dan kuota Memorystore
- Harga dan kuota Cloud Run
Langkah berikutnya
Lihat panduan penginstalan modul backend untuk mengetahui informasi selengkapnya tentang cara memulai metode integrasi ini.