Membuat agen menggunakan alur

Panduan ini menunjukkan cara menggunakan konsol Dialogflow CX untuk membangun dan menguji agen pemesanan kemeja menggunakan alur. Saat berinteraksi dengan agen ini, tanyakan lokasi toko, dapatkan jam buka toko, atau pesan kemeja.

Diagram berikut menunjukkan agen yang telah selesai untuk panduan ini:

Screenshot grafik agen

Sebelum memulai

Selesaikan tugas berikut sebelum Anda membaca panduan ini:

Buat agen

Buat agen untuk panduan ini:

  1. Buka konsol Dialogflow CX.
  2. Buat atau pilih project.
  3. Klik Create agent.
  4. Pilih Buat sendiri.
  5. Isi formulir untuk setelan agen dasar:
    1. Masukkan nama tampilan.
    2. Pilih lokasi. Klik tombol Edit jika Anda ingin mengubah setelan lokasi lanjutan.
    3. Pilih zona waktu.
    4. Pilih bahasa default.
    5. Secara opsional, aktifkan Cloud Logging.
  6. Klik Simpan.

Impor agen opsional

Panduan ini akan memandu Anda melalui langkah-langkah untuk membuat agen pemesanan kemeja.

Untuk melewati langkah-langkah konsol, download agen dan impor.

Alur dan intent default

Alur dan intent berikut dibuat secara otomatis untuk agen baru.

Anda dapat menemukan maksud dengan mengklik Kelola, lalu Maksud, dan Anda dapat menemukan alur dengan mengklik Buat.

X Item
Intent Selamat Datang Default Default Welcome Intent memiliki frasa pelatihan seperti "Hai" atau "Halo" yang dimaksudkan untuk mencocokkan input awal pengguna akhir. Anda dapat mengedit maksud ini sesuai kebutuhan.
Maksud Negatif Default Maksud Negatif Default dapat digunakan untuk menambahkan frasa pelatihan ke maksud ini yang berfungsi sebagai contoh negatif.
Default Start Flow Default Start Flow dapat digunakan sebagai satu-satunya alur Anda. Alur 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 kolom teks, lalu tekan Enter.
  3. Agen merespons dengan pesan selamat datang default.
  4. Tutup simulator.

Screenshot simulator

Agen melakukan langkah-langkah berikut untuk input pengguna akhir ini:

  1. Saat Anda memberikan input, agen akan mengevaluasi handler status dalam cakupan untuk Default Start Flow dan halaman awal alur yang aktif.
  2. Agen mengidentifikasi rute yang cocok dengan Default Welcome Intent dan mengeksekusinya.
  3. Agen memilih salah satu pesan respons pemenuhan secara acak dan menambahkannya ke antrean respons.
  4. Karena rute tidak memiliki target transisi, alur dan halaman aktif tetap tidak berubah.
  5. Agen mengirimkan isi antrean respons kepada Anda.

Mengedit pesan respons selamat datang

Untuk mengedit pesan respons selamat datang:

  1. Klik tab Build.
  2. Pilih Default Start Flow di bagian Flows.
  3. Klik node Start Page dalam grafik.
  4. Temukan rute dengan Default Welcome Intent sebagai persyaratan intent dan klik rute tersebut untuk membuka panel pengeditan rute.
  5. Di bagian pemenuhan, di subbagian respons agen, hapus semua pesan respons yang ada.
  6. Tambahkan Hello, this is a shirt ordering virtual agent. How can I help you? sebagai satu-satunya respons.
  7. Klik Simpan.
  8. 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 kolom teks, lalu 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. Karena Anda hanya memiliki satu halaman, agen tidak terlalu berguna. Di bagian ini, buat halaman lain yang menangani pertanyaan tentang lokasi toko.

Buat intent lokasi

Intent mengategorikan niat pengguna akhir dalam 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

Buat halaman baru. Anda dapat menambahkan pemenuhan entri ke halaman ini yang berjalan 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 more_vert di samping nama tampilan halaman.
  6. Pilih Edit untuk membuka panel pengeditan halaman.
  7. Temukan Pemenuhan entri, lalu klik Edit pemenuhan.
  8. Klik +Add dialogue response untuk memasukkan Our store is located at 1007 Mountain Drive, Gotham City, NJ. di kolom Agent dialogue pada bagian Agent responses.
  9. Klik Simpan.
  10. Tutup panel pengeditan halaman.

screenshot halaman

Menambahkan rute niat lokasi ke alur

Sekarang, buat rute yang memiliki halaman Lokasi Toko sebagai target transisi. Saat rute ini dipanggil, sesi akan bertransisi ke halaman Lokasi Toko. Rute ini diterapkan ke Default Start Flow, sehingga berada dalam cakupan selama aliran aktif.

Untuk agen alur tunggal, ini berarti rute selalu dalam cakupan. Kapan pun selama percakapan, pengguna akhir dapat meminta lokasi toko, dan rute ini akan dipanggil.

Untuk membuat rute:

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

screenshot rute intent

Setelah Anda menutup panel pengeditan, node untuk halaman baru akan muncul di grafik. Panah dari node Start ke node Store Location menunjukkan cara transisi sesi antar-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 tombol Enter.
  3. Agen memberikan alamat.
  4. Tutup simulator.

Agen melakukan langkah-langkah berikut untuk input pengguna akhir ini:

  1. Saat Anda memberikan input, agen akan mengevaluasi handler status dalam cakupan untuk Default Start Flow dan halaman awal alur yang aktif.
  2. Agen mengidentifikasi rute yang cocok dengan intent store.location dan mengeksekusinya.
  3. Karena rute tidak memiliki pesan respons pemenuhan, agen tidak menambahkan apa pun ke antrean respons.
  4. Agen akan mengalihkan sesi ke halaman Lokasi Toko.
  5. Agen menambahkan pesan respons pemenuhan entri dari halaman Lokasi Toko ke antrean respons.
  6. Agen mengirimkan isi antrean respons kepada Anda.

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. Sebelumnya, Anda membuat halaman dan maksud dari tab Build dan Manage. Bagian ini menunjukkan cara yang lebih cepat untuk membuat komponen ini dengan pembuatan inline.

Untuk membuat rute, intent, dan halaman secara inline:

  1. Klik node Start Page dalam 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. Panel pengeditan maksud ditutup.

  6. Buka 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, seperti yang Anda lakukan untuk Lokasi Toko.

  12. Tutup semua panel pengeditan yang terbuka.

Halaman item pesanan

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

Membuat jenis entity kustom untuk ukuran kemeja

Jenis entitas mengontrol cara data dari input pengguna akhir diekstrak. Dialogflow CX menyediakan entity sistem yang telah ditentukan sebelumnya yang cocok dengan jenis data umum, seperti tanggal, waktu, warna, dan alamat email. Anda juga dapat membuat entitas kustom untuk data tertentu.

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, sangat kecil, sedikit
Sedang sedang, reguler, rata-rata
Besar besar, besar, raksasa

Untuk membuat entity:

  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.
  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 merekam warna atau ukuran baju yang dipilih jika pengguna akhir memberikan informasi tersebut pada awalnya.

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

Anda mengontrol cara data pengguna akhir diekstrak dengan pencocokan intent melalui anotasi bagian frasa pelatihan dan mengonfigurasi parameter intent terkait.

Misalnya, pertimbangkan frasa pelatihan seperti "Bagaimana perkiraan cuaca besok di Tokyo?" Anda dapat menganotasi "besok" dengan parameter date dan "Tokyo" dengan parameter location. Saat Anda menganotasi bagian frasa pelatihan, Dialogflow CX mengenali bahwa bagian ini hanyalah contoh nilai sebenarnya yang dapat diberikan oleh pengguna akhir saat runtime.

Untuk input pengguna akhir seperti "Bagaimana prakiraan cuaca di Sydney pada hari Jumat?", Dialogflow CX dapat mengekstrak parameter date dari "Jumat" dan parameter location dari "Sydney".

Untuk menganotasi frasa pelatihan di konsol:

  1. Tandai bagian frasa pelatihan yang ingin Anda beri anotasi.
  2. Pilih jenis entitas yang diperlukan dari daftar.
  3. Dialogflow membuat parameter dalam tabel parameter berikut.

Buat intent bernama order.new dengan mengikuti langkah-langkah berikut:

  1. Untuk setiap frasa yang berisi warna, beri anotasi warna dengan parameter color dan jenis entity sistem @sys.color.
  2. Untuk setiap frasa yang berisi ukuran kemeja, beri anotasi ukuran dengan parameter size dan jenis entity kustom @size yang Anda buat sebelumnya.

Frasa dan parameter pelatihan Anda akan terlihat seperti berikut:

Screenshot niat

Membuat halaman pesanan

Buat halaman pesanan baru:

  • 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. Agen berinteraksi dengan pengguna akhir untuk beberapa giliran percakapan, hingga agen mengumpulkan semua parameter formulir yang diperlukan, yang juga disebut 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 pertama kali aktif, semua parameter formulirnya akan diisi otomatis dengan parameter sesi apa pun yang memiliki nama yang sama. Jadi, jika pengguna akhir memberikan ukuran atau warna saat intent order.new cocok, nilai ini akan otomatis diisi untuk formulir.

Tentukan dua parameter formulir yang diperlukan untuk halaman New Order:

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 di grafik.
  2. Klik tombol tambah Parameter untuk membuka panel pengeditan parameter.
  3. Tambahkan parameter seperti yang dijelaskan dalam tabel di atas.
  4. Klik Simpan.
  5. Tutup panel pengeditan parameter.

Menambahkan rute intent pesanan ke alur

Tambahkan rute ke Alur Mulai Default yang bertransisi ke halaman Pesanan Baru saat pengguna akhir ingin membuat pesanan baru:

  • Intent: order.new
  • Halaman target transisi: Pesanan Baru

Laman konfirmasi

Halaman terakhir mengonfirmasi pesanan dan mengakhiri sesi.

Buat 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 dapat menggunakan kondisi untuk menentukan apakah rute dipanggil atau tidak. Kondisi umum digunakan untuk memeriksa apakah formulir sudah selesai, atau dikonfigurasi agar selalu dipanggil saat dievaluasi.

Untuk menetapkan kondisi di konsol, lihat dokumentasi Menetapkan kondisi.

Tambahkan rute berikut ke halaman pesanan, yang dipanggil saat formulir halaman pesanan diisi. Rute kondisi ini menggunakan referensi parameter dalam responsnya kepada pengguna akhir dan mengalihkan sesi ke halaman Konfirmasi Pesanan.

  • 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. Rute ini berjalan untuk setiap giliran percakapan saat halaman aktif dan rute kondisi dievaluasi. Saat kondisi yang disebutkan di atas dievaluasi dan dipanggil, halaman menjadi tidak aktif, sehingga rute kondisi true 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 Konfirmasi Pesanan untuk mengakhiri sesi setelah halaman menjadi aktif dan pemenuhan entri diproses:

  • Kondisi: true
  • Halaman Target Transisi: 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 ("Halo, ini...") 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 akan menjadi parameter sesi.
  4. Halaman Pesanan Baru memiliki pemenuhan entri ("Oke, mari kita mulai..."), Jadi, 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, 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 ukuran besar dalam 7 hingga 10 hari kerja. Sampai jumpa.
  1. Input pengguna akhir mengisi parameter size yang diminta oleh agen dalam 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 beralih ke halaman Order Confirmation.
  4. Halaman Order Confirmation memiliki pemenuhan entri ("Anda dapat mengambil..."), yang ditambahkan ke antrean respons.
  5. Agen mengirimkan antrean respons kepada pengguna akhir.
  6. Sesi akan beralih ke Akhiri Sesi.

Bersiap untuk produksi

Sebelum menjalankan agen dalam produksi, terapkan Praktik terbaik untuk produksi.