Membuat agen Dialogflow ES
Gunakan konsol Dialogflow ES untuk membuat dan menguji agen.
Sebelum memulai
Sebelum memulai, selesaikan langkah-langkah berikut:
- Baca Dasar-dasar Dialogflow.
- Selesaikan langkah-langkah penyiapan.
Buat agen
- Buka konsol Dialogflow ES.
- Login ke konsol Dialogflow jika diminta. Untuk mengetahui informasi selengkapnya, lihat Ringkasan konsol Dialogflow.
- Di menu sidebar, klik Agents.
- Pilih tab Your deployed agents.
- Klik Create agent.
- Masukkan nama agen, bahasa default, dan zona waktu default.
- Masukkan project yang ada. Untuk mengizinkan konsol Dialogflow membuat project, pilih Create a new Google project.
- Klik Create.
Intent
Intent mengategorikan maksud pengguna akhir dalam satu giliran percakapan. Untuk setiap agen, Anda menentukan banyak intent yang bersama-sama menangani percakapan lengkap.
Intent default
Saat Anda membuat agen, Dialogflow akan membuat dua intent default untuk Anda:
- Default Welcome Intent: Intent ini cocok saat pengguna akhir memulai percakapan dengan agen Anda. Intent ini menampilkan respons yang memberi tahu pengguna akhir tentang fungsi agen Anda atau apa yang dapat mereka katakan untuk memulai percakapan.
- Default Fallback Intent: Intent ini cocok saat agen tidak dapat mencocokkan ekspresi pengguna akhir dengan intent lain.
Untuk melihat intent ini, buka daftar intent untuk agen Anda:
- Buka konsol Dialogflow ES.
- Pilih agen yang Anda buat.
- Klik Intents di menu sidebar.
Bagian tengah konsol Dialogflow menampilkan daftar intent untuk agen.

Menguji Default Fallback Intent

Simulator Dialogflow berada di sisi kanan konsol. Dengan simulator, Anda dapat menguji agen dengan berbicara atau mengetik pesan.
Coba agen sekarang:
- Klik kolom Try it now.
- Ketik
What is your name?. - Tekan Enter.
Respons agen akan muncul di bagian Default Response. Karena input Anda tidak cocok dengan intent apa pun, Default Fallback Intent akan cocok, dan Anda akan menerima salah satu balasan default.
Membuat intent
Langkah-langkah di bagian ini membuat intent yang menjawab pertanyaan "What is your name?" Untuk setiap intent, Anda menentukan banyak frasa pelatihan. Frasa pelatihan adalah contoh dari apa yang mungkin diketik atau diucapkan pengguna akhir kepada agen Anda, yang juga dikenal sebagai ekspresi pengguna akhir. Tentukan frasa pelatihan yang membantu Dialogflow mencocokkan ekspresi dengan intent.
Buat intent:
- Klik tombol add intent di samping Intents di menu sidebar.
- Masukkan
get-agent-namedi kolom Intent name. - Di bagian Training Phrases, klik Add training phrases.
Masukkan frasa pelatihan berikut:
What is your name?Do you have a name?Tell me your name

Di bagian Responses, masukkan hal berikut di bagian Text Response:
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?, lalu tekan Enter.
Agen merespons ekspresi dengan benar, meskipun ekspresi tersebut sedikit berbeda dari frasa pelatihan yang diberikan.
Dialogflow menggunakan frasa pelatihan sebagai contoh untuk model machine learning agar dapat mencocokkan ekspresi pengguna akhir dengan intent. Model memeriksa ekspresi terhadap setiap intent di agen, menetapkan skor ke setiap intent, dan mencocokkan intent dengan skor tertinggi. Jika intent dengan skor tertinggi memiliki skor yang sangat rendah, intent penggantian akan cocok.
Parameter dan entity
Saat intent cocok saat runtime, Dialogflow akan memberikan nilai yang diekstrak dari ekspresi pengguna akhir sebagai parameter. Setiap parameter memiliki jenis, yang disebut jenis entity, yang menentukan dengan tepat cara data diekstrak. Tidak seperti input pengguna akhir mentah, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk melakukan beberapa logika atau membuat respons.Untuk mengontrol cara data diekstrak saat membuat agen, beri anotasi pada bagian frasa pelatihan dan konfigurasi parameter terkait.
Membuat parameter
Buat parameter intent:
- Klik tombol plus di samping Intents di menu sidebar.
- Beri nama intent
set-languagedi bagian atas formulir intent. - Tambahkan frasa pelatihan berikut:
I know EnglishI speak FrenchI 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 entity yang disediakan oleh Dialogflow untuk banyak jenis data umum, seperti lokasi, warna, dan tanggal.
Setelah Anda menambahkan frasa pelatihan, Dialogflow akan membuat baris di tabel Action ¶meters:

- Required: Tidak dicentang; parameter ini bersifat opsional.
- Parameter Name: Otomatis diberi nama
languagekarena dikenali sebagai bahasa. - Entity: Dikenali sebagai entity sistem
@sys.language. - Value: ID yang digunakan saat mereferensikan nilai parameter ini.
- Is List: Tidak dicentang; parameter ini bukan daftar.
Menggunakan data parameter dalam respons
Anda dapat menggunakan nilai parameter dalam respons. Misalnya, Anda dapat menggunakan referensi parameter $language dalam respons saat membuat agen. Saat runtime, agen akan menggantinya dengan bahasa yang ditentukan dalam ekspresi pengguna akhir.
Tambahkan respons yang menggunakan parameter:
- Buka bagian Responses.
- Di bagian Text Response, tambahkan hal 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, ketik I know Russian. Anda dapat melihat bahwa Dialogflow mengekstrak parameter language dengan benar dengan nilai Russian, dan Russian dimasukkan dengan benar saat referensi parameter digunakan dalam respons.
Membuat entity Anda sendiri
Dalam sebagian besar kasus, Anda perlu mengumpulkan data spesifik dari pengguna yang tidak disediakan oleh entity sistem. Anda dapat membuat entity kustom untuk menanganinya.
Buat entity kustom:
- Klik tombol add entity di samping Entities di menu sidebar.
- Masukkan
language-programminguntuk nama entity. Tambahkan entri entity (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 kasus sederhana seperti pluralitas dan kapitalisasi. Tambahkan semua sinonim yang mungkin untuk entri Anda. Semakin banyak sinonim yang Anda tambahkan, semakin baik agen Anda dapat mengidentifikasi entity Anda.
Menggunakan entity baru
Tambahkan frasa pelatihan ke intent set-language yang menggunakan entity baru:
- Klik Intents di menu sidebar.
- Klik intent
set-language. - Tambahkan frasa pelatihan berikut:
I know javascriptI know how to code in Java
- Perhatikan bahwa bahasa pemrograman dalam frasa pelatihan ini otomatis diberi anotasi 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. Dialogflow mengekstrak py dengan benar untuk parameter language-programming, mengidentifikasinya sebagai entity Python, dan memasukkan nilai ke dalam respons.
Konteks
Untuk mengontrol alur percakapan, Anda dapat menggunakan konteks.
Menambahkan intent tindak lanjut
_Intent tindak lanjut_ memungkinkan Anda mengontrol percakapan tanpa 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 pada giliran percakapan sebelumnya.
Tambahkan intent tindak lanjut kustom ke intent set-language:
- Pilih intent
set-languageyang Anda buat pada 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 Intents di menu sidebar.
- Arahkan kursor ke intent
set-language, lalu klik Add follow-up intent. - Klik Custom dalam daftar.
- 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 cocok setelah intent induk cocok. Karena
intent set-language - custom hanya cocok setelah intent set-language, pengguna baru saja ditanya, "How long have you known
$language?" Tambahkan frasa pelatihan untuk kemungkinan jawaban pengguna atas pertanyaan tersebut:
- Klik Intents di menu sidebar.
- Klik intent
set-language - custom. - Tambahkan frasa pelatihan berikut:
3 yearsabout 4 daysfor 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 akan melihat bahwa ekspresi tersebut cocok 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 yang diawali dengan angka 2. Angka ini disebut
masa aktif.

Setelah intent set-language cocok, konteks set-language-followup
aktif dan dilampirkan ke percakapan selama dua giliran (masa aktif 2).
Oleh karena itu, saat Anda menjawab pertanyaan seperti 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.
Intent apa pun dengan konteks input yang cocok dengan konteks aktif akan diprioritaskan saat Dialogflow mencocokkan intent.
Konteks dan parameter
Konteks menyimpan nilai parameter, dan Anda dapat mengakses nilai parameter yang ditentukan dalam intent set-language saat konteks output-nya aktif. Dalam intent set-language - custom, Anda hanya menanyakan durasi pengguna telah mengetahui bahasa tersebut, dan bukan bahasa yang direferensikan itu sendiri.
Untuk mereferensikan bahasa dalam respons:
- Perbarui respons teks intent
set-language - custommenjadiI 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 adalah referensi parameter untuk konteks aktif.
Menguji parameter konteks
Masukkan I know French di simulator, lalu jawab pertanyaan dengan 1 week. Perhatikan bahwa parameter value language diambil dari konteks.
Produksi
Sebelum menjalankan agen dalam produksi, terapkan the praktik terbaik produksi.