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:
- Baca Dasar-dasar Dialogflow.
- Lakukan langkah-langkah penyiapan.
Membuat agen
Jika Anda belum membuat agen, buat sekarang:
- Buka konsol Dialogflow ES.
- Jika diminta, login ke Konsol Dialogflow. Lihat Ringkasan konsol Dialogflow untuk informasi selengkapnya.
- Klik Buat Agen di menu sidebar kiri. (Jika Anda sudah memiliki agen lain, klik nama agen, scroll ke bawah, lalu klik Buat agen baru.)
- Masukkan nama agen, bahasa default, dan zona waktu default Anda.
- Jika Anda telah membuat project, masukkan project tersebut. Jika Anda ingin mengizinkan Dialogflow Console membuat project, pilih Create a new Google project.
- 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:
-
Download file
new-agent.zip
. - Buka konsol Dialogflow ES.
- Pilih agen Anda.
- Klik tombol setelan settings di samping nama agen.
- Pilih tab Ekspor dan Impor.
- 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, dengan intent gabungan yang 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:
- Buka konsol Dialogflow ES.
- Pilih agen yang baru saja Anda buat.
- Klik Intent di menu sidebar kiri.
Bagian tengah konsol menampilkan daftar intent untuk agen.
Menguji Intent Penggantian Default
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:
- Klik tombol tambahkan intent di samping Intent di menu sidebar kiri.
- Masukkan
get-agent-name
di kolom Intent name. - Di bagian Frasa Latihan, klik Tambahkan frasa latihan.
Masukkan frasa pelatihan berikut, dengan menekan enter setelah setiap entri:
What is your name?
Do you have a name?
Tell me your name
Di bagian Respons, masukkan kode berikut di bagian Respons Teks:
My name is Dialogflow!
Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
Menguji intent
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 secara tepat 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:
- Klik tombol plus di samping Intent di menu sidebar kiri.
- Beri nama intent
set-language
di bagian atas formulir intent. - Tambahkan frasa pelatihan berikut:
I know English
I speak French
I know how to write in German
Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
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:
- 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:
- Scroll ke bawah ke bagian Respons.
- Tambahkan respons teks berikut:
Wow! I didn't know you knew $language.
- Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
Menguji parameter
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:
- Klik tombol tambahkan entity di samping Entities di menu sidebar kiri.
- Masukkan
language-programming
untuk nama entitas. Tambahkan entri entitas (baris) berikut:
Nilai Referensi Sinonim JavaScript JavaScript, js, ECMAScript Java Java Python Python, py Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
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:
- Klik Intent di menu sidebar kiri.
- Klik intent
set-language
. - Tambahkan frasa pelatihan berikut:
I know javascript
I know how to code in Java
- Perhatikan bahwa bahasa pemrograman dalam frasa pelatihan ini otomatis dianotasi dan ditambahkan ke parameter di bagian Action and Parameters.
- Di bagian Responses, tambahkan respons teks kedua berikut:
$language-programming is an excellent programming language.
. - Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
Menguji entity baru
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
:
- Pilih intent
set-language
yang Anda buat di langkah sebelumnya. - Di bagian Response, perbarui respons teks:
Wow! I didn't know you knew $language. How long have you known $language?
- Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
- Klik Intent di menu sidebar kiri.
- Arahkan kursor ke intent
set-language
, lalu klik Tambahkan intent tindak lanjut. - Klik kustom di daftar yang ditampilkan.
- Klik tombol Save dan tunggu hingga dialog Agent Training menunjukkan bahwa pelatihan telah selesai.
Dialogflow otomatis memberi nama intent tindak lanjut set-language - custom
.
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:
- Klik Intent di menu sidebar kiri.
- Klik intent
set-language - custom
. - Tambahkan frasa pelatihan berikut:
3 years
about 4 days
for 5 years
- 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.
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:
- Memperbarui respons teks intent
set-language - custom
menjadiI can't believe you've known #set-language-followup.language for $duration!
- 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.