Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.
Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola Sesi Dengan Amazon Lex API
Ketika pengguna memulai percakapan dengan bot Anda, Amazon Lex membuatsesi. Informasi yang dipertukarkan antara aplikasi Anda dan Amazon Lex membentuk status sesi untuk percakapan. Ketika Anda membuat permintaan, sesi diidentifikasi dengan kombinasi nama bot dan pengenal pengguna yang Anda tentukan. Untuk informasi selengkapnya tentang pengenal pengguna, lihatuserId
bidang diPostContentatauPostTextOperasi.
Respon dari operasi sesi mencakup pengenal sesi unik yang mengidentifikasi sesi tertentu dengan pengguna. Anda dapat menggunakan pengenal ini selama pengujian atau untuk membantu memecahkan masalah bot Anda.
Anda dapat memodifikasi status sesi yang dikirim antara aplikasi dan bot Anda. Misalnya, Anda dapat membuat dan memodifikasi atribut sesi yang berisi informasi khusus tentang sesi, dan Anda dapat mengubah alur percakapan dengan mengatur konteks dialog untuk menafsirkan ucapan berikutnya.
Ada dua cara untuk memperbarui status sesi. Yang pertama adalah menggunakan fungsi Lambda denganPostContent
atauPostText
operasi yang disebut setelah setiap pergantian percakapan. Untuk informasi selengkapnya, lihat Menggunakan Fungsi Lambda. Yang lainnya adalah menggunakan API runtime Amazon Lex dalam aplikasi Anda untuk membuat perubahan pada status sesi.
API runtime Amazon Lex menyediakan operasi yang memungkinkan Anda mengelola informasi sesi untuk percakapan dengan bot Anda. Operasi adalahPutSessionOperasi,GetSessionoperasi, danDeleteSessionOperasi. Anda menggunakan operasi ini untuk mendapatkan informasi tentang status sesi pengguna Anda dengan bot Anda, dan memiliki kontrol halus atas status.
MenggunakanGetSession
operasi ketika Anda ingin mendapatkan keadaan saat sesi. Operasi mengembalikan status sesi saat ini, termasuk status dialog dengan pengguna Anda, atribut sesi apa pun yang telah ditetapkan dan nilai slot untuk tiga intent terakhir yang berinteraksi pengguna.
ParameterPutSession
operasi memungkinkan Anda untuk langsung memanipulasi keadaan sesi saat ini. Anda dapat mengatur jenis tindakan dialog yang akan dilakukan bot berikutnya. Ini memberi Anda kontrol atas aliran percakapan dengan bot. Mengatur tindakan dialogtype
bidang untukDelegate
untuk memiliki Amazon Lex menentukan tindakan berikutnya untuk bot.
Anda dapat menggunakanPutSession
operasi untuk membuat sesi baru dengan bot dan mengatur maksud bahwa bot harus mulai dengan. Anda juga dapat menggunakanPutSession
operasi untuk mengubah dari satu maksud ke yang lain. Ketika Anda membuat sesi atau mengubah maksud Anda juga dapat mengatur status sesi, seperti nilai slot dan atribut sesi. Setelah intent baru selesai, Anda memiliki opsi untuk memulai ulang maksud sebelumnya. Anda dapat menggunakanGetSession
operasi untuk mendapatkan status dialog dari intent sebelumnya dari Amazon Lex dan menggunakan informasi untuk mengatur status dialog maksud.
Respons dariPutSession
operasi berisi informasi yang sama denganPostContent
Operasi. Anda dapat menggunakan informasi ini untuk meminta pengguna untuk informasi berikutnya, seperti yang Anda lakukan dengan respon dariPostContent
Operasi.
MenggunakanDeleteSession
operasi untuk menghapus sesi yang ada dan memulai dari awal dengan sesi baru. Misalnya, ketika Anda menguji bot Anda, Anda dapat menggunakanDeleteSession
operasi untuk menghapus sesi tes dari bot Anda.
Operasi sesi bekerja dengan fungsi Lambda pemenuhan Anda. Misalnya, jika fungsi Lambda Anda kembaliFailed
sebagai negara pemenuhan Anda dapat menggunakanPutSession
operasi untuk mengatur jenis tindakan dialog keclose
danfulfillmentState
kepadaReadyForFulfillment
untuk mencoba lagi langkah pemenuhan.
Berikut adalah beberapa hal yang bisa Anda lakukan dengan operasi sesi:
-
Minta bot memulai percakapan alih-alih menunggu pengguna.
-
Beralih maksud selama percakapan.
-
Kembali ke maksud sebelumnya.
-
Memulai atau memulai ulang percakapan di tengah interaksi.
-
Validasi nilai slot dan minta bot re-prompt untuk nilai yang tidak valid.
Masing-masing dijelaskan lebih lanjut di bawah ini.
Mengalihkan Maksud
Anda dapat menggunakanPutSession
operasi untuk beralih dari satu maksud ke yang lain. Anda juga dapat menggunakannya untuk beralih kembali ke maksud sebelumnya. Anda dapat menggunakanPutSession
operasi untuk mengatur atribut sesi atau nilai slot untuk maksud baru.
-
Memanggil
PutSession
Operasi. Setel nama intent ke nama intent baru dan atur tindakan dialogDelegate
. Anda juga dapat mengatur nilai slot atau atribut sesi yang diperlukan untuk maksud baru. -
Amazon Lex akan memulai percakapan dengan pengguna menggunakan maksud baru.
Melanjutkan Intent Sebelumnya
Untuk melanjutkan maksud sebelumnya, Anda menggunakanGetSession
operasi untuk mendapatkan ringkasan maksud, dan kemudian menggunakanPutSession
operasi untuk mengatur maksud ke status dialog sebelumnya.
-
Memanggil
GetSession
Operasi. Respons dari operasi mencakup ringkasan status dialog dari tiga intent terakhir yang berinteraksi pengguna. -
Menggunakan informasi dari ringkasan intent, panggil
PutSession
Operasi. Ini akan mengembalikan pengguna ke intent sebelumnya di tempat yang sama dalam percakapan.
Dalam beberapa kasus mungkin perlu untuk melanjutkan percakapan pengguna Anda dengan bot Anda. Misalnya, Anda telah membuat bot layanan pelanggan. Aplikasi Anda menentukan bahwa pengguna perlu berbicara dengan perwakilan layanan pelanggan. Setelah berbicara dengan pengguna, perwakilan dapat mengarahkan percakapan kembali ke bot dengan informasi yang mereka kumpulkan.
Untuk melanjutkan sesi, gunakan langkah-langkah yang serupa dengan ini:
-
Aplikasi Anda menentukan bahwa pengguna perlu berbicara dengan perwakilan layanan pelanggan.
-
Menggunakan
GetSession
operasi untuk mendapatkan keadaan dialog maksud saat ini. -
Perwakilan layanan pelanggan berbicara kepada pengguna dan menyelesaikan masalah.
-
Menggunakan
PutSession
operasi untuk mengatur keadaan dialog maksud. Ini mungkin termasuk pengaturan nilai slot, pengaturan atribut sesi, atau mengubah maksud. -
Bot melanjutkan percakapan dengan pengguna.
Anda dapat menggunakanPutSession
operasicheckpointLabel
parameter untuk memberi label maksud sehingga Anda dapat menemukannya nanti. Misalnya, bot yang meminta pelanggan untuk informasi mungkin masuk keWaiting
niat sementara pelanggan mengumpulkan informasi. Bot membuat label pos pemeriksaan untuk maksud saat ini dan kemudian memulaiWaiting
niat. Ketika pelanggan mengembalikan bot dapat menemukan maksud sebelumnya menggunakan label pos pemeriksaan dan beralih kembali.
Maksud harus ada direcentIntentSummaryView
struktur dikembalikan olehGetSession
Operasi. Jika Anda menentukan label pos pemeriksaan diGetSession
permintaan operasi, itu akan mengembalikan maksimal tiga maksud dengan label pos pemeriksaan itu.
-
Menggunakan
GetSession
Operasi untuk mendapatkan tahapan sesi saat ini. -
Menggunakan
PutSession
operasi untuk menambahkan label pos pemeriksaan ke intent terakhir. Jika perlu Anda dapat menggunakan iniPutSession
panggilan untuk beralih ke maksud yang berbeda. -
Ketika saatnya untuk beralih kembali ke intent berlabel, hubungi
GetSession
operasi untuk mengembalikan daftar intent terbaru. Anda dapat menggunakancheckpointLabelFilter
parameter sehingga Amazon Lex hanya mengembalikan maksud dengan label pos pemeriksaan yang ditentukan.
Memulai Sesi Baru
Jika Anda ingin memiliki bot memulai percakapan dengan pengguna Anda, Anda dapat menggunakanPutSession
Operasi.
-
Buat maksud selamat datang tanpa slot dan pesan kesimpulan yang meminta pengguna untuk menyatakan maksud. Misalnya, “Apa yang ingin Anda pesan? Anda dapat mengatakan 'Pesan minuman' atau 'Pesan pizza. '”
-
Memanggil
PutSession
Operasi. Atur nama maksud ke nama maksud selamat datang Anda dan atur tindakan dialogDelegate
. -
Amazon Lex akan merespons dengan prompt dari maksud selamat datang Anda untuk memulai percakapan dengan pengguna Anda.
Memvalidasi Nilai Slot
Anda dapat memvalidasi tanggapan bot Anda menggunakan aplikasi klien Anda. Jika respons tidak valid, Anda dapat menggunakanPutSession
operasi untuk mendapatkan respon baru dari pengguna Anda. Misalnya, anggaplah bahwa bot pemesanan bunga Anda hanya bisa menjual tulip, mawar, dan bunga lili. Jika perintah pengguna anyelir, aplikasi Anda dapat melakukan hal berikut:
-
Periksa nilai slot yang dikembalikan dari
PostText
atauPostContent
tanggapan. -
Jika nilai slot tidak valid, hubungi
PutSession
Operasi. Aplikasi Anda harus menghapus nilai slot, mengaturslotToElicit
lapangan, dan mengaturdialogAction.type
nilai untukelicitSlot
. Opsional, Anda dapat mengaturmessage
danmessageFormat
bidang jika Anda ingin mengubah pesan yang Amazon Lex gunakan untuk mendapatkan nilai slot.