Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur atribut sesi
Atribut sesi berisi informasi khusus aplikasi yang diteruskan antara bot dan aplikasi klien selama sesi berlangsung. Amazon Lex meneruskan atribut sesi ke semua fungsi Lambda yang dikonfigurasi untuk bot. Jika fungsi Lambda menambahkan atau memperbarui atribut sesi, Amazon Lex meneruskan informasi baru kembali ke aplikasi klien.
Gunakan atribut sesi dalam fungsi Lambda Anda untuk menginisialisasi bot dan menyesuaikan prompt dan kartu respons. Misalnya:
-
Inisialisasi - Dalam bot pemesanan pizza, aplikasi klien melewati lokasi pengguna sebagai atribut sesi dalam panggilan pertama ke RecognizeUtteranceoperasi RecognizeTextatau. Sebagai contoh,
"Location": "111 Maple Street"
. Fungsi Lambda menggunakan informasi ini untuk menemukan restoran pizza terdekat untuk melakukan pemesanan. -
Personalize prompt - Konfigurasikan prompt dan kartu respons untuk merujuk ke atribut sesi. Misalnya, “Hei [FirstName], topping apa yang Anda inginkan?” Jika Anda meneruskan nama depan pengguna sebagai atribut sesi (
{"FirstName": "Vivian"}
), Amazon Lex mengganti nama untuk placeholder. Kemudian mengirimkan prompt yang dipersonalisasi kepada pengguna, “Hei Vivian, topping mana yang Anda inginkan?”
Atribut sesi berlangsung selama sesi berlangsung. Amazon Lex menyimpannya di penyimpanan data terenkripsi hingga sesi berakhir. Klien dapat membuat atribut sesi dalam permintaan dengan memanggil baik RecognizeTextatau RecognizeUtteranceoperasi dengansessionAttributes
bidang diatur ke nilai. Fungsi Lambda dapat membuat atribut sesi dalam respons. Setelah klien atau fungsi Lambda membuat atribut sesi, nilai atribut yang disimpan digunakan kapan saja aplikasi klien tidak menyertakansessionAttribute
bidang dalam permintaan ke Amazon Lex.
Misalnya, Anda memiliki dua atribut sesi{"x":
"1", "y": "2"}
. Jika klien memanggilRecognizeText
atauRecognizeUtterance
operasi tanpa menentukansessionAttributes
bidang, Amazon Lex memanggil fungsi Lambda dengan atribut sesi yang disimpan ({"x": 1, "y": 2}
). Jika fungsi Lambda tidak mengembalikan atribut sesi, Amazon Lex mengembalikan atribut sesi yang disimpan ke aplikasi klien.
Jika aplikasi klien atau fungsi Lambda melewati atribut sesi, Amazon Lex memperbarui atribut sesi yang disimpan. Melewati nilai yang ada, seperti {"x": 2}
, memperbarui nilai yang disimpan. Jika Anda melewati serangkaian atribut sesi baru, seperti{"z": 3}
, nilai yang ada akan dihapus dan hanya nilai baru yang disimpan. Ketika peta kosong,{}
, dilewatkan, nilai yang disimpan dihapus.
Untuk mengirim atribut sesi ke Amazon Lex, Anda membuat string-to-string peta atribut. Berikut ini menunjukkan cara memetakan atribut sesi:
{ "attributeName": "attributeValue", "attributeName": "attributeValue" }
UntukRecognizeText
operasi, Anda memasukkan peta ke dalam tubuh permintaan menggunakansessionAttributes
bidangsessionState
struktur, sebagai berikut:
"sessionState": { "sessionAttributes": { "attributeName": "attributeValue", "attributeName": "attributeValue" } }
UntukRecognizeUtterance
operasi, Anda base64 menyandikan peta, dan kemudian mengirimkannya sebagai bagian darix-amz-lex-session-state
header.
Jika Anda mengirim data biner atau terstruktur dalam atribut sesi, Anda harus terlebih dahulu mengubah data ke string sederhana. Untuk informasi selengkapnya, lihat menetapkan atribut.