Membuat agen Dialogflow ES

Panduan ini menunjukkan cara menggunakan Dialogflow Console untuk membuat dan menguji agen sederhana.

Sebelum memulai

Anda harus melakukan hal berikut sebelum membaca panduan ini:

  1. Baca Dasar-dasar Dialogflow.
  2. Lakukan langkah-langkah penyiapan.

Membuat agen

Jika Anda belum membuat agen, buat sekarang:

  1. Buka konsol Dialogflow ES.
  2. Jika diminta, login ke Konsol Dialogflow. Lihat Ringkasan konsol Dialogflow untuk informasi selengkapnya.
  3. Klik Buat Agen di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bawah, lalu klik Buat agen baru.)
  4. Masukkan nama agen, bahasa default, dan zona waktu default Anda.
  5. Jika Anda telah membuat project, masukkan project tersebut. Jika Anda ingin mengizinkan Dialogflow Console membuat project, pilih Create a new Google project.
  6. Klik tombol Buat.

Mengimpor file contoh ke agen Anda

Langkah-langkah dalam panduan ini membuat asumsi tentang agen Anda, sehingga Anda perlu import agen yang disiapkan untuk panduan ini. Saat mengimpor, langkah-langkah ini menggunakan opsi restore, yang menimpa semua setelan, intent, dan entity agen.

Agen yang disiapkan untuk panduan ini adalah agen baru, tanpa intent atau entity yang ditentukan pengguna.

Untuk mengimpor file, ikuti langkah-langkah berikut:

  1. Download file new-agent.zip.
  2. Buka konsol Dialogflow ES.
  3. Pilih agen Anda.
  4. Klik tombol setelan di samping nama agen.
  5. Pilih tab Ekspor dan Impor.
  6. Pilih Pulihkan Dari Zip dan ikuti petunjuk untuk memulihkan file zip yang Anda download.

Intent

Intent mengkategorikan niat pengguna akhir untuk satu giliran percakapan. Untuk setiap agen, Anda menentukan banyak intent, dan intent gabungan Anda dapat menangani percakapan lengkap.

Intent default

Saat Anda membuat agen, dua intent default akan dibuat untuk Anda:

  • Intent Selamat Datang Default: Intent ini dicocokkan saat pengguna akhir memulai percakapan dengan agen Anda. Intent ini akan menampilkan respons yang memungkinkan pengguna akhir mengetahui apa yang dilakukan agen Anda atau apa yang dapat mereka katakan untuk memulai percakapan.
  • Intent Penggantian Default: Intent ini dicocokkan saat agen tidak dapat mencocokkan ekspresi pengguna akhir dengan intent lainnya.

Untuk melihat intent ini, buka daftar intent untuk agen Anda:

  1. Buka konsol Dialogflow ES.
  2. Pilih agen yang baru saja Anda buat.
  3. Klik Intent di menu sidebar kiri.

Bagian tengah konsol menampilkan daftar intent untuk agen.

Screenshot daftar intent

Menguji Intent Penggantian Default

Screenshot simulator

Simulator Dialogflow berada di sisi kanan konsol. Dengan simulator, Anda dapat menguji agen dengan mengucapkan atau mengetik pesan.

Coba agen sekarang:

  • Klik kolom Coba sekarang.
  • Ketik What is your name?.
  • Tekan enter.

Respons agen akan muncul di bagian Respons Default. Karena input Anda tidak cocok dengan intent apa pun, Intent Fallback Default dicocokkan, dan Anda menerima salah satu balasan default.

Membuat intent baru

Langkah-langkah di bagian ini membuat intent yang dapat menjawab pertanyaan "siapa nama Anda?". Untuk setiap intent, Anda menentukan banyak frasa pelatihan. Frasa pelatihan adalah contoh apa yang mungkin diketik atau diucapkan pengguna akhir kepada agen Anda, yang juga dikenal sebagai ekspresi pengguna akhir. Anda harus menentukan banyak frasa pelatihan yang memberikan Dialogflow dengan berbagai ekspresi yang harus cocok dengan intent.

Buat intent:

  1. Klik tombol tambahkan intent di samping Intent di menu sidebar kiri.
  2. Masukkan get-agent-name di kolom Intent name.
  3. Di bagian Frasa Latihan, klik Tambahkan frasa latihan.
  4. Masukkan frasa pelatihan berikut, dengan menekan enter setelah setiap entri:

    • What is your name?
    • Do you have a name?
    • Tell me your name

    Screenshot frasa pelatihan

  5. Di bagian Respons, masukkan kode berikut di bagian Respons Teks:

    • My name is Dialogflow!

    Screenshot frasa pelatihan

  6. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Menguji intent

Screenshot simulator

Di simulator, ketik What's your name? dan tekan enter.

Agen Anda merespons ekspresi dengan benar, meskipun ekspresinya sedikit berbeda dari frasa pelatihan yang Anda berikan.

Dialogflow menggunakan frasa pelatihan sebagai contoh untuk model machine learning agar cocok dengan ekspresi pengguna akhir dengan intent. Model memeriksa ekspresi terhadap setiap intent dalam agen, memberi setiap intent skor, dan intent dengan skor tertinggi dicocokkan. Jika intent dengan skor tertinggi memiliki skor yang sangat rendah, intent penggantian akan dicocokkan.

Parameter dan entity

Saat intent dicocokkan saat runtime, Dialogflow akan memberikan nilai yang diekstrak dari ekspresi pengguna akhir sebagai parameter. Setiap parameter memiliki jenis, yang disebut jenis entity, yang menentukan persis bagaimana data diekstrak. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat digunakan dengan mudah untuk menjalankan beberapa logika atau menghasilkan respons.

Saat membuat agen, Anda mengontrol cara data diekstrak dengan menambahkan anotasi pada bagian frasa pelatihan dan mengonfigurasi parameter terkait.

Membuat parameter

Buat intent baru dengan parameter:

  1. Klik tombol plus di samping Intent di menu sidebar kiri.
  2. Beri nama intent set-language di bagian atas formulir intent.
  3. Tambahkan frasa pelatihan berikut:
    • I know English
    • I speak French
    • I know how to write in German
  4. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

    Screenshot frasa pelatihan yang dianotasi

Dialogflow otomatis mendeteksi parameter dalam frasa pelatihan yang dikenali sebagai entity sistem. Ini adalah entitas yang disediakan oleh Dialogflow untuk banyak jenis data umum seperti lokasi, warna, dan tanggal.

Di bawah bagian Frasa pelatihan, Dialogflow membuat baris di tabel Tindakan & parameter:

Screenshot frasa pelatihan yang dianotasi

  • Wajib: Kotak centang tidak dicentang, sehingga parameter ini bersifat opsional.
  • Nama Parameter: Parameter ini secara otomatis diberi nama language, karena parameter tersebut dikenali sebagai bahasa.
  • Entity: Ini adalah jenis entity. Ini dikenali sebagai entitas sistem @sys.language.
  • Nilai: Ini adalah ID yang Anda gunakan saat mereferensikan nilai parameter ini.
  • Is List: Kotak centang tidak dicentang, sehingga parameter bukan merupakan daftar.

Menggunakan data parameter dalam respons

Nilai parameter dapat digunakan dalam respons Anda. Misalnya, Anda dapat menggunakan referensi parameter $language dalam respons saat membuat agen. Saat runtime, bahasa ini akan diganti dengan bahasa yang ditentukan dalam ekspresi pengguna akhir.

Tambahkan respons yang menggunakan parameter:

  1. Scroll ke bawah ke bagian Respons.
  2. Tambahkan respons teks berikut: Wow! I didn't know you knew $language.
  3. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Menguji parameter

Screenshot simulator

Di simulator, masukkan I know Russian.

Anda dapat melihat bahwa Dialogflow mengekstrak parameter language dengan nilai Russian dengan benar, dan Russian disisipkan dengan benar di tempat referensi parameter digunakan dalam respons.

Membuat entitas Anda sendiri

Pada umumnya, Anda memiliki data tertentu yang perlu dikumpulkan dari pengguna yang tidak disediakan oleh entity sistem. Anda dapat membuat entity kustom untuk menangani hal ini.

Buat entity kustom:

  1. Klik tombol tambahkan entity di samping Entities di menu sidebar kiri.
  2. Masukkan language-programming untuk nama entitas.
  3. Tambahkan entri entitas (baris) berikut:

    Nilai Referensi Sinonim
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Screenshot penggunaan entitas

Dialogflow dapat menangani hal-hal sederhana seperti bentuk jamak dan huruf besar, tetapi Anda harus menambahkan semua kemungkinan sinonim untuk entri Anda. Makin banyak yang Anda tambahkan, makin baik agen dapat menentukan entitas Anda.

Menggunakan entity baru

Tambahkan frasa pelatihan ke intent set-language yang menggunakan entity baru:

  1. Klik Intent di menu sidebar kiri.
  2. Klik intent set-language.
  3. Tambahkan frasa pelatihan berikut:
    • I know javascript
    • I know how to code in Java
  4. Perhatikan bahwa bahasa pemrograman dalam frasa pelatihan ini otomatis dianotasi dan ditambahkan ke parameter di bagian Action and Parameters.
  5. Di bagian Responses, tambahkan respons teks kedua berikut: $language-programming is an excellent programming language..
  6. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Menguji entity baru

Screenshot simulator

Di simulator, masukkan I know how to code in py.

Anda dapat melihat bahwa Dialogflow mengekstrak py dengan benar untuk parameter language-programming, mengidentifikasinya sebagai entitas Python, dan menyisipkan nilai dalam respons.

Konteks

Untuk mengontrol alur percakapan, Anda dapat menggunakan konteks.

Menambahkan intent tindak lanjut

Intent tindak lanjut memberikan cara sederhana untuk mengontrol percakapan tanpa harus membuat dan mengelola konteks secara manual.

Saat Anda membuat intent tindak lanjut, konteks output akan ditambahkan ke intent induk dan konteks input dengan nama yang sama akan ditambahkan ke intent turunan. Artinya, intent tindak lanjut hanya cocok jika intent induk cocok dalam giliran percakapan sebelumnya.

Tambahkan intent tindak lanjut kustom ke intent set-language:

  1. Pilih intent set-language yang Anda buat di langkah sebelumnya.
  2. Di bagian Response, perbarui respons teks:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
  4. Klik Intent di menu sidebar kiri.
  5. Arahkan kursor ke intent set-language, lalu klik Tambahkan intent tindak lanjut.
  6. Klik kustom di daftar yang ditampilkan.
  7. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Dialogflow otomatis memberi nama intent tindak lanjut set-language - custom.

Screenshot tindak lanjut

Pencocokan intent dengan intent tindak lanjut

Intent tindak lanjut hanya dicocokkan setelah intent induk dicocokkan. Karena intent set-language - custom hanya dicocokkan setelah intent set-language, Anda dapat mengasumsikan bahwa pengguna baru saja ditanya pertanyaan How long have you known $language?. Sekarang Anda dapat menambahkan frasa pelatihan untuk kemungkinan jawaban pengguna atas pertanyaan tersebut:

  1. Klik Intent di menu sidebar kiri.
  2. Klik intent set-language - custom.
  3. Tambahkan frasa pelatihan berikut:
    • 3 years
    • about 4 days
    • for 5 years
  4. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Menguji intent tindak lanjut

Masukkan I know French di simulator, lalu jawab pertanyaan How long have you known French dengan about 2 weeks.

Meskipun tidak ada respons untuk ekspresi kedua (about 2 weeks), Anda dapat melihat ekspresi dicocokkan dengan intent yang benar (set-language - custom), dan parameter durasi diuraikan dengan benar (2 weeks).

Intent dan konteks

Periksa intent set-language untuk melihat bahwa set-language-followup tercantum sebagai konteks output dan diawali dengan angka 2. Angka ini disebut masa aktif.

Screenshot konteks output

Setelah intent set-language dicocokkan, konteks set-language-followup akan aktif dan dilampirkan ke percakapan selama dua giliran (masa aktif 2). Oleh karena itu, saat pengguna merespons pertanyaan, How long have you known $language?, konteks set-language-followup akan aktif.

Periksa intent set-language - custom untuk melihat bahwa set-language-followup tercantum sebagai konteks input, yang sama dengan konteks output untuk intent set-language.

Setiap intent dengan konteks input yang cocok dengan konteks aktif sangat disukai saat Dialogflow mencocokkan intent.

Konteks dan parameter

Konteks menyimpan parameter value, dan Anda dapat mengakses nilai parameter yang ditentukan dalam intent set-language saat konteks outputnya aktif.

Dalam intent set-language - custom, Anda hanya meminta durasi pengguna mengetahui bahasa, dan bukan bahasa yang dirujuk itu sendiri.

Untuk mereferensikan bahasa dalam respons:

  1. Memperbarui respons teks intent set-language - custom menjadi I can't believe you've known #set-language-followup.language for $duration!
  2. Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.

Referensi #set-language-followup.language dikenal sebagai referensi parameter untuk konteks aktif.

Menguji parameter konteks

Masukkan I know French di simulator, lalu jawab pertanyaan dengan 1 week. Perhatikan bahwa nilai parameter language diambil dari konteks.

Productionization

Sebelum menjalankan agen dalam produksi, pastikan untuk menerapkan praktik terbaik produksi.

Langkah selanjutnya

Coba panduan memulai fulfillment.