Anda dapat menggabungkan beberapa agen Dialogflow, yang disebut sub-agen, menjadi satu agen, yang disebut mega agen. Saat Anda melakukan permintaan deteksi intent terhadap mega-agen, semua sub-agen akan dipertimbangkan, dan respons terbaik dari sub-agen akan ditampilkan.
Ada berbagai alasan mengapa Anda mungkin ingin menggunakan mega-agen:
- Pemerintahan yang lebih baik: Jika Anda memiliki beberapa tim yang membuat agen, setiap tim dapat bertanggung jawab atas satu sub-agen, yang menyederhanakan konflik perubahan di seluruh tim.
- Intent lainnya: Jika memiliki agen dengan banyak intent, Anda mungkin mendekati batas jumlah intent. Dalam hal ini, Anda dapat membuat beberapa sub-agen dan satu mega-agen.
Batasan
Batasan berikut berlaku untuk mega-agen:
- Mega-agen dan sub-agennya harus dibuat di region yang sama.
- Dalam satu region, mega-agen dan sub-agennya semuanya dikaitkan dengan project Google Cloud yang berbeda.
- Mega agen dapat memiliki maksimal 10 sub-agen.
- Percakapan ringan tidak cocok untuk mega agen.
- Prioritas intent sub-agen tidak berpengaruh pada pencocokan intent saat mengirim permintaan ke mega-agen.
- Integrasi Asisten Google tidak dapat digunakan dengan agen mega.
- Integrasi telepon bawaan partner (AudioCodes, Avaya, SignalWire, Voximplant) tidak didukung.
- Agen mega tidak mendukung intent penggantian yang digunakan sebagai intent tindak lanjut.
Membuat sub-agen
Anda membuat sub-agen seperti agen lainnya. Tambahkan intent, konteks, entity, dll. sesuai kebutuhan untuk membuat agen Anda.
Membuat atau memperbarui mega-agen
Anda dapat menggunakan Dialogflow Console untuk membuat mega-agen dan menautkannya ke sub-agen.
Dialogflow memperhitungkan sebagian besar setelan agen dari mega-agen dan mencatat data ke mega-agen. Contoh:
- Dialogflow menggunakan setelan logging, sentimen, speech-to-text, dan text-to-speech di seluruh agen dari mega-agen.
- Dialogflow menyimpan analisis, histori percakapan, dan data untuk alat pelatihan di mega-agen.
UI Web
1. Membuat mega-agen
- Buka konsol Dialogflow ES.
- Klik Buat Agen di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bagian bawah, lalu klik Buat agen baru.)
- Masukkan nama agen, bahasa default, zona waktu default, dan project Google Cloud Anda.
- Tetapkan Agent Type sebagai Mega Agent.
- Klik tombol Buat.
2. Menambahkan dan mengelola sub-agen
- Klik Sub-Agen di menu sidebar kiri.
- Pilih sub-agen yang ingin ditambahkan ke mega-agen.
- Lingkungan sub-agen secara default ditetapkan ke Draf, tetapi Anda dapat memperbaruinya sesuai kebutuhan.
- Jika Anda ingin menggunakan Pustaka Pengetahuan yang terkait dengan sub-agen, ubah kolom dari Dikecualikan menjadi Disertakan.
- Klik Simpan.
Menyiapkan peran
Bergantung pada cara Anda berencana menggunakan mega-agen, Anda perlu memberikan peran tertentu di project sub-agen, sehingga mega-agen memiliki izin untuk melakukan panggilan ke sub-agen. Untuk menyiapkan peran ini:
- Buat project Google Cloud mega-agen dan sub-agen seperti biasa, dan pastikan Anda telah mengaktifkan "Dialogflow API" untuk masing-masing project.
- Jika berencana
menggunakan API
untuk berinteraksi dengan mega-agen,
Anda harus memberikan peran di setiap project sub-agen ke akun
layanan yang Anda gunakan untuk panggilan API mega-agen,
dan peran tersebut harus memiliki izin untuk melakukan panggilan intent deteksi.
Peran berikut akan memberikan akses ini: Pemilik Project, Editor Project, Admin Dialogflow API, atau Klien Dialogflow API.
Untuk mendapatkan alamat email akun layanan ini:
- Buka halaman akun layanan IAM.
- Pilih project untuk mega-agen Anda.
- Pilih akun layanan yang telah Anda buat untuk panggilan API atau tambahkan akun layanan baru yang memiliki peran yang diinginkan. Ikuti petunjuk penyiapan untuk membuat akun layanan baru dan mendownload kunci pribadi.
- Catat alamat email akun layanan yang dipilih. Anda akan memerlukannya di bawah.
Jika Anda berencana menggunakan integrasi untuk mega-agen, akun layanan service-project-number@gcp-sa-dialogflow. yang dibuat secara otomatis untuk project mega-agen harus memiliki peran di project tersebut yang mencakup izin untuk melakukan panggilan intent deteksi. Peran berikut akan memberikan akses ini: Pemilik Project, Editor Project, Admin Dialogflow API, atau Klien Dialogflow API. Untuk mendapatkan alamat email akun layanan ini:
- Buka halaman utama IAM.
- Pilih project untuk mega-agen Anda.
- Aktifkan opsi Sertakan pemberian peran yang disediakan Google di sebelah kanan.
- Temukan akun layanan yang cocok dengan pola:
service-project-number@gcp-sa-dialogflow.. - Catat alamat email akun layanan yang dipilih. Anda akan memerlukannya di bawah.
Untuk setiap project sub-agen, berikan peran ke akun layanan mega-agen yang Anda kumpulkan di atas:
- Buka halaman utama IAM.
- Pilih project untuk sub-agen Anda.
- Berikan peran yang diinginkan ke alamat email akun layanan mega-agen Anda di project.
Mendeteksi intent
Untuk mendeteksi intent, panggil permintaan seperti permintaan deteksi intent lainnya dan gunakan project ID mega-agen. Dialogflow akan mempertimbangkan semua sub-agen, dan respons terbaik dari sub-agen akan ditampilkan.
Misalnya, pertimbangkan sub-agen berikut:
Sub-agen | Intent | Frasa Pelatihan |
---|---|---|
Pesanan | Buku | "Saya ingin membeli buku" "Tambahkan buku ke keranjang saya" |
Topi | "Saya ingin membeli topi" "Saya ingin topi" |
|
Akun | Saldo | "Berapa saldo saya?" "Berapa sisa uang di rekening saya?" |
Alamat | "Saya ingin mengubah alamat saya" "Saya memiliki alamat baru" |
Jika pengguna akhir mengatakan "Saya ingin membeli topi",
permintaan intent deteksi yang dikirim ke agen mega
akan menghasilkan kecocokan untuk intent Hats
di agen Orders
.
Untuk menentukan satu atau beberapa sub-agen untuk permintaan intent deteksi,
tetapkan kolom subAgents
dari
QueryParameters
.
Misalnya, JSON REST untuk permintaan ini akan terlihat seperti:
{ "queryInput": { "text": { "text": "reserve a meeting room for six people", "languageCode": "en-US" } }, "queryParams": { "subAgents": [ {"project": "projects/sub-agent-1-project-id"}, {"project": "projects/sub-agent-2-project-id"} ] } }
Memanggil peristiwa
Untuk memanggil peristiwa dari layanan webhook, Anda dapat menentukan sub-agen untuk intent yang ingin dipicu. Gunakan format nama peristiwa berikut:
sub-agent-project-id.event-name
Misalnya, jika ID project sub-agen adalah 123
,
dan nama peristiwanya adalah alarm
untuk intent yang diinginkan,
gunakan 123.alarm
untuk nama peristiwa.
Jika Anda tidak menentukan sub-agen untuk peristiwa, peristiwa akan dikirim kembali ke sub-agen yang berisi intent yang cocok sebelumnya.
Menetapkan konteks output
Untuk menetapkan konteks output dari layanan webhook, Anda dapat menentukan sub-agen yang menjadi bagian dari konteks tersebut. Gunakan format berikut:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name
Misalnya, jika sesi adalah
projects/mega_agent_project_id/agent/sessions/session_id
,
dan Anda ingin menetapkan konteks bernama music_context
untuk sub-agen dengan project ID sub_project_1
,
Anda dapat menetapkan konteks output dengan nama berikut:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_project_1.music_context
Jika Anda tidak menentukan awalan sub-agen untuk nama konteks, sistem akan menganggapnya sebagai konteks mega-agen.
Masa aktif konteks
Saat konteks menjadi aktif, masa aktif konteks biasanya menentukan jumlah giliran percakapan yang akan terjadi sebelum konteks menjadi tidak aktif. Pada dasarnya, masa aktif runtime konteks aktif dikurangi untuk setiap giliran percakapan setelah menjadi aktif.
Perilaku ini mungkin berbeda untuk agen mega. Selama percakapan, intent dari sub-agen yang berbeda dapat dicocokkan untuk setiap giliran percakapan. Saat intent dari sub-agen dicocokkan, dan intent memiliki konteks output, masa aktif konteks ini hanya dikurangi untuk pencocokan intent lebih lanjut di sub-agen yang sama.
Misalnya, kecocokan intent terjadi di sub-agen A, dan intent memiliki konteks output yang mengaktifkan konteks. Setiap kecocokan intent di sub-agen B tidak mengurangi masa aktif runtime untuk konteks aktif yang berasal dari sub-agen A.
Versi dan Lingkungan
Versi dan lingkungan di tingkat mega-agen memungkinkan Anda membuat snapshot yang berbeda dari intent penggantian mega-agen dan menetapkan webhook dan setelan Text-to-Speech yang berbeda untuk lingkungan mega-agen yang berbeda.
Setelan di halaman konsol Sub-Agen mega-agen tidak disertakan dalam versi dan lingkungan mega-agen. Permintaan agen mega selalu memicu lingkungan sub-agen yang ditentukan di halaman tersebut pada saat itu.