Membuat agen menggunakan alur

Panduan ini menunjukkan cara menggunakan konsol Dialogflow CX untuk membangun dan menguji agen pemesanan kemeja sederhana menggunakan alur. Saat berinteraksi dengan agen ini, Anda dapat menanyakan lokasi toko, jam buka toko, atau melakukan pemesanan kemeja.

Agen yang telah selesai untuk panduan ini akan ditampilkan dalam grafik oleh konsol seperti berikut:

Screenshot grafik agen

Sebelum memulai

Anda harus melakukan hal berikut sebelum membaca panduan ini:

  1. Baca dasar-dasar alur.
  2. Lakukan langkah-langkah penyiapan.

Buat agen

Buat agen baru untuk panduan ini:

  1. Buka konsol Dialogflow CX.
  2. Buat atau pilih project.
  3. Klik Buat agen.
  4. Pilih Build your own.
  5. Isi formulir untuk setelan agen dasar:
    1. Anda dapat memilih nama tampilan apa pun.
    2. Pilih lokasi yang Anda inginkan. Klik tombol Edit jika Anda ingin mengubah setelan lokasi lanjutan.
    3. Pilih zona waktu pilihan Anda.
    4. Pilih bahasa default untuk agen Anda.
    5. Aktifkan logging Stackdriver secara opsional.
  6. Klik Simpan.

Impor agen opsional

Panduan ini akan memandu Anda menjalankan langkah-langkah untuk membuat agen pemesanan kemeja sederhana. Jika Anda 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 niat dengan mengklik Kelola, lalu Niat. Anda dapat menemukan alur dengan mengklik Build.

Istilah Definisi
Intent Selamat Datang Default Default Welcome Intent memiliki frasa pelatihan sederhana seperti "Hai" atau "Halo" yang dimaksudkan untuk mencocokkan input awal pengguna akhir. Anda dapat mengedit maksud ini sesuai keinginan.
Maksud Negatif Default Maksud Negatif Default dapat digunakan untuk menambahkan frasa pelatihan ke maksud ini yang bertindak sebagai contoh negatif.
Alur Mulai 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 Default Welcome Intent sebagai persyaratan intent.

Menguji pesan respons selamat datang default

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

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

Screenshot simulator

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

  1. Saat Anda memberikan input, Default Start Flow adalah alur yang aktif, dan halaman awal alur adalah halaman yang aktif. Setiap pengendali status yang diterapkan ke alur aktif dalam cakupan, sehingga agen mengevaluasinya.
  2. Salah satu rute yang dievaluasi memiliki Default Welcome Intent sebagai persyaratan intent. Input Anda cocok dengan intent ini, sehingga rute dipanggil.
  3. Rute yang dipanggil memiliki beberapa pesan respons pemenuhan. Agen memilih salah satu secara acak dan menambahkannya ke antrean respons.
  4. Rute yang dipanggil tidak memiliki target transisi, sehingga alur dan halaman aktif tidak berubah.
  5. Agen merespons dengan konten 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 Flows.
  3. Klik node Start Page di grafik. Ini adalah halaman awal untuk Alur Mulai Default.
  4. Temukan rute dengan Default Welcome Intent sebagai persyaratan intent, lalu klik rute tersebut. Tindakan ini akan membuka panel untuk mengedit informasi rute intent.
  5. Temukan bagian pemenuhan dan, di bagian subbagian respons agen, 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.

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, lalu tekan enter.
  3. Agen akan merespons dengan pesan baru Anda.
  4. Tutup simulator.

Halaman lokasi toko

Percakapan (sesi) Dialogflow CX dapat dideskripsikan dan divisualisasikan sebagai mesin status. Status sesi CX diwakili 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.

Buat intent lokasi

Maksud (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 Intents.
  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 maksud

Membuat halaman lokasi

Sekarang buat halaman baru. Anda dapat menambahkan pemenuhan entri ke halaman ini yang dipanggil setiap kali halaman menjadi aktif. Pemenuhan 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 Flows.
  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. Temukan Pemenuhan entri, lalu klik Edit pemenuhan.
  8. Klik +Tambahkan respons dialog untuk memasukkan Our store is located at 1007 Mountain Drive, Gotham City, NJ. di kolom Dialog agen pada bagian Respons agen.
  9. Klik Simpan.
  10. Tutup panel pengeditan halaman.

screenshot halaman

Menambahkan rute niat 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 berada dalam cakupan selama alur aktif. Untuk agen alur tunggal, ini berarti rute selalu dalam cakupan. Di titik mana pun 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 Flows.
  3. Klik node Start Page di grafik. Ini adalah halaman awal untuk Alur Mulai Default.
  4. Tambahkan rute maksud berikut:
    • Maksud: 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 halaman baru Anda memiliki node pada grafik. Panah dari node Mulai ke node Lokasi Toko 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, Default Start Flow adalah alur yang aktif, dan halaman awal alur adalah halaman yang aktif. Setiap pengendali status yang diterapkan ke alur aktif dalam cakupan, sehingga agen mengevaluasinya.
  2. Salah satu rute yang dievaluasi memiliki store.location sebagai persyaratan niat. Input Anda cocok dengan intent ini, sehingga rute dipanggil.
  3. Rute yang dipanggil tidak memiliki pesan respons pemenuhan, sehingga tidak menambahkan apa pun ke antrean respons.
  4. Rute yang dipanggil memiliki target transisi, sehingga halaman aktif berubah menjadi halaman Lokasi Toko.
  5. Halaman Lokasi Toko memiliki pemenuhan entri, sehingga pesan respons untuk pemenuhan ditambahkan ke antrean respons (alamat).
  6. Agen merespons dengan konten antrean respons.

Halaman jam buka toko menggunakan pembuatan inline

Di bagian ini, Anda akan membuat halaman Jam Buka Toko yang menangani pertanyaan pengguna akhir tentang jam buka toko. Di bagian sebelumnya, Anda membuat halaman dan maksud 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 secara inline:

  1. Klik node Start Page di grafik.
  2. Di samping Routes, klik Add. Panel pengeditan rute intent akan terbuka.
  3. Di bagian Intent, pilih New intent. Panel pengeditan maksud akan terbuka.
  4. Buat intent store.hours dengan frasa pelatihan berikut:

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

  6. Scroll ke bawah ke bagian Transisi di panel pengeditan rute.

  7. Untuk transisi Halaman, pilih Halaman baru.

  8. Masukkan Store Hours di entri teks yang muncul.

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

  10. Tutup panel pengeditan rute.

  11. Tambahkan pemenuhan entri yang memberikan jam buka toko, mirip dengan langkah-langkah yang dilakukan untuk Lokasi Toko.

  12. Tutup semua panel pengeditan yang terbuka.

Halaman item pesanan

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

Membuat jenis entity kustom untuk ukuran kemeja

Jenis entity digunakan untuk mengontrol cara data dari input pengguna akhir diekstrak. Dialogflow CX menyediakan entity sistem yang telah ditentukan sebelumnya yang dapat mencocokkan banyak jenis data umum. Misalnya, ada entity sistem untuk mencocokkan tanggal, waktu, warna, alamat email, 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
sedang sedang, reguler, rata-rata
besar besar, raksasa

Untuk membuat entity ini:

  1. Pilih tab Kelola.
  2. Klik Entity Types.
  3. Klik +Create.
  4. Tetapkan nama tampilan ke size.
  5. Tambahkan entri entitas yang tercantum dalam tabel di atas.
  6. Klik Simpan.

Membuat maksud pesanan dengan parameter maksud

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

Parameter digunakan untuk merekam 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 melakukan beberapa logika atau membuat respons.

Anda mengontrol cara data pengguna akhir diekstrak dengan pencocokan maksud dengan memberi anotasi pada bagian frasa pelatihan dan mengonfigurasi parameter maksud terkait. Misalnya, pertimbangkan frasa pelatihan seperti "Bagaimana ramalan cuaca besok di Tokyo?" Anda harus menganotasi "besok" dengan parameter date dan "Tokyo" dengan parameter location. Saat Anda memberi anotasi pada bagian frasa pelatihan, Dialogflow CX mengenali bahwa bagian ini hanyalah contoh nilai sebenarnya yang akan diberikan oleh pengguna akhir saat runtime. Untuk input pengguna akhir seperti "Bagaimana perkiraan cuaca hari Jumat untuk Sydney?", Dialogflow CX akan mengekstrak parameter date dari "Jumat" dan parameter location dari "Sydney".

Untuk membuat anotasi 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 dalam tabel parameter di bawah.

Buat intent yang serupa 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 entitas sistem @sys.color. Untuk setiap frasa yang berisi ukuran baju, anotasikan ukuran dengan parameter size dan jenis entitas kustom @size yang Anda buat di langkah sebelumnya. Frasa dan parameter pelatihan Anda akan terlihat seperti berikut:

Screenshot maksud

Membuat halaman pesanan

Buat halaman pesanan baru dengan mengikuti langkah-langkah yang serupa dengan langkah-langkah sebelumnya:

  • Nama tampilan: New Order
  • Pemenuhan 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 agen mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Untuk setiap parameter formulir, Anda juga memberikan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.

Saat pengguna akhir memberikan parameter intent untuk kecocokan intent, parameter intent akan menjadi parameter sesi. Saat halaman awalnya menjadi aktif, semua parameter formulirnya akan diisi otomatis dengan parameter sesi yang memiliki nama serupa. Jadi, jika pengguna akhir memberikan 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 wajib:

Wajib Nama tampilan Jenis entitas Daftar Perintah
warna @sys.color Warna apa yang Anda inginkan?
ukuran @size Ukuran apa yang Anda inginkan?

Untuk menambahkan formulir ini:

  1. Klik halaman Pesanan Baru dalam grafik.
  2. Klik tombol Parameters add . 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

Mirip 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

Halaman terakhir Anda hanya akan mengonfirmasi pesanan dan mengakhiri sesi.

Buat halaman konfirmasi

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

  • Nama tampilan: Order Confirmation
  • Pemenuhan 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 kondisi untuk menentukan apakah rute dipanggil. Kondisi biasanya digunakan untuk memeriksa apakah formulir sudah selesai, atau dikonfigurasi agar selalu dipanggil saat dievaluasi.

Untuk menyetel kondisi di konsol, lihat dokumentasi Menyetel kondisi.

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

  • Kondisi: $page.params.status = "FINAL"
  • Agen Berkata: 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 dievaluasi. Saat kondisi di atas dievaluasi dan dipanggil, halaman menjadi tidak aktif, sehingga rute kondisi benar ini tidak dievaluasi:

  • Kondisi: true
  • Agen Berkata: 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 menjadi aktif dan pemenuhan entri diproses:

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

Menguji agen yang telah selesai

Uji agen dengan dialog berikut:

Dialog Penjelasan
Pengguna akhir: Halo
Agen: Halo, ini adalah agen virtual pemesanan kemeja. Ada yang bisa dibantu?
  1. Rute Default Welcome Intent di Default Start Flow dipanggil.
  2. Pemenuhan untuk pengendali status ini ("Hello, this...") ditambahkan ke antrean respons.
  3. Agen mengirimkan antrean respons kepada pengguna akhir.
Pengguna akhir: Saya ingin membeli kemeja biru
Agen: Oke, mari kita mulai pesanan baru.
Agen: Kami ingin mengumpulkan sedikit informasi tambahan dari Anda.
Agen: Ukuran apa yang Anda inginkan?
  1. Rute intent order.new di Default Start Flow dievaluasi.
  2. Intent order.new cocok, dan parameter intent color ditetapkan ke "blue".
  3. Sesi akan bertransisi ke halaman Pesanan Baru, dan parameter intent warna menjadi parameter sesi.
  4. Halaman Pesanan Baru memiliki pemenuhan entri ("Oke, mari kita mulai..."), Jadi, perintah ini ditambahkan ke antrean respons.
  5. Parameter sesi color digunakan untuk mengisi parameter formulir yang memiliki nama yang sama.
  6. Rute kondisi benar di halaman Pesanan Baru dievaluasi dan dipanggil. Memiliki pesan respons ("Saya ingin mengumpulkan..."), Jadi, perintah ini ditambahkan ke antrean respons.
  7. Formulir halaman tidak diisi, sehingga agen menggunakan perintah ukuran ("Ukuran...") dan menambahkannya ke antrean respons.
  8. Agen mengirimkan antrean respons kepada pengguna akhir.
Pengguna akhir: besar
Agen: Anda telah memilih kemeja biru besar.
Agen: Anda dapat mengambil pesanan kemeja biru besar Anda dalam 7 hingga 10 hari kerja. Sampai jumpa.
  1. Input pengguna akhir mengisi parameter size yang diminta oleh agen pada giliran percakapan sebelumnya.
  2. Rute penyelesaian formulir di halaman Pesanan Baru dievaluasi dan dipanggil. Tindakan ini memiliki pemenuhan ("Anda telah memilih..."), yang ditambahkan ke antrean respons dengan referensi parameternya yang diselesaikan ke nilai sebenarnya yang diberikan oleh pengguna akhir.
  3. Sesi akan bertransisi ke halaman Konfirmasi Pesanan.
  4. Halaman Konfirmasi Pesanan memiliki pemenuhan entri ("Anda dapat mengambil..."), yang ditambahkan ke antrean respons.
  5. Agen mengirimkan antrean respons kepada pengguna akhir.
  6. Sesi akan bertransisi ke Akhiri Sesi.

Produksi

Sebelum menjalankan agen di produksi, pastikan Anda menerapkan praktik terbaik produksi.