Membuat agen Dialogflow CX

Panduan ini menunjukkan cara menggunakan Konsol Dialogflow CX untuk membuat dan menguji agen pemesanan kemeja sederhana. Saat berinteraksi dengan agen ini, Anda dapat meminta lokasi toko, mendapatkan jam buka toko, atau melakukan pemesanan kemeja.

Agen lengkap untuk panduan ini akan ditampilkan grafik oleh konsol seperti berikut:

Screenshot grafik agen

Sebelum memulai

Anda harus melakukan hal berikut sebelum membaca panduan ini:

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

Membuat agen

Buat agen baru untuk panduan ini:

  1. Buka Dialogflow CX Console.
  2. Buat atau pilih sebuah proyek.
  3. Klik Create agent.
  4. Pilih Buat sendiri.
  5. Lengkapi formulir untuk setelan agen dasar:
    1. Anda dapat memilih nama tampilan apa pun.
    2. Pilih lokasi yang diinginkan. Klik tombol Edit jika Anda ingin mengubah setelan lokasi lanjutan.
    3. Pilih zona waktu yang Anda inginkan.
    4. Pilih bahasa default untuk agen Anda.
    5. Secara opsional, aktifkan logging Stackdriver.
  6. Klik Simpan.

Impor agen opsional

Panduan ini memandu Anda melalui langkah-langkah untuk membuat agen pemesanan kemeja sederhana. Jika ingin melewati langkah-langkah konsol, Anda dapat mendownload agen dan mengimpornya.

Alur dan intent default

Alur dan intent berikut dibuat secara otomatis untuk agen baru. Anda dapat menemukan intent dengan mengklik Manage, lalu Intent. Anda dapat menemukan alurnya dengan mengklik Build.

Masa Berlaku Definisi
Niat Sambutan Default Intent Selamat Datang Default memiliki frasa pelatihan sederhana seperti "Halo" atau "Halo" yang dimaksudkan untuk mencocokkan input pengguna akhir awal. Anda dapat mengedit intent ini sesuai keinginan.
Niat Negatif Default Intent Negatif Default dapat digunakan untuk menambahkan frasa pelatihan ke intent ini yang berfungsi sebagai contoh negatif.
Alur Awal Default Alur Mulai Default dapat digunakan sebagai satu-satunya alur Anda. Ini adalah satu-satunya alur yang akan digunakan dalam panduan ini. Untuk agen yang lebih kompleks, Anda dapat menambahkan lebih banyak alur. Alur ini memiliki rute intent default dengan Intent Selamat Datang Default sebagai persyaratan intent.

Menguji pesan respons selamat datang default

Alur dan intent default dapat menangani percakapan dasar hanya dengan pesan selamat datang. Untuk menguji agen baru:

  1. Klik tombol Test Agent untuk membuka simulator.
  2. Masukkan hello di entri teks dan tekan enter.
  3. Agen merespons dengan respons selamat datang default.
  4. Tutup simulator.

Screenshot simulator

Langkah-langkah berikut dilakukan oleh agen untuk input pengguna akhir ini:

  1. Saat Anda memberikan input, Alur Mulai Default adalah alur aktif, dan halaman awal flow adalah halaman aktif. Setiap pengendali status yang diterapkan pada alur aktif berada dalam cakupan, sehingga agen mengevaluasinya.
  2. Salah satu rute yang dievaluasi memiliki Intent Selamat Datang Default sebagai persyaratan intent. Input Anda cocok dengan intent ini, sehingga rute dipanggil.
  3. Rute yang dipanggil memiliki beberapa pesan respons fulfillment. Agen memilih satu secara acak dan menambahkannya ke antrean respons.
  4. Rute yang dipanggil tidak memiliki target transisi, sehingga alur aktif dan halaman tidak berubah.
  5. Agen merespons dengan isi antrean respons.

Mengedit pesan respons selamat datang

Anda dapat mengubah pesan selamat datang ini. Untuk mengedit pesan respons selamat datang:

  1. Klik tab Build.
  2. Pilih Default Start Flow di bagian Flow.
  3. Klik node Start pada grafik. Ini adalah halaman awal untuk Alur Mulai Default.
  4. Temukan rute intent dengan Intent Selamat Datang Default sebagai persyaratan intent, lalu klik. Tindakan ini akan membuka panel untuk mengedit informasi rute intent.
  5. Cari bagian fulfillment dan hapus semua pesan respons, lalu tambahkan Hello, this is a shirt ordering virtual agent. How can I help you? sebagai satu-satunya respons.
  6. Klik Simpan.
  7. Tutup panel pengeditan rute intent.

Screenshot respons agen

Menguji pesan respons selamat datang yang diperbarui

Untuk menguji respons yang diperbarui:

  1. Klik tombol Test Agent untuk membuka simulator.
  2. Masukkan hello di entri teks dan tekan enter.
  3. Agen akan merespons dengan pesan baru Anda.
  4. Tutup simulator.

Halaman lokasi toko

Percakapan (sesi) Dialogflow CX dapat dijelaskan dan divisualisasikan sebagai mesin status. Status sesi CX direpresentasikan oleh halaman. Sejauh ini, Anda hanya memiliki satu halaman, sehingga agen tidak terlalu berguna. Di bagian ini, Anda akan membuat halaman lain yang menangani pertanyaan tentang lokasi toko.

Membuat intent lokasi

Intent mengategorikan niat pengguna akhir untuk satu giliran percakapan. Untuk membuat intent yang cocok saat input pengguna akhir meminta lokasi toko:

  1. Pilih tab Kelola.
  2. Klik Intent.
  3. Klik Create.
  4. Masukkan store.location untuk nama tampilan intent.
  5. Masukkan frasa pelatihan berikut:
    • Where is the store?
    • Directions
    • Tell me the address
    • Where do I pick up my order?
    • How do I get there?
    • Where is the store located?
    • What street are you on?
    • What is your address?
    • How do I get to your store?
    • Where are you located?
  6. Klik Simpan.

screenshot intent

Membuat halaman lokasi

Sekarang buat halaman baru. Anda dapat menambahkan fulfillment entri ke halaman ini yang akan dipanggil setiap kali halaman aktif. Fulfillment entri ini harus memiliki pesan respons yang memberikan lokasi toko. Untuk membuat halaman lokasi toko:

  1. Klik tab Build.
  2. Pilih Default Start Flow di bagian Flow.
  3. Klik tombol tambahkan di bagian Halaman. Entri teks untuk nama tampilan halaman akan muncul.
  4. Masukkan Store Location untuk nama tampilan halaman, lalu tekan enter.
  5. Klik tombol opsi di samping nama tampilan halaman.
  6. Pilih Edit untuk membuka panel pengeditan halaman.
  7. Cari Fulfillment entri, lalu klik Edit fulfillment.
  8. Masukkan Our store is located at 1007 Mountain Drive, Gotham City, NJ. di kolom Agent Says.
  9. Klik Simpan.
  10. Tutup panel pengeditan halaman.

screenshot halaman

Menambahkan rute intent lokasi ke alur

Sekarang Anda perlu membuat rute yang memiliki halaman lokasi toko sebagai target transisi. Saat rute ini dipanggil, sesi akan bertransisi ke halaman lokasi toko. Rute ini diterapkan ke Alur Mulai Default, sehingga tercakup selama alur aktif. Untuk agen alur tunggal, ini berarti bahwa rute selalu dalam cakupan. Kapan saja dalam percakapan, pengguna akhir dapat meminta lokasi toko, dan rute ini akan dipanggil.

Untuk membuat rute ini:

  1. Klik tab Build.
  2. Pilih Default Start Flow di bagian Flow.
  3. Klik node Start pada grafik. Ini adalah halaman awal untuk Alur Mulai Default.
  4. Tambahkan rute intent berikut:
    • Intent: store.location
    • Halaman Transisi: Store Location
  5. Klik Simpan.
  6. Tutup panel pengeditan rute intent.

screenshot rute intent

Saat Anda menutup panel pengeditan, perhatikan bahwa laman baru Anda memiliki simpul pada grafik. Panah dari node Start ke node Store Location menunjukkan cara sesi dapat bertransisi dari node ke node.

Menguji halaman lokasi toko

Untuk menguji halaman Anda:

  1. Klik tombol Test Agent untuk membuka simulator.
  2. Masukkan What is the store location?, lalu tekan enter.
  3. Agen memberikan alamat.
  4. Tutup simulator.

Langkah-langkah berikut dilakukan oleh agen untuk input pengguna akhir:

  1. Saat Anda memberikan input, Alur Mulai Default adalah alur aktif, dan halaman awal flow adalah halaman aktif. Setiap pengendali status yang diterapkan pada alur aktif berada dalam cakupan, sehingga agen mengevaluasinya.
  2. Salah satu rute yang dievaluasi memiliki store.location sebagai persyaratan intent. Input Anda cocok dengan intent ini, sehingga rute dipanggil.
  3. Rute yang dipanggil tidak memiliki pesan respons fulfillment, sehingga tidak menambahkan apa pun ke antrean respons.
  4. Rute yang dipanggil memiliki target transisi, sehingga halaman aktif berubah menjadi halaman Store Location.
  5. Halaman Lokasi Toko memiliki fulfillment entri, sehingga pesan respons untuk fulfillment ditambahkan ke antrean respons (alamat).
  6. Agen merespons dengan isi antrean respons.

Halaman jam buka menggunakan pembuatan inline

Di bagian ini, Anda akan membuat halaman Jam Buka yang menangani pertanyaan pengguna akhir tentang jam buka toko. Di bagian sebelumnya, Anda telah membuat halaman dan intent dari tab Build dan Manage. Bagian ini menunjukkan cara yang lebih cepat untuk membuat jenis ini dengan pembuatan inline.

Untuk membuat rute, intent, dan halaman intent secara inline:

  1. Klik node Start pada grafik.
  2. Klik tombol Intent route add . Panel pengeditan rute intent akan terbuka.
  3. Di bagian Intent, pilih New intent. Panel pengeditan intent akan terbuka.
  4. Buat intent store.hours dengan frasa pelatihan berikut:

    • What are your store hours?
    • What time do you close?
  5. Klik Save untuk menyimpan intent. Panel pengeditan intent akan ditutup.

  6. Scroll ke bawah ke bagian Transition di panel pengeditan rute intent.

  7. Untuk transisi Page, pilih New page.

  8. Masukkan Store Hours dalam entri teks yang muncul.

  9. Klik Simpan. Halaman baru akan muncul pada grafik, karena sekarang ada transisi yang mengarah ke halaman tersebut.

  10. Tutup panel pengeditan rute intent.

  11. Tambahkan fulfillment entri yang menyediakan jam buka toko, mirip dengan langkah yang diambil untuk Lokasi Toko.

  12. Tutup panel pengeditan yang terbuka.

Halaman item pesanan

Selanjutnya, Anda akan membuat halaman yang menggunakan parameter formulir. Saat pengguna akhir meminta pesanan kemeja baru, sesi akan bertransisi ke halaman ini. Saat aktif, halaman ini akan mengumpulkan ukuran dan warna untuk pesanan kemeja.

Membuat jenis entitas kustom untuk ukuran kemeja

Jenis entity digunakan untuk mengontrol cara mengekstrak data dari input pengguna akhir. Dialogflow menyediakan entity sistem yang telah ditetapkan dan dapat mencocokkan dengan banyak jenis data umum. Misalnya, ada entity sistem untuk tanggal, waktu, warna, alamat email yang cocok, dan sebagainya. Anda juga dapat membuat entitas kustom sendiri untuk mencocokkan data kustom.

Untuk agen ini, Anda dapat menggunakan entity sistem untuk warna kemeja, tetapi Anda perlu membuat entity kustom untuk ukuran kemeja. Jenis entity ukuran harus memiliki entri entity berikut:

Entity Sinonim
kecil kecil, mungil, kecil
medium sedang, reguler, rata-rata
besar besar, besar, raksasa

Untuk membuat entitas ini:

  1. Pilih tab Kelola.
  2. Klik Jenis Entitas.
  3. Klik +Create.
  4. Setel nama tampilan ke size.
  5. Tambahkan entri entity yang tercantum dalam tabel di atas.
  6. Klik Simpan.

Membuat intent pesanan dengan parameter intent

Anda memerlukan intent yang cocok saat pengguna akhir meminta pesanan kemeja baru. Intent ini juga harus secara opsional menangkap warna dan/atau ukuran kemeja yang diinginkan yang diberikan oleh pengguna akhir jika mereka memberikan info tersebut di awal.

Parameter digunakan untuk mengambil dan mereferensikan nilai yang telah diberikan oleh pengguna akhir selama sesi. Setiap parameter memiliki nama tampilan dan jenis entity. Tidak seperti input mentah pengguna akhir, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk menjalankan beberapa logika atau menghasilkan respons.

Anda dapat mengontrol cara data pengguna akhir diekstrak menggunakan pencocokan intent dengan menganotasi bagian frasa pelatihan dan mengonfigurasi parameter intent terkait. Contohnya, pertimbangkan kalimat pelatihan seperti "Apa prakiraan cuaca besok untuk Tokyo?" Anda harus memberi anotasi "tomorrow" dengan parameter date dan "Tokyo" dengan parameter location. Saat Anda menganotasi bagian frasa pelatihan, Dialogflow akan menyadari bahwa bagian tersebut hanyalah contoh nilai sebenarnya yang akan disediakan oleh pengguna akhir saat runtime. Untuk input pengguna akhir seperti "Apa prakiraan cuaca hari Jumat untuk Sydney?", Dialogflow akan mengekstrak parameter date dari "Jumat" dan parameter location dari "Sydney".

Untuk menganotasi frasa pelatihan dengan konsol:

  1. Pilih bagian frasa pelatihan yang ingin Anda beri anotasi.
  2. Pilih jenis entitas yang diinginkan dari daftar.
  3. Parameter dibuat untuk Anda di tabel parameter di bawah.

Buat intent yang mirip dengan langkah-langkah yang Anda ikuti di atas. Beri nama intent ini order.new. Untuk setiap frasa yang berisi warna, anotasikan warna dengan parameter color dan jenis entity sistem @sys.color. Untuk setiap frasa yang berisi ukuran kemeja, anotasikan ukuran dengan parameter size dan jenis entity kustom @size yang Anda buat di langkah sebelumnya. Frasa dan parameter pelatihan Anda akan terlihat seperti berikut:

Screenshot intent

Membuat halaman pesanan

Buat halaman pesanan baru dengan mengikuti langkah-langkah yang sama seperti langkah sebelumnya:

  • Nama tampilan: New Order
  • Fulfillment entri: Ok, let's start a new order.

Menambahkan formulir ke halaman pesanan

Untuk setiap halaman, Anda dapat menentukan formulir, yang merupakan daftar parameter yang harus dikumpulkan dari pengguna akhir untuk halaman tersebut. Agen berinteraksi dengan pengguna akhir untuk beberapa giliran percakapan, hingga mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Untuk setiap parameter formulir, Anda juga menyediakan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.

Saat pengguna akhir memberikan parameter intent untuk pencocokan intent, parameter intent tersebut akan menjadi parameter sesi. Saat halaman awalnya aktif, semua parameter bentuknya akan diisi otomatis dengan parameter sesi bernama serupa. Jadi, jika pengguna akhir menyediakan ukuran atau warna saat intent order.new cocok, nilai ini akan otomatis diisi untuk formulir.

Untuk halaman pesanan baru, Anda harus menentukan dua parameter formulir yang diperlukan:

Diperlukan Nama tampilan Jenis entitas Adalah daftar Prompt
color [warna] @sys.color Mau warna apa?
ukuran @ukuran Mau ukuran apa?

Untuk menambahkan formulir ini:

  1. Klik halaman Pesanan Baru di grafik.
  2. Klik tombol Parameters tambahkan . Panel pengeditan parameter akan terbuka.
  3. Tambahkan parameter seperti yang dijelaskan dalam tabel di atas.
  4. Klik Simpan.
  5. Tutup panel pengeditan parameter.

Menambahkan rute intent pesanan ke alur

Serupa dengan langkah-langkah yang Anda ikuti di atas, tambahkan rute ke Alur Mulai Default. Rute ini harus dipanggil saat pengguna akhir ingin membuat pesanan baru:

  • Intent: order.new
  • Halaman Target Transisi: Pesanan Baru

Laman konfirmasi

Laman terakhir Anda hanya akan mengonfirmasi pesanan dan mengakhiri sesi.

Membuat halaman konfirmasi

Buat halaman konfirmasi dengan respons yang menggunakan parameter sesi untuk mengonfirmasi pesanan:

  • Nama tampilan: Order Confirmation
  • Fulfillment entri: You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.

Menambahkan rute kondisi ke halaman pesanan

Anda juga dapat menggunakan conditions untuk menentukan apakah rute dipanggil. Kondisi biasanya digunakan untuk memeriksa apakah formulir sudah lengkap, atau dikonfigurasi agar selalu dipanggil saat dievaluasi.

Untuk menetapkan kondisi di konsol CX, lihat dokumentasi Tetapkan kondisi.

Tambahkan rute berikut ke halaman pesanan, yang akan dipanggil saat formulir halaman pesanan diisi. Perhatikan bagaimana rute kondisi ini menggunakan referensi parameter dalam responsnya terhadap pengguna akhir dan cara mentransisi sesi ke halaman Order Confirmation.

  • Kondisi: $page.params.status = "FINAL"
  • Kata Agen: You have selected a $session.params.size, $session.params.color shirt.
  • Halaman Transisi: Order Confirmation

Tambahkan rute berikut ke halaman pesanan, yang akan dipanggil untuk setiap giliran percakapan saat halaman aktif dan rute kondisi akan dievaluasi. Saat kondisi di atas dievaluasi dan dipanggil, halaman menjadi tidak aktif, sehingga rute kondisi true ini tidak dievaluasi:

  • Kondisi: true
  • Kata Agen: I'd like to collect a bit more information from you.

Membuat rute kondisi untuk mengakhiri sesi

Tambahkan rute kondisi berikut ke halaman Confirm Order untuk mengakhiri sesi setelah halaman tersebut aktif dan fulfillment entrinya diproses:

  • Kondisi: true
  • Target Transisi: Halaman: End Session

Menguji agen yang sudah selesai

Uji agen dengan dialog berikut:

Dialog Penjelasan
Pengguna akhir: Halo
Agen: Halo, ini adalah agen virtual pemesanan kemeja. Ada yang bisa saya bantu?
  1. Rute Intent Selamat Datang Default di Alur Mulai Default dipanggil.
  2. Fulfillment untuk pengendali status ini ("Halo, ini...") akan ditambahkan ke antrean respons.
  3. Agen mengirim antrean respons ke pengguna akhir.
Pengguna akhir: Saya ingin membeli kemeja biru
Agen: Oke, mari kita mulai pesanan baru.
Agen: Saya ingin mengumpulkan lebih banyak informasi dari Anda.
Agen: Berapa ukuran yang Anda inginkan?
  1. Rute intent order.new di Alur Mulai Default dievaluasi.
  2. Intent order.new cocok, dan parameter intent color disetel ke "blue".
  3. Sesi akan bertransisi ke halaman Pesanan Baru, dan parameter intent color menjadi parameter sesi.
  4. Halaman Pesanan Baru memiliki fulfillment entri ("Ok, mari kita mulai..."), jadi ini ditambahkan ke antrean respons.
  5. Parameter sesi color digunakan untuk mengisi parameter formulir bernama serupa.
  6. Rute kondisi sebenarnya di halaman Pesanan Baru dievaluasi dan dipanggil. Terdapat pesan respons ("Saya ingin mengumpulkan..."), jadi ini ditambahkan ke antrean respons.
  7. Formulir halaman belum diisi, sehingga agen menggunakan dialog ukuran ("Ukuran berapa...") dan menambahkannya ke antrean respons.
  8. Agen mengirim antrean respons ke pengguna akhir.
Pengguna akhir: besar
Agen: Anda telah memilih kemeja biru besar.
Agen: Anda dapat mengambil pesanan untuk kaus biru besar dalam 7 hingga 10 hari kerja. Sampai jumpa.
  1. Input pengguna akhir akan mengisi parameter size yang diminta oleh agen pada giliran percakapan sebelumnya.
  2. Rute penyelesaian formulir di halaman Pesanan Baru dievaluasi dan dipanggil. Class ini memiliki fulfillment ("Anda telah memilih..."), yang ditambahkan ke antrean respons dengan referensi parameternya yang di-resolve ke nilai sebenarnya yang diberikan oleh pengguna akhir.
  3. Sesi akan bertransisi ke halaman Konfirmasi Pesanan.
  4. Halaman Konfirmasi Pesanan memiliki fulfillment entri ("Anda dapat mengambil..."), yang ditambahkan ke antrean respons.
  5. Agen mengirim antrean respons ke pengguna akhir.
  6. Sesi akan ditransisikan ke Akhiri Sesi.

Produksi

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

Langkah selanjutnya