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:

  • Tata kelola yang lebih baik: Jika Anda memiliki beberapa tim yang membuat agen, setiap tim dapat bertanggung jawab atas satu sub-agen, yang menyederhanakan konflik perubahan antar-tim.
  • Lebih banyak intent: Jika Anda memiliki agen dengan banyak intent, Anda mungkin akan 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 dikaitkan dengan project yang berbeda Google Cloud .
  • Mega-agen dapat memiliki maksimal 10 sub-agen.
  • Basa-basi tidak berfungsi 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 mega-agen.
  • Integrasi telepon bawaan partner (AudioCodes, Avaya, SignalWire, Voximplant) tidak didukung.
  • Mega-agen tidak mendukung intent penggantian yang digunakan sebagai intent lanjutan.

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 Konsol Dialogflow 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 Create Agent di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bagian bawah, lalu klik Create new agent.)
  3. Masukkan nama agen, bahasa default, zona waktu default, dan Google Cloud project.
  4. Tetapkan Agent Type sebagai Mega Agent.
  5. Klik tombol Create.

2. Menambahkan dan mengelola sub-agen

  1. Klik Sub Agents di menu sidebar kiri.
  2. Pilih sub-agen yang ingin Anda tambahkan ke mega-agen.
  3. Sub-agen Environment ditetapkan secara default ke Draft, tetapi Anda dapat memperbaruinya sesuai kebutuhan.
  4. Jika ingin menggunakan Knowledge Base yang terkait dengan sub-agen, ubah kolom dari Excluded menjadi Included.
  5. Klik Save.

Menyiapkan peran

Bergantung pada cara Anda berencana menggunakan mega-agen, Anda harus memberikan peran tertentu peran di project sub-agen, sehingga mega-agen memiliki izin untuk melakukan panggilan ke sub-agen. Untuk menyiapkan peran ini:

  1. Buat mega-agen dan project sub-agen Google Cloud seperti biasa, dan pastikan Anda telah mengaktifkan "Dialogflow API" untuk setiap project.
  2. Jika Anda 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 deteksi intent. 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 apa pun untuk mega-agen, akun layanan service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com yang dibuat secara otomatis untuk project mega-agen harus memiliki peran di project tersebut yang mencakup izin untuk melakukan panggilan deteksi intent. 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 Include Google-provided role grants di sebelah kanan.
    4. Temukan akun layanan yang cocok dengan pola:
      service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com.
    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 saldo di akun saya?"
Alamat "Saya ingin mengubah alamat saya"
"Saya punya alamat baru"

Jika pengguna akhir mengatakan "Saya ingin membeli topi", permintaan deteksi intent yang dikirim ke mega-agen akan menghasilkan kecocokan untuk intent Hats di agen Orders.

Untuk menentukan satu atau beberapa sub-agen untuk permintaan deteksi intent, 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 Anda picu. Gunakan format nama peristiwa berikut:

sub-agent-project-id.event-name

Misalnya, jika project ID sub-agen adalah 123, dan nama peristiwa 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 sebelumnya cocok.

Menetapkan konteks output

Untuk menetapkan konteks output dari layanan webhook, Anda dapat menentukan sub-agen yang memiliki 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 berapa banyak giliran percakapan yang akan terjadi sebelum konteks menjadi tidak aktif. Pada dasarnya, masa aktif runtime konteks aktif akan dikurangi untuk setiap giliran percakapan setelah menjadi aktif.

Perilaku ini mungkin berbeda untuk mega-agen. Selama percakapan, intent dari sub-agen yang berbeda dapat dicocokkan untuk setiap giliran percakapan. Saat intent dari sub-agen cocok, dan intent memiliki konteks output, masa aktif konteks ini hanya akan dikurangi untuk kecocokan intent lebih lanjut di sub-agen yang sama.

Misalnya, kecocokan intent terjadi di sub-agen A, dan intent memiliki konteks output yang mengaktifkan konteks. 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 Agents mega-agen tidak disertakan dalam versi dan lingkungan mega-agen. Permintaan mega-agen selalu memicu lingkungan sub-agen yang ditentukan di halaman tersebut pada saat itu.