Mega-agen

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 memengaruhi 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 mempertimbangkan sebagian besar setelan agen dari mega-agen dan mencatat data ke mega-agen. Contoh:

UI Web

1. Membuat mega-agen

  1. Buka konsol Dialogflow ES.
  2. 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.)
  3. Masukkan nama agen, bahasa default, zona waktu default, dan project Google Cloud Anda.
  4. Tetapkan Agent Type sebagai Mega Agent.
  5. Klik tombol Buat.

2. Menambahkan dan mengelola sub-agen

  1. Klik Sub-Agen di menu sidebar kiri.
  2. Pilih sub-agen yang ingin ditambahkan ke mega-agen.
  3. Lingkungan sub-agen secara default ditetapkan ke Draf, tetapi Anda dapat memperbaruinya sesuai kebutuhan.
  4. Jika Anda ingin menggunakan Pustaka Pengetahuan yang terkait dengan sub-agen, ubah kolom dari Dikecualikan menjadi Disertakan.
  5. 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:

  1. Buat project Google Cloud mega-agen dan sub-agen seperti biasa, dan pastikan Anda telah mengaktifkan "Dialogflow API" untuk masing-masing project.
  2. 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:
    1. Buka halaman akun layanan IAM.
    2. Pilih project untuk mega-agen Anda.
    3. 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.
    4. Catat alamat email akun layanan yang dipilih. Anda akan memerlukannya di bawah.
  3. 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:

    1. Buka halaman utama IAM.
    2. Pilih project untuk mega-agen Anda.
    3. Aktifkan opsi Sertakan pemberian peran yang disediakan Google di sebelah kanan.
    4. Temukan akun layanan yang cocok dengan pola:
      service-project-number@gcp-sa-dialogflow..
    5. Catat alamat email akun layanan yang dipilih. Anda akan memerlukannya di bawah.
  4. Untuk setiap project sub-agen, berikan peran ke akun layanan mega-agen yang Anda kumpulkan di atas:

    1. Buka halaman utama IAM.
    2. Pilih project untuk sub-agen Anda.
    3. 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.