Setelah memiliki entitas urutan, Anda bisa membuat intent untuk mengumpulkan dari pengguna akhir. Anda mungkin menginginkan setidaknya tiga intent dengan tanggung jawab ini:
- Intent head "Sequence"
- Menangkap ucapan untuk memulai pengumpulan urutan.
- Dipanggil oleh peristiwa lanjutan untuk terus merekam urutan hingga pengguna akhir mengatakan bahwa mereka sudah selesai.
- Intent kontekstual "Sequence - Edit"
- Menangkap ucapan untuk memperbaiki urutan terakhir yang dikumpulkan.
- Secara terprogram kembali ke "Urutan" tujuannya untuk mengumpulkan urutan yang dikoreksi.
- Intent kontekstual "Sequence - Done"
- Menangkap ucapan yang menunjukkan bahwa urutan tersebut lengkap.
Di bagian berikutnya, Anda akan melihat bagaimana webhook akan menghubungkan semua ini, tetapi pertama-tama mari kita atur intent.
Membuat "Urutan" maksud
Ini adalah intent utama untuk mengumpulkan urutan. Konfigurasikan seperti berikut:
- Biarkan konteks input kosong sehingga pengguna akhir dapat memicu intent ini di awal dalam panggilan.
- Tambahkan konteks output "pengumpulan-urutan". Kita akan menggunakan konteks ini untuk memungkinkan intent koreksi dan penyelesaian selama {i>flow<i} (alur).
- Menambahkan konteks output "editing-sequence" dan tetapkan masa aktif ke 0. Kita akan aktifkan konteks ini dengan masa aktif dari "Urutan - Edit" maksud dalam ke bagian selanjutnya, dan penting untuk jelaskan konteksnya di sini sehingga "pengeditan-urutan" konteks hanya aktif segera setelah memicu tombol "Edit" intent.
Menambahkan peristiwa "continue-sequence" agar webhook Anda dapat melakukan loop intent ini ke mengumpulkan semua urutan parsial.
Tambahkan frasa pelatihan sehingga pengguna akhir dapat memicu intent ini untuk memulai alurnya. Contoh ini menggunakan frasa seperti "apa status pesanan saya", "lacak pesanan saya", "di mana pesanan saya", dll.
Tambahkan nama tindakan "handle-sequence" agar webhook tahu kapan harus diaktifkan. Anda akan mengodekan webhook di bagian berikutnya dari tutorial ini, setelah semua intent telah diatur.
Tambahkan parameter wajib "new_sequence" dengan menggunakan entity regex yang Anda buat untuk mengumpulkan urutan parsial di bagian sebelumnya. Tetapkan jenis entity ke "@alfanumerik" dan nilainya ke "$new_sequence".
Menambahkan parameter opsional "existing_sequence" dengan nilai "#continue-sequence.existing_sequence" untuk mengekstrak urutan baru yang ada dari peristiwa. Anda dapat mengosongkan jenis entity.
Menambahkan parameter opsional "previous_sequence" dengan nilai "#continue-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari peristiwa. Anda dapat mengosongkan jenis entity.
Aktifkan panggilan webhook untuk intent ini dan panggilan webhook untuk pengisian slot.
Membuat "Urutan - Edit" maksud
Intent ini mendengarkan ucapan yang menunjukkan urutan sebelumnya salah didengar oleh agen. Siapkan seperti ini:
- Menambahkan konteks input "pengumpulan-urutan" sehingga intent ini hanya dipanggil ketika kita berada di tengah alur urutan. Ini adalah konteks yang sama diaktifkan oleh "Sequence" intent.
- Menambahkan konteks output "editing-sequence" untuk webhook fulfillment alamat IP internal. Saat intent ini diaktifkan, webhook akan meng-loop Dialogflow kembali ke "{i>Sequence<i}" utama untuk mengumpulkan urutan berikutnya. Webhook untuk "Urutan" pengisian slot intent akan memeriksa "pengeditan-urutan" konteks untuk memberikan "coba lagi" yang simpatik respons terhadap pengguna akhir.
Tambahkan frasa pelatihan seperti "tidak", "itu tidak benar", dll.
Tambahkan nama tindakan "handle-sequence". Ini adalah tindakan yang sama dengan "Urutan" sehingga kita dapat menggunakan kembali logika webhook yang sama.
Tambahkan parameter "new_sequence" dengan nilai "#collecting-sequence.previous_sequence" untuk mengekstrak urutan sebelumnya dari konteks, dengan mudah mengurungkan ucapan terakhir. Kami tidak akan menambahkan properti "existing_sequence" di sini sehingga webhook akan menimpa urutan yang ada dengan yang sebelumnya.
Aktifkan panggilan webhook untuk intent ini.
Membuat "Urutan - Selesai" intent.
- Menambahkan konteks input "pengumpulan-urutan"
- Menambahkan konteks output "pengumpulan-urutan" dan setel masa pakai ke 0 ke memahami konteksnya. Menghapusnya akan mencegah "Edit" dan “Done” intent dari memicu lagi setelah agen selesai mengumpulkan urutan.
Tambahkan frasa pelatihan seperti "sudah selesai", "selesai", dll.
Tambahkan parameter "sequence" dengan nilai "#collecting-sequence.existing_sequence" untuk mengekstrak urutan dari konteks.
Aktifkan panggilan webhook untuk intent ini.
Menautkan intent melalui webhook
Anda sekarang memiliki semua yang diperlukan untuk mengodekan logika untuk intent ini. Dalam Anda akan melihat cara mengodekan webhook untuk menggunakan semua konteks, tindakan, parameter, dan peristiwa untuk menyelesaikan alur validasi urutan.