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 membangun agen, setiap tim dapat bertanggung jawab atas satu sub-agen, sehingga menyederhanakan konflik perubahan di seluruh tim.
  • Lebih banyak intent: Jika Anda memiliki agen dengan jumlah intent yang besar, 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 terkait dengan project Google Cloud yang berbeda.
  • Mega-agen dapat memiliki maksimal 10 sub-agen.
  • Obrolan ringan 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 membangun 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 Create Agent di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bawah, lalu klik Create new agent.)
  3. Masukkan nama agen, bahasa default, zona waktu default, dan projectGoogle Cloud .
  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 Anda tambahkan ke mega-agen.
  3. Environment sub-agen ditetapkan secara default ke 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 mega-agen, Anda perlu memberikan peran tertentu dalam project sub-agen, sehingga mega-agen memiliki izin untuk melakukan panggilan ke sub-agen. Untuk menyiapkan peran ini:

  1. Buat project mega-agen dan sub-agen Google Cloud seperti biasa, dan pastikan Anda telah mengaktifkan "Dialogflow API" untuk masing-masing project.
  2. Jika Anda berencana menggunakan API untuk berinteraksi dengan mega-agen, Anda harus memberikan peran pada 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: 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 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 membutuhkannya di bawah.
  3. Jika Anda berencana menggunakan integrasi apa pun untuk mega-agen, akun layanan service-project-number@gcp-sa-dialogflow. yang dibuat secara otomatis untuk project mega-agen harus memiliki peran pada project tersebut yang mencakup izin untuk melakukan panggilan mendeteksi intent. 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 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..
    5. Catat alamat email akun layanan yang dipilih. Anda akan membutuhkannya 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 dipicu. 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 tersebut, 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 memiliki konteks tersebut. Gunakan format berikut:

projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name

Misalnya, jika sesinya 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 dari 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 dicocokkan, dan intent tersebut memiliki konteks output, masa aktif konteks ini hanya dikurangi untuk pencocokan intent lebih lanjut dalam sub-agen yang sama.

Misalnya, pencocokan intent terjadi di sub-agen A, dan intent tersebut 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 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.