Buat 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 jika diminta. Untuk mengetahui informasi selengkapnya, lihat Ringkasan konsol Dialogflow.
  3. Di menu sidebar, luaskan Loading agents.
  4. Klik Create new agent.
  5. Masukkan nama agen, bahasa default, dan zona waktu default.
  6. Masukkan project yang ada. Agar konsol Dialogflow membuat project, pilih Buat project Google baru.
  7. Klik Create.

Intent

Intent mengategorikan niat pengguna akhir untuk satu giliran percakapan. Untuk setiap agen, Anda menentukan banyak maksud yang bersama-sama menangani percakapan lengkap.

Intent default

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

  • Intent Sambutan Default: Intent ini cocok saat pengguna akhir memulai percakapan dengan agen Anda. Respons ini akan memberi tahu pengguna akhir tentang kemampuan agen Anda atau apa yang dapat mereka ucapkan untuk memulai percakapan.
  • Intent Pengganti Default: Intent ini cocok saat agen tidak dapat mencocokkan ekspresi pengguna akhir dengan intent lain.

Untuk melihat maksud ini, buka daftar maksud 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 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:

  1. Klik kolom Coba sekarang.
  2. Ketik What is your name?.
  3. Tekan Enter.

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

Membuat intent

Langkah-langkah di bagian ini membuat intent yang 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. Tentukan frasa pelatihan yang membantu Dialogflow mencocokkan ekspresi dengan intent.

Buat intent:

  1. Klik tombol tambahkan maksud di samping Maksud 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 teks berikut di bagian Text Response:

    • My name is Dialogflow!

    Screenshot frasa pelatihan

  6. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

Menguji niat Anda

Screenshot simulator

Di simulator, ketik What's your name?, lalu tekan Enter.

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

Dialogflow menggunakan frasa pelatihan sebagai contoh bagi model machine learning untuk mencocokkan ekspresi pengguna akhir dengan intent. Model memeriksa ekspresi terhadap setiap maksud (intent) di agen, menetapkan skor ke setiap maksud, dan mencocokkan maksud dengan skor tertinggi. Jika maksud dengan skor tertinggi memiliki skor yang sangat rendah, maksud pengganti akan dicocokkan.

Parameter dan entity

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

Untuk mengontrol cara data diekstrak saat membangun agen, anotasi bagian dari frasa pelatihan dan konfigurasi parameter terkait.

Membuat parameter

Membuat parameter intent:

  1. Klik tombol plus di samping Maksud (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 Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

    Screenshot frasa pelatihan yang diberi anotasi

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

Setelah Anda menambahkan frasa pelatihan, Dialogflow akan membuat baris di tabel Tindakan & parameter:

Screenshot frasa pelatihan yang dianotasi

  • Wajib: Tidak dicentang; parameter ini bersifat opsional.
  • Nama Parameter: Otomatis diberi nama language karena dikenali sebagai bahasa.
  • Entitas: Dikenali sebagai entitas sistem @sys.language.
  • Nilai: ID yang digunakan saat mereferensikan nilai parameter ini.
  • Adalah Daftar: 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.

Menambahkan respons yang menggunakan parameter:

  1. Buka bagian Respons.
  2. Di bagian Text Response, tambahkan kode berikut: Wow! I didn't know you knew $language.
  3. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

Menguji parameter

Screenshot simulator

Di simulator, ketik I know Russian. Anda dapat melihat bahwa Dialogflow mengekstraksi parameter language dengan benar dengan nilai Russian, dan Russian dimasukkan dengan benar di tempat referensi parameter digunakan dalam respons.

Membuat entitas Anda sendiri

Dalam sebagian besar kasus, Anda perlu mengumpulkan data spesifik dari pengguna yang tidak disediakan oleh entity sistem. Anda dapat membuat entitas kustom untuk menanganinya.

Buat entity kustom:

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

    Nilai Referensi Sinonim
    JavaScript JavaScript, js, ECMAScript
    Java Java
    Python Python, py
  4. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

Screenshot penggunaan entitas

Dialogflow dapat menangani kasus sederhana seperti jamak dan kapitalisasi. Tambahkan semua kemungkinan sinonim untuk entri Anda. Makin banyak sinonim yang Anda tambahkan, makin baik agen Anda dapat mengidentifikasi entitas 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 dianotasi dan ditambahkan secara otomatis ke parameter di bagian Tindakan dan Parameter.
  5. Di bagian Responses, tambahkan respons teks kedua berikut: $language-programming is an excellent programming language.
  6. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

Menguji entity baru Anda

Screenshot simulator

Di simulator, masukkan I know how to code in py. Dialogflow mengekstraksi py dengan benar untuk parameter language-programming, mengidentifikasinya sebagai entitas Python, dan menyisipkan nilai ke dalam respons.

Konteks

Untuk mengontrol alur percakapan, Anda dapat menggunakan konteks.

Menambahkan intent tindak lanjut

Maksud lanjutan memungkinkan Anda mengontrol percakapan tanpa membuat dan mengelola konteks secara manual.

Saat Anda membuat intent lanjutan, konteks output ditambahkan ke intent induk, dan konteks input dengan nama yang sama ditambahkan ke intent turunan. Artinya, intent lanjutan 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 pada langkah sebelumnya.
  2. Di bagian Respons, perbarui respons teks:
    • Wow! I didn't know you knew $language. How long have you known $language?
  3. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.
  4. Klik Intents di menu sidebar.
  5. Arahkan kursor ke maksud set-language, lalu klik Tambahkan maksud lanjutan.
  6. Klik Kustom dalam daftar.
  7. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen menunjukkan bahwa pelatihan telah selesai.

Dialogflow otomatis memberi nama intent lanjutan set-language - custom.

Screenshot lanjutan

Pencocokan intent dengan intent tindak lanjut

Intent tindak lanjut hanya dicocokkan setelah intent induk dicocokkan. Karena maksud set-language - custom hanya cocok setelah maksud set-language, pengguna baru saja ditanyai, "Sudah berapa lama Anda mengenal $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 Simpan dan tunggu hingga dialog Pelatihan Agen 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 melihat bahwa ekspresi tersebut cocok dengan maksud 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 pakai.

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 merespons pertanyaan seperti How long have you known $language?, konteks set-language-followup akan aktif.

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

Semua intent dengan konteks input yang cocok dengan konteks aktif akan diprioritaskan saat Dialogflow mencocokkan intent.

Konteks dan parameter

Konteks menyimpan parameter value, dan Anda dapat mengakses nilai parameter yang ditentukan dalam maksud set-language saat konteks outputnya aktif. Pada maksud set-language - custom, Anda hanya meminta durasi pengguna telah mengetahui bahasa tersebut, dan bukan bahasa yang dirujuk itu sendiri.

Untuk merujuk bahasa dalam respons:

  1. Perbarui respons teks maksud set-language - custom menjadi I can't believe you've known #set-language-followup.language for $duration!
  2. Klik tombol Simpan dan tunggu hingga dialog Pelatihan Agen 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 nilai parameter language diambil dari konteks.

Produksi

Sebelum menjalankan agen Anda dalam produksi, terapkan praktik terbaik produksi.

Langkah berikutnya

Coba Panduan memulai pemenuhan.