Mengelola Sesi Dengan Amazon Lex API - Amazon Lex V1

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, lihatuserIdbidang 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 denganPostContentatauPostTextoperasi 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.

MenggunakanGetSessionoperasi 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.

ParameterPutSessionoperasi 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 dialogtypebidang untukDelegateuntuk memiliki Amazon Lex menentukan tindakan berikutnya untuk bot.

Anda dapat menggunakanPutSessionoperasi untuk membuat sesi baru dengan bot dan mengatur maksud bahwa bot harus mulai dengan. Anda juga dapat menggunakanPutSessionoperasi 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 menggunakanGetSessionoperasi untuk mendapatkan status dialog dari intent sebelumnya dari Amazon Lex dan menggunakan informasi untuk mengatur status dialog maksud.

Respons dariPutSessionoperasi berisi informasi yang sama denganPostContentOperasi. Anda dapat menggunakan informasi ini untuk meminta pengguna untuk informasi berikutnya, seperti yang Anda lakukan dengan respon dariPostContentOperasi.

MenggunakanDeleteSessionoperasi untuk menghapus sesi yang ada dan memulai dari awal dengan sesi baru. Misalnya, ketika Anda menguji bot Anda, Anda dapat menggunakanDeleteSessionoperasi untuk menghapus sesi tes dari bot Anda.

Operasi sesi bekerja dengan fungsi Lambda pemenuhan Anda. Misalnya, jika fungsi Lambda Anda kembaliFailedsebagai negara pemenuhan Anda dapat menggunakanPutSessionoperasi untuk mengatur jenis tindakan dialog keclosedanfulfillmentStatekepadaReadyForFulfillmentuntuk 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 menggunakanPutSessionoperasi untuk beralih dari satu maksud ke yang lain. Anda juga dapat menggunakannya untuk beralih kembali ke maksud sebelumnya. Anda dapat menggunakanPutSessionoperasi untuk mengatur atribut sesi atau nilai slot untuk maksud baru.

  • MemanggilPutSessionOperasi. 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 menggunakanGetSessionoperasi untuk mendapatkan ringkasan maksud, dan kemudian menggunakanPutSessionoperasi untuk mengatur maksud ke status dialog sebelumnya.

  • MemanggilGetSessionOperasi. Respons dari operasi mencakup ringkasan status dialog dari tiga intent terakhir yang berinteraksi pengguna.

  • Menggunakan informasi dari ringkasan intent, panggilPutSessionOperasi. 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.

  • MenggunakanGetSessionoperasi untuk mendapatkan keadaan dialog maksud saat ini.

  • Perwakilan layanan pelanggan berbicara kepada pengguna dan menyelesaikan masalah.

  • MenggunakanPutSessionoperasi untuk mengatur keadaan dialog maksud. Ini mungkin termasuk pengaturan nilai slot, pengaturan atribut sesi, atau mengubah maksud.

  • Bot melanjutkan percakapan dengan pengguna.

Anda dapat menggunakanPutSessionoperasicheckpointLabelparameter untuk memberi label maksud sehingga Anda dapat menemukannya nanti. Misalnya, bot yang meminta pelanggan untuk informasi mungkin masuk keWaitingniat sementara pelanggan mengumpulkan informasi. Bot membuat label pos pemeriksaan untuk maksud saat ini dan kemudian memulaiWaitingniat. Ketika pelanggan mengembalikan bot dapat menemukan maksud sebelumnya menggunakan label pos pemeriksaan dan beralih kembali.

Maksud harus ada direcentIntentSummaryViewstruktur dikembalikan olehGetSessionOperasi. Jika Anda menentukan label pos pemeriksaan diGetSessionpermintaan operasi, itu akan mengembalikan maksimal tiga maksud dengan label pos pemeriksaan itu.

  • MenggunakanGetSessionOperasi untuk mendapatkan tahapan sesi saat ini.

  • MenggunakanPutSessionoperasi untuk menambahkan label pos pemeriksaan ke intent terakhir. Jika perlu Anda dapat menggunakan iniPutSessionpanggilan untuk beralih ke maksud yang berbeda.

  • Ketika saatnya untuk beralih kembali ke intent berlabel, hubungiGetSessionoperasi untuk mengembalikan daftar intent terbaru. Anda dapat menggunakancheckpointLabelFilterparameter 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 menggunakanPutSessionOperasi.

  • 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. '”

  • MemanggilPutSessionOperasi. 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 menggunakanPutSessionoperasi 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 dariPostTextatauPostContenttanggapan.

  • Jika nilai slot tidak valid, hubungiPutSessionOperasi. Aplikasi Anda harus menghapus nilai slot, mengaturslotToElicitlapangan, dan mengaturdialogAction.typenilai untukelicitSlot. Opsional, Anda dapat mengaturmessagedanmessageFormatbidang jika Anda ingin mengubah pesan yang Amazon Lex gunakan untuk mendapatkan nilai slot.