Mega-agen

Anda dapat menggabungkan beberapa agen Dialogflow, yang disebut sub-agen, menjadi satu agen, yang disebut agen mega. Saat Anda melakukan permintaan deteksi maksud terhadap mega-agen, semua sub-agen akan dipertimbangkan, dan respons terbaik dari sub-agen akan ditampilkan.

Ada berbagai alasan mengapa Anda mungkin ingin menggunakan agen mega:

  • Tata kelola yang lebih baik: Jika Anda memiliki beberapa tim yang membangun agen, setiap tim dapat bertanggung jawab atas satu sub-agen, yang menyederhanakan konflik perubahan di seluruh tim.
  • Lebih banyak maksud: Jika Anda memiliki agen dengan maksud dalam jumlah besar, Anda mungkin mendekati batas jumlah maksud. Dalam hal ini, Anda dapat membuat beberapa sub-agen dan satu agen mega.

Batasan

Batasan berikut berlaku untuk agen mega:

  • Agen mega dan sub-agennya harus dibuat di region yang sama.
  • Dalam satu region, agen mega dan sub-agennya semuanya dikaitkan dengan Google Cloud project yang berbeda.
  • Agen mega dapat memiliki maksimal 10 sub-agen.
  • Basa-basi tidak berfungsi untuk agen mega.
  • 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 maksud penggantian yang digunakan sebagai maksud lanjutan.

Membuat sub-agen

Anda membuat sub-agen seperti agen lainnya. Tambahkan intent, konteks, entity, dll. sesuai kebutuhan untuk membangun agen Anda.

Membuat atau memperbarui agen mega

Anda dapat menggunakan Konsol Dialogflow untuk membuat agen mega dan menautkannya ke sub-agen.

Dialogflow mempertimbangkan sebagian besar setelan agen dari agen mega dan mencatat data ke agen mega. Contoh:

UI Web

1. Membuat agen mega

  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 Google Cloud project Anda.
  4. Tetapkan Jenis Agen sebagai Agen Mega.
  5. Klik tombol Buat.

2. Menambahkan dan mengelola sub-agen

  1. Klik Sub-Agen di menu sidebar kiri.
  2. Pilih sub-agen yang ingin Anda tambahkan ke agen mega.
  3. Sub-agen Environment secara default adalah Draft, tetapi Anda dapat memperbaruinya sesuai kebutuhan.
  4. Jika Anda ingin menggunakan Pusat Informasi yang terkait dengan sub-agen, ubah kolom dari Dikecualikan menjadi Disertakan.
  5. Klik Simpan.

Menyiapkan peran

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

  1. Buat project agen gabungan dan 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 agen mega Anda, Anda harus memberikan peran di setiap project sub-agen Anda ke akun layanan yang Anda gunakan untuk panggilan API agen mega, dan peran tersebut harus memiliki izin untuk melakukan panggilan deteksi maksud. Peran berikut akan memberikan akses ini: Project Owner, Project Editor, Dialogflow API Admin, atau Dialogflow API Client. Untuk mendapatkan alamat email akun layanan ini:
    1. Buka halaman akun layanan IAM.
    2. Pilih project untuk agen mega Anda.
    3. Pilih akun layanan yang sudah 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 membutuhkannya di bawah.
  3. Jika Anda berencana menggunakan integrasi untuk agen mega, akun layanan yang dibuat secara otomatis service-project-number@gcp-sa-dialogflow. untuk project agen mega harus memiliki peran di project tersebut yang mencakup izin untuk melakukan panggilan deteksi maksud. Peran berikut akan memberikan akses ini: Project Owner, Project Editor, Dialogflow API Admin, atau Dialogflow API Client. Untuk mendapatkan alamat email akun layanan ini:

    1. Buka halaman utama IAM.
    2. Pilih project untuk agen mega 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 membutuhkannya di bawah.
  4. Untuk setiap project sub-agen, beri peran ke akun layanan agen mega 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 agen mega Anda di project.

Mendeteksi intent

Untuk mendeteksi maksud, panggil permintaan seperti permintaan deteksi maksud lainnya dan gunakan project ID agen mega. 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 "I want to change my address" (Saya ingin mengubah alamat saya)
"I have a new address" (Saya memiliki alamat baru)

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

Untuk menentukan satu atau beberapa sub-agen untuk permintaan deteksi niat, tetapkan kolom subAgents dari QueryParameters. Misalnya, REST JSON 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 acara berikut:

sub-agent-project-id.event-name

Misalnya, jika ID project sub-agen adalah 123, dan nama peristiwanya adalah alarm untuk maksud 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 menyetel 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 menyetel konteks bernama music_context untuk sub-agen dengan project ID sub_project_1, Anda dapat menyetel 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, maksud 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 dikurangi untuk kecocokan lebih lanjut dari intent di sub-agen yang sama.

Misalnya, kecocokan intent terjadi di sub-agen A, dan intent memiliki konteks output yang mengaktifkan konteks. Setiap kecocokan maksud 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 agen mega memungkinkan Anda membuat snapshot yang berbeda dari niat penggantian agen mega dan menetapkan webhook dan setelan Text-to-Speech yang berbeda untuk lingkungan agen mega yang berbeda.

Setelan di halaman konsol Sub Agents agen mega tidak disertakan dalam versi dan lingkungan agen mega. Permintaan agen mega selalu memicu lingkungan sub-agen yang ditentukan di halaman tersebut pada saat itu.