Membuat intent alur urutan

Setelah memiliki entity urutan, Anda dapat membuat intent untuk mengumpulkan urutan dari pengguna akhir. Anda perlu setidaknya tiga intent dengan tanggung jawab ini:

  1. Intent head "Urutan"
    • Menangkap ucapan untuk memulai pengumpulan urutan.
    • Dipanggil oleh peristiwa tindak lanjut untuk terus merekam urutan hingga pengguna akhir mengatakan bahwa prosesnya selesai.
  2. Intent kontekstual "Urutan - Edit"
    • Menangkap ucapan untuk memperbaiki urutan terakhir yang dikumpulkan.
    • Secara terprogram melakukan loop kembali ke intent "Urutan" untuk mengumpulkan urutan yang dikoreksi.
  3. Intent kontekstual "Urutan - Selesai"
    • Menangkap ucapan yang menunjukkan bahwa urutannya lengkap.

Di bagian berikutnya, Anda akan melihat cara webhook menghubungkan semua ini, tetapi mari kita siapkan intent terlebih dahulu.

Membuat intent "Urutan"

Ini adalah intent utama untuk mengumpulkan urutan. Konfigurasikan seperti ini:

  1. Biarkan konteks input kosong sehingga pengguna akhir dapat memicu intent ini di awal panggilan.
  2. Tambahkan konteks output "collecting-sequence". Kita akan menggunakan konteks ini untuk memungkinkan memperbaiki dan menyelesaikan intent selama alur.
  3. Tambahkan konteks output "editing-sequence" dan menetapkan masa aktif ke 0. Kita akan mengaktifkan konteks ini dengan masa aktif dari intent "Urutan - Edit" di bagian berikutnya, dan penting untuk menghapus konteks tersebut di sini sehingga konteks "editing-sequence" hanya aktif setelah memicu intent "Edit".
  4. Tambahkan peristiwa "continue-sequence" sehingga webhook Anda dapat mengulang intent ini untuk mengumpulkan semua urutan parsial.

  5. Tambahkan frasa pelatihan sehingga pengguna akhir dapat memicu intent ini untuk memulai alur. Contoh ini menggunakan frasa seperti "apa status pesanan saya", "lacak pesanan saya", "di mana pesanan saya", dll.

  6. Tambahkan nama tindakan "handle-sequence" agar webhook mengetahui kapan harus diaktifkan. Anda akan membuat kode webhook di bagian berikutnya dalam tutorial ini, setelah semua intent disiapkan.

  7. Tambahkan parameter wajib "new_sequence" menggunakan entity regexp yang Anda buat untuk mengumpulkan urutan parsial di bagian sebelumnya. Tetapkan jenis entity ke "@alphanumerik" dan nilai ke "$new_sequence".

  8. Tambahkan parameter opsional "existing_sequence" dengan nilai "#continue-sequence.existing_sequence" untuk mengekstrak urutan yang baru dari peristiwa. Anda dapat mengosongkan jenis entitas.

  9. Tambahkan parameter opsional "previous_sequence" dengan nilai "#continue-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari peristiwa. Anda dapat mengosongkan jenis entitas.

  10. Aktifkan panggilan webhook untuk intent dan panggilan webhook ini untuk pengisian slot.

Membuat intent "Urutan - Edit"

Intent ini memproses ucapan yang menunjukkan urutan sebelumnya salah didengar oleh agen. Siapkan seperti ini:

  1. Tambahkan konteks input "collecting-sequence" sehingga intent ini hanya dipanggil saat kita berada di tengah alur urutan. Ini adalah konteks yang sama yang diaktifkan oleh intent "Urutan".
  2. Tambahkan konteks output "editing-sequence" untuk referensi webhook fulfillment kita. Saat intent ini diaktifkan, webhook akan memutar Dialogflow kembali ke intent "Urutan" utama untuk mengumpulkan urutan berikutnya. Webhook untuk pengisian slot intent "Sequence" akan memeriksa konteks "editing-sequence" yang aktif untuk memberikan respons "coba lagi" yang simpatis kepada pengguna akhir.
  3. Tambahkan frasa latihan seperti "tidak", "salah", dll.

  4. Tambahkan nama tindakan "handle-sequence". Tindakan ini sama dengan intent "Urutan" sehingga kita dapat menggunakan kembali logika webhook yang sama.

  5. Tambahkan parameter "new_sequence" dengan nilai "#collecting-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari konteks, yang akan mengurungkan ucapan terakhir secara efektif. Kita tidak menambahkan parameter "existing_sequence" di sini sehingga webhook akan menimpa urutan yang ada dengan urutan sebelumnya.

  6. Aktifkan panggilan webhook untuk intent ini.

Buat intent "Urutan - Selesai".

  1. Menambahkan konteks input "collecting-sequence"
  2. Tambahkan konteks output "collecting-sequence" dan tetapkan masa aktif ke 0 untuk menghapus konteks. Dengan menghapusnya, intent "Edit" dan "Done" tidak akan terpicu lagi setelah agen selesai mengumpulkan urutan.
  3. Tambahkan frasa pelatihan seperti "sudah selesai", "semua selesai", dll.

  4. Tambahkan parameter "sequence" dengan nilai "#collecting-sequence.existing_sequence" untuk mengekstrak urutan akhir dari konteks.

  5. Aktifkan panggilan webhook untuk intent ini.

Menautkan intent melalui webhook

Sekarang Anda memiliki semua yang Anda butuhkan untuk membuat kode logika untuk intent ini. Di bagian berikutnya, Anda akan melihat cara mengodekan webhook untuk menggunakan semua konteks, tindakan, parameter, dan peristiwa ini guna menyelesaikan alur validasi urutan.