Membuat agen menggunakan alur

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

Agen yang telah Anda selesaikan untuk panduan ini akan digambarkan 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.

Membuat agen

Buat agen baru untuk panduan ini:

  1. Buka konsol Dialogflow CX.
  2. Buat atau pilih project.
  3. Klik Buat agen.
  4. Pilih Buat sendiri.
  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. 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 Kelola, lalu Intent. 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 intent ini sesuai keinginan.
Intent Negatif Default Intent Negatif Default dapat digunakan untuk menambahkan frasa pelatihan ke intent ini yang berfungsi 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 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, lalu tekan enter.
  3. Agen akan 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 aktif, dan halaman awal alur adalah halaman aktif. Setiap pengendali status yang diterapkan ke 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 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 Alur Mulai Default di bagian Alur.
  3. Klik node Start di grafik. Ini adalah halaman awal untuk Alur Awal 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. Temukan 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, lalu tekan enter.
  3. Agen akan merespons dengan pesan baru Anda.
  4. Tutup simulator.

Halaman lokasi toko

Percakapan (sesi) Agen Percakapan (Dialogflow CX) dapat dijelaskan 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.

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 dipanggil setiap kali halaman menjadi aktif. Fulfillment entri ini harus memiliki pesan respons yang memberikan lokasi toko. Untuk membuat halaman lokasi toko:

  1. Klik tab Build.
  2. Pilih Alur Mulai Default di bagian Alur.
  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 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 berada dalam cakupan selama alur aktif. Untuk agen aliran tunggal, ini berarti rute selalu dalam cakupan. Pada 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 Alur Mulai Default di bagian Alur.
  3. Klik node Start di grafik. Ini adalah halaman awal untuk Alur Awal 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 menutup panel pengeditan, perhatikan bahwa halaman baru Anda memiliki node 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? dan 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 aktif, dan halaman awal alur adalah halaman aktif. Setiap pengendali status yang diterapkan ke 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 Lokasi Toko.
  5. Halaman Lokasi Toko memiliki fulfillment entri, sehingga pesan respons untuk fulfillment tersebut 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 yang menangani pertanyaan pengguna akhir tentang jam buka. 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 di grafik.
  2. Klik tombol Rute intent tambahkan . Panel pengeditan rute intent akan terbuka.
  3. Di bagian Intent, pilih Intent baru. 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 Simpan untuk menyimpan intent. Panel pengeditan intent akan ditutup.

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

  7. Untuk transisi Halaman, pilih Halaman baru.

  8. Masukkan Store Hours di entri teks yang muncul.

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

  10. Tutup panel pengeditan rute intent.

  11. Tambahkan fulfillment entri yang memberikan jam buka toko, serupa dengan langkah-langkah yang dilakukan 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. Jika aktif, halaman ini akan 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. Agen Percakapan (Dialogflow CX) menyediakan entity sistem yang telah ditetapkan 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, sedikit
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 intent pesanan dengan parameter intent

Anda memerlukan intent yang cocok saat pengguna akhir meminta pesanan kemeja baru. Intent ini juga harus secara opsional mengambil 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 disediakan 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 mengontrol cara data pengguna akhir diekstrak dengan pencocokan intent dengan menambahkan anotasi pada bagian frasa pelatihan dan mengonfigurasi parameter intent terkait. Misalnya, pertimbangkan frasa pelatihan seperti "Bagaimana prakiraan cuaca besok untuk Tokyo?" Anda harus menganotasi "tomorrow" dengan parameter date dan "Tokyo" dengan parameter location. Saat Anda menganotasi bagian frasa pelatihan, Agen Percakapan (Dialogflow CX) akan mengenali bahwa bagian ini hanyalah contoh nilai sebenarnya yang akan diberikan oleh pengguna akhir saat runtime. Untuk input pengguna akhir seperti "Bagaimana prakiraan cuaca di Sydney pada hari Jumat?", Agen Percakapan (Dialogflow CX) 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 anotasikan.
  2. Pilih jenis entitas yang diinginkan dari daftar.
  3. Parameter akan 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, anotasi warna dengan parameter color dan jenis entitas sistem @sys.color. Untuk setiap frasa yang berisi ukuran kemeja, anotasi 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 intent

Membuat halaman pesanan

Buat halaman pesanan baru dengan mengikuti langkah-langkah yang mirip dengan 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 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 menjadi parameter sesi. Saat halaman awalnya menjadi aktif, semua parameter formulirnya diisi otomatis dengan parameter sesi yang bernama sama. 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 perlu menentukan dua parameter formulir yang diperlukan:

Wajib Nama tampilan Jenis entitas Adalah daftar Perintah
warna @sys.color Warna apa yang Anda inginkan?
ukuran @size Berapa ukuran yang Anda inginkan?

Untuk menambahkan formulir ini:

  1. Klik halaman Pesanan Baru di 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

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

Halaman 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 kondisi 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, lihat dokumentasi Menetapkan 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 rute ini mentransisikan sesi ke halaman Konfirmasi Pesanan.

  • Kondisi: $page.params.status = "FINAL"
  • Agent Says: 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 true ini tidak dievaluasi:

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

Membuat rute kondisi untuk mengakhiri sesi

Tambahkan rute kondisi berikut ke halaman Konfirmasi Pesanan untuk mengakhiri sesi setelah halaman tersebut aktif dan fulfillment entrinya 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 Intent Selamat Datang Default di Alur Mulai Default dipanggil.
  2. Fulfillment untuk pengendali status ini ("Halo, ini...") ditambahkan ke antrean respons.
  3. Agen mengirimkan antrean respons ke pengguna akhir.
Pengguna akhir: Saya ingin membeli kemeja biru
Agen: Baik, mari kita mulai pesanan baru.
Agen: Kami ingin mengumpulkan sedikit informasi lagi dari Anda.
Agen: Ukuran apa yang Anda inginkan?
  1. Rute intent order.new di Alur Mulai Default dievaluasi.
  2. Intent order.new cocok, dan parameter intent color ditetapkan ke "blue".
  3. Sesi bertransisi ke halaman Pesanan Baru, dan parameter intent color menjadi parameter sesi.
  4. Halaman Pesanan Baru memiliki fulfillment entri ("Ok, mari kita mulai..."), sehingga ini ditambahkan ke antrean respons.
  5. Parameter sesi color digunakan untuk mengisi parameter formulir yang bernama sama.
  6. Rute kondisi benar di halaman Pesanan Baru dievaluasi dan dipanggil. Pesan ini memiliki pesan respons ("Saya ingin mengumpulkan..."), sehingga ini ditambahkan ke antrean respons.
  7. Formulir halaman tidak diisi, sehingga agen menggunakan perintah ukuran ("Ukuran apa...") dan menambahkannya ke antrean respons.
  8. Agen mengirimkan antrean respons ke pengguna akhir.
Pengguna akhir: besar
Agen: Anda telah memilih kemeja biru besar.
Agen: Anda dapat mengambil pesanan kemeja biru besar dalam waktu 7 hingga 10 hari kerja. Sampai jumpa.
  1. Input pengguna akhir mengisi parameter size yang diminta oleh agen di giliran percakapan sebelumnya.
  2. Rute penyelesaian formulir di halaman Pesanan Baru dievaluasi dan dipanggil. Peristiwa ini memiliki fulfillment ("Anda telah memilih..."), yang ditambahkan ke antrean respons dengan referensi parameternya yang di-resolve ke nilai sebenarnya yang disediakan 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 mengirimkan antrean respons ke pengguna akhir.
  6. Sesi bertransisi ke Akhiri Sesi.

Productionization

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