Agen mega

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

Ada berbagai alasan mengapa Anda mungkin ingin menggunakan agen besar:

  • 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.
  • Intent lainnya: Jika memiliki agen dengan banyak intent, Anda dapat mendekati batas jumlah intent. Di kasus ini, Anda dapat membuat beberapa sub-agen dan satu mega-agen.

Batasan

Batasan berikut berlaku untuk agen besar:

Membuat sub-agen

Anda membuat sub-agen seperti agen lainnya. Tambahkan intent, konteks, entity, dll. yang diperlukan untuk membangun 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 mulai dari mega-agen dan mencatat data ke mega-agen. Contoh:

UI Web

1. Buat mega-agen

  1. Buka Dialogflow ES Console.
  2. Klik Create Agent 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 GCP.
  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 Knowledge Base yang terkait dengan sub-agen, ubah kolom dari Exempt menjadi Included.
  5. Klik Simpan.

Menyiapkan peran

Bergantung pada rencana penggunaan mega-agen, Anda perlu memberikan peran tertentu dalam project sub-agen, sehingga mega-agen tersebut memiliki izin untuk melakukan panggilan ke sub-agen. Untuk menyiapkan peran ini:

  1. Buat project GCP mega-agen dan sub-agen seperti biasanya, dan pastikan Anda telah mengaktifkan "Dialogflow API" untuk setiap project.
  2. Jika berencana menggunakan API untuk berinteraksi dengan mega-agen, Anda harus memberikan peran pada setiap project sub-agen ke akun layanan yang digunakan untuk panggilan API mega-agen, dan peran tersebut harus memiliki izin untuk melakukan deteksi panggilan 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 akun layanan IAM.
    2. Pilih project untuk mega-agen 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 mega-agen, akun layanan yang dibuat secara otomatis service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com untuk project agen besar tersebut harus memiliki peran pada project tersebut, yang menyertakan izin untuk mendeteksi panggilan 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 Sertakan pemberian peran yang disediakan Google 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 membutuhkannya di bawah.
  4. Untuk setiap project sub-agen, berikan peran ke akun layanan agen besar 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 besar Anda pada project tersebut.

Mendeteksi intent

Untuk mendeteksi intent, panggil permintaan tersebut seperti permintaan intent 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"
Topi "Saya ingin membeli topi"
"Saya ingin topi"
Akun Keseimbangan "Berapa saldo saya?"
"Berapa yang tersisa di rekening saya?"
Alamat "Saya ingin mengubah alamat"
"Saya memiliki alamat baru"

Jika pengguna akhir bertuliskan "Saya ingin membeli topi", permintaan intent deteksi yang dikirim ke agen besar akan menghasilkan kecocokan dengan intent Hats dalam agen Orders.

Untuk menentukan satu atau beberapa sub-agen untuk permintaan intent deteksi, tetapkan kolom subAgents dari QueryParameters. Misalnya, REST JSON untuk permintaan ini akan terlihat seperti ini:

{
  "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, peristiwa tersebut akan dikirim kembali ke sub-agen yang berisi intent yang cocok sebelumnya.

Menyetel 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 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 dari mega-agen.

Masa aktif konteks

Saat konteks menjadi aktif, masa aktif konteks biasanya menentukan jumlah percakapan yang akan terjadi sebelum konteks menjadi tidak aktif. Pada dasarnya, masa aktif runtime dari konteks aktif dikurangi untuk setiap giliran percakapan setelah menjadi aktif.

Perilaku ini mungkin berbeda untuk agen besar. 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 berkurang untuk pencocokan lebih lanjut intent dalam sub-agen yang sama.

Misalnya, pencocokan intent terjadi di sub-agen A, dan intent memiliki konteks output yang mengaktifkan konteks. Setiap kecocokan intent dalam 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 serta menetapkan webhook dan setelan Text-to-Speech yang berbeda untuk berbagai lingkungan mega-agen.

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