Membuat agen Dialogflow ES

Gunakan konsol Dialogflow ES untuk membuat dan menguji agen.

Sebelum memulai

Sebelum memulai, selesaikan langkah-langkah berikut:

Buat agen

  1. Buka konsol Dialogflow ES.
  2. Login ke konsol Dialogflow jika diminta. Untuk mengetahui informasi selengkapnya, lihat Ringkasan konsol Dialogflow.
  3. Di menu sidebar, klik Agents.
  4. Pilih tab Your deployed agents.
  5. Klik Create agent.
  6. Masukkan nama agen, bahasa default, dan zona waktu default.
  7. Masukkan project yang ada. Untuk mengizinkan konsol Dialogflow membuat project, pilih Create a new Google project.
  8. 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:

  1. Buka konsol Dialogflow ES.
  2. Pilih agen yang Anda buat.
  3. Klik Intents di menu sidebar.

Bagian tengah konsol Dialogflow menampilkan daftar intent untuk agen.

Screenshot daftar maksud

Menguji Default Fallback Intent

Screenshot simulator

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

Coba agen sekarang:

  1. Klik kolom Try it now.
  2. Ketik What is your name?.
  3. 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:

  1. Klik tombol add intent di samping Intents di menu sidebar.
  2. Masukkan get-agent-name di kolom Intent name.
  3. Di bagian Training Phrases, klik Add training phrases.
  4. Masukkan frasa pelatihan berikut:

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

    Screenshot frasa pelatihan

  5. Di bagian Responses, masukkan hal berikut di bagian Text Response:

    • 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?, 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:

  1. Klik tombol plus di samping Intents di menu sidebar.
  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 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 &parameters:

Screenshot frasa pelatihan yang dianotasi

  • Required: Tidak dicentang; parameter ini bersifat opsional.
  • Parameter Name: Otomatis diberi nama language karena 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:

  1. Buka bagian Responses.
  2. Di bagian Text Response, tambahkan hal 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, 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:

  1. Klik tombol add entity di samping Entities di menu sidebar.
  2. Masukkan language-programming untuk nama entity.
  3. Tambahkan entri entity (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 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:

  1. Klik Intents di menu sidebar.
  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 diberi anotasi 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. 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:

  1. Pilih intent set-language yang Anda buat pada 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 Intents di menu sidebar.
  5. Arahkan kursor ke intent set-language, lalu klik Add follow-up intent.
  6. Klik Custom dalam daftar.
  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 lanjutan

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:

  1. Klik Intents di menu sidebar.
  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 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.

Screenshot konteks output

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:

  1. Perbarui 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 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.

Langkah berikutnya

Coba Panduan memulai Fulfillment.