Pemberitahuan akhir dukungan: Pada 15 September 2025, AWS akan menghentikan dukungan untuk Amazon Lex V1. Setelah 15 September 2025, Anda tidak lagi dapat mengakses konsol Amazon Lex V1 atau sumber daya Amazon Lex V1. Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dalam latihan ini, Anda terlibat dalam percakapan dengan BookTrip bot Amazon Lex menggunakan klien jendela uji yang disediakan di konsol Amazon Lex. Bagian ini menjelaskan hal berikut:
-
Aliran data antara klien dan Amazon Lex.
Bagian ini mengasumsikan bahwa klien mengirimkan permintaan ke Amazon Lex menggunakan API
PostText
runtime dan menampilkan detail permintaan dan respons yang sesuai. Untuk informasi selengkapnya tentang APIPostText
runtime, lihatPostText.catatan
Untuk contoh aliran informasi antara klien dan Amazon Lex di mana klien menggunakan
PostContent
API, lihatLangkah 2a (Opsional): Tinjau Detail Alur Informasi Lisan (Konsol) . -
Aliran data antara Amazon Lex dan fungsi Lambda. Untuk informasi selengkapnya, lihat Peristiwa Input Fungsi Lambda dan Format Respons.
Alur Data: Pesan Hotel Intent
Bagian ini menjelaskan apa yang terjadi setelah setiap input pengguna.
-
Pengguna: “pesan hotel”
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"book a hotel", "sessionAttributes":{} }URI permintaan dan badan memberikan informasi ke Amazon Lex:
-
Request URI — Menyediakan nama bot (BookTrip), bot alias ($ LATEST) dan nama pengguna. Trailing
text
menunjukkan bahwa itu adalah permintaanPostText
API (dan bukanPostContent
). -
Request body - Termasuk input pengguna (
inputText
) dan kosongsessionAttributes
. Awalnya, ini adalah objek kosong dan fungsi Lambda pertama menetapkan atribut sesi.
-
-
Dari
inputText
, Amazon Lex mendeteksi intent ()BookHotel. Maksud ini dikonfigurasi dengan fungsi Lambda sebagai hook kode untuk inisialisasi/validasi data pengguna. Oleh karena itu, Amazon Lex memanggil fungsi Lambda tersebut dengan meneruskan informasi berikut sebagai parameter peristiwa (Format Peristiwa Masukanlihat):{ "messageVersion":"1.0", "invocationSource":"DialogCodeHook", "userId":"wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes":{ }, "bot":{ "name":"BookTrip", "alias":null, "version":"$LATEST" }, "outputDialogMode":"Text", "currentIntent":{ "name":"BookHotel", "slots":{ "RoomType":null, "CheckInDate":null, "Nights":null, "Location":null }, "confirmationStatus":"None" } }
Selain informasi yang dikirim oleh klien, Amazon Lex juga menyertakan data tambahan berikut:
-
messageVersion
- Saat ini Amazon Lex hanya mendukung versi 1.0. -
invocationSource
— Menunjukkan tujuan pemanggilan fungsi Lambda. Dalam hal ini, ini adalah untuk melakukan inisialisasi dan validasi data pengguna (saat ini Amazon Lex tahu bahwa pengguna belum menyediakan semua data slot untuk memenuhi maksud). -
currentIntent
— Semua nilai slot diatur ke nol.
-
-
Pada saat ini, semua nilai slot adalah nol. Tidak ada fungsi Lambda untuk memvalidasi. Fungsi Lambda mengembalikan respons berikut ke Amazon Lex. Untuk informasi tentang format respons, lihatFormat Respons.
{ "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\",\"Location\":null,\"RoomType\":null,\"CheckInDate\":null,\"Nights\":null}" }, "dialogAction":{ "type":"Delegate", "slots":{ "RoomType":null, "CheckInDate":null, "Nights":null, "Location":null } } }
catatan
-
currentReservation
— Fungsi Lambda mencakup atribut sesi ini. Nilainya adalah salinan informasi slot saat ini dan jenis reservasi.Hanya fungsi Lambda dan klien yang dapat memperbarui atribut sesi ini. Amazon Lex hanya meneruskan nilai-nilai ini.
-
dialogAction.type
— Dengan menetapkan nilai iniDelegate
, fungsi Lambda mendelegasikan tanggung jawab untuk tindakan selanjutnya ke Amazon Lex.Jika fungsi Lambda mendeteksi apa pun dalam validasi data pengguna, fungsi ini menginstruksikan Amazon Lex apa yang harus dilakukan selanjutnya.
-
-
Sesuai dengan itu
dialogAction.type
, Amazon Lex memutuskan tindakan selanjutnya — mendapatkan data dari pengguna untuk slot.Location
Ini memilih salah satu pesan prompt (“Kota apa yang akan Anda tinggali?”) untuk slot ini, sesuai dengan konfigurasi maksud, dan kemudian mengirimkan respons berikut kepada pengguna:Atribut sesi diteruskan ke klien.
Klien membaca tanggapan dan kemudian menampilkan pesan: “Kota apa yang akan Anda tinggali?”
-
-
Pengguna: “Moskow”
-
Klien mengirimkan
PostText
permintaan berikut ke Amazon Lex (jeda baris ditambahkan untuk keterbacaan):POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"Moscow", "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\", \"Location\":null, \"RoomType\":null, \"CheckInDate\":null, \"Nights\":null}" } }Selain itu
inputText
, klien menyertakan atributcurrentReservation
sesi yang sama yang diterimanya. -
Amazon Lex pertama-tama menafsirkan
inputText
dalam konteks maksud saat ini (layanan mengingat bahwa ia telah meminta pengguna tertentu untuk informasi tentangLocation
slot). Ini memperbarui nilai slot untuk maksud saat ini dan memanggil fungsi Lambda menggunakan peristiwa berikut:{ "messageVersion": "1.0", "invocationSource": "DialogCodeHook", "userId": "wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Hotel\",\"Location\":null,\"RoomType\":null,\"CheckInDate\":null,\"Nights\":null}" }, "bot": { "name": "BookTrip", "alias": null, "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "BookHotel", "slots": { "RoomType": null, "CheckInDate": null, "Nights": null, "Location": "Moscow" }, "confirmationStatus": "None" } }
catatan
-
invocationSource
terus menjadiDialogCodeHook
. Pada langkah ini, kami hanya memvalidasi data pengguna. -
Amazon Lex baru saja meneruskan atribut session ke fungsi Lambda.
-
Untuk
currentIntent.slots
, Amazon Lex telah memperbaruiLocation
slot keMoscow
.
-
-
Fungsi Lambda melakukan validasi data pengguna dan menentukan bahwa itu
Moscow
adalah lokasi yang tidak valid.catatan
Fungsi Lambda dalam latihan ini memiliki daftar sederhana kota yang valid dan tidak
Moscow
ada dalam daftar. Dalam aplikasi produksi, Anda mungkin menggunakan database back-end untuk mendapatkan informasi ini.Ini mengatur ulang nilai slot kembali ke nol dan mengarahkan Amazon Lex untuk meminta pengguna lagi untuk nilai lain dengan mengirimkan respons berikut:
{ "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Moscow\",\"RoomType\":null,\"CheckInDate\":null,\"Nights\":null}" }, "dialogAction": { "type": "ElicitSlot", "intentName": "BookHotel", "slots": { "RoomType": null, "CheckInDate": null, "Nights": null, "Location": null }, "slotToElicit": "Location", "message": { "contentType": "PlainText", "content": "We currently do not support Moscow as a valid destination. Can you try a different city?" } } }
catatan
-
currentIntent.slots.Location
disetel ulang ke null. -
dialogAction.type
diatur keElicitSlot
, yang mengarahkan Amazon Lex untuk meminta pengguna lagi dengan memberikan yang berikut:-
dialogAction.slotToElicit
— slot untuk mendapatkan data dari pengguna. -
dialogAction.message
— amessage
untuk disampaikan kepada pengguna.
-
-
-
Amazon Lex memperhatikan
dialogAction.type
dan meneruskan informasi ke klien dalam tanggapan berikut:Klien hanya menampilkan pesan: “Saat ini kami tidak mendukung Moskow sebagai tujuan yang valid. Bisakah kamu mencoba kota yang berbeda?”
-
-
Pengguna: “Chicago”
-
Klien mengirimkan
PostText
permintaan berikut ke Amazon Lex:POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"Chicago", "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\", \"Location\":\"Moscow\", \"RoomType\":null, \"CheckInDate\":null, \"Nights\":null}" } } -
Amazon Lex tahu konteksnya, bahwa itu memunculkan data untuk slot.
Location
Dalam konteks ini, ia tahuinputText
nilainya untukLocation
slot. Kemudian memanggil fungsi Lambda dengan mengirimkan acara berikut:{ "messageVersion": "1.0", "invocationSource": "DialogCodeHook", "userId": "wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Hotel\",\"Location\":Moscow,\"RoomType\":null,\"CheckInDate\":null,\"Nights\":null}" }, "bot": { "name": "BookTrip", "alias": null, "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "BookHotel", "slots": { "RoomType": null, "CheckInDate": null, "Nights": null, "Location": "Chicago" }, "confirmationStatus": "None" } }
Amazon Lex memperbarui
currentIntent.slots
dengan mengaturLocation
slot keChicago
. -
Menurut
invocationSource
nilaiDialogCodeHook
, fungsi Lambda melakukan validasi data pengguna. Ini mengenaliChicago
sebagai nilai slot yang valid, memperbarui atribut sesi yang sesuai, dan kemudian mengembalikan respons berikut ke Amazon Lex.{ "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":null,\"CheckInDate\":null,\"Nights\":null}" }, "dialogAction": { "type": "Delegate", "slots": { "RoomType": null, "CheckInDate": null, "Nights": null, "Location": "Chicago" } } }
catatan
-
currentReservation
— Fungsi Lambda memperbarui atribut sesi ini dengan menyetel ke.Location
Chicago
-
dialogAction.type
— Diatur keDelegate
. Data pengguna valid, dan fungsi Lambda mengarahkan Amazon Lex untuk memilih tindakan berikutnya.
-
-
Menurut
dialogAction.type
, Amazon Lex memilih tindakan berikutnya. Amazon Lex tahu bahwa ia membutuhkan lebih banyak data slot dan memilih slot yang tidak terisi berikutnya (CheckInDate
) dengan prioritas tertinggi sesuai dengan konfigurasi maksud. Ini memilih salah satu pesan prompt (“Hari apa yang ingin Anda periksa?”) untuk slot ini sesuai dengan konfigurasi maksud dan kemudian mengirimkan respons berikut kembali ke klien:Klien menampilkan pesan: “Hari apa Anda ingin check-in?”
-
-
Interaksi pengguna berlanjut—pengguna menyediakan data, fungsi Lambda memvalidasi data, dan kemudian mendelegasikan tindakan berikutnya ke Amazon Lex. Akhirnya pengguna menyediakan semua data slot, fungsi Lambda memvalidasi semua input pengguna, dan kemudian Amazon Lex mengenali bahwa ia memiliki semua data slot.
catatan
Dalam latihan ini, setelah pengguna menyediakan semua data slot, fungsi Lambda menghitung harga reservasi hotel dan mengembalikannya sebagai atribut sesi lain ().
currentReservationPrice
Pada titik ini, intent siap dipenuhi, tetapi BookHotel intent dikonfigurasi dengan prompt konfirmasi yang memerlukan konfirmasi pengguna sebelum Amazon Lex dapat memenuhi intent. Oleh karena itu, Amazon Lex mengirimkan pesan berikut kepada klien yang meminta konfirmasi sebelum memesan hotel:
Klien menampilkan pesan: “Oke, saya minta Anda turun selama 5 malam di Chicago mulai 2016-12-18. Haruskah saya memesan reservasi?”
-
Pengguna: “ya”
-
Klien mengirimkan
PostText
permintaan berikut ke Amazon Lex:POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"Yes", "sessionAttributes":{ "currentReservation":"{\"ReservationType\":\"Hotel\", \"Location\":\"Chicago\", \"RoomType\":\"queen\", \"CheckInDate\":\"2016-12-18\", \"Nights\":\"5\"}", "currentReservationPrice":"1195" } } -
Amazon Lex menafsirkan
inputText
dalam konteks mengonfirmasi maksud saat ini. Amazon Lex memahami bahwa pengguna ingin melanjutkan reservasi. Kali ini Amazon Lex memanggil fungsi Lambda untuk memenuhi maksud dengan mengirimkan acara berikut. Dengan mengaturinvocationSource
keFulfillmentCodeHook
dalam acara tersebut, ia mengirim ke fungsi Lambda. Amazon Lex juga menetapkanconfirmationStatus
untukConfirmed
.{ "messageVersion": "1.0", "invocationSource": "FulfillmentCodeHook", "userId": "wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}", "currentReservationPrice": "956" }, "bot": { "name": "BookTrip", "alias": null, "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "BookHotel", "slots": { "RoomType": "queen", "CheckInDate": "2016-12-18", "Nights": "5", "Location": "Chicago" }, "confirmationStatus": "Confirmed" } }
catatan
-
invocationSource
— Kali ini, Amazon Lex menetapkan nilai iniFulfillmentCodeHook
, mengarahkan fungsi Lambda untuk memenuhi maksud. -
confirmationStatus
— Diatur keConfirmed
.
-
-
Kali ini, fungsi Lambda memenuhi BookHotel intent, Amazon Lex menyelesaikan reservasi, dan kemudian mengembalikan respons berikut:
{ "sessionAttributes": { "lastConfirmedReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}" }, "dialogAction": { "type": "Close", "fulfillmentState": "Fulfilled", "message": { "contentType": "PlainText", "content": "Thanks, I have placed your reservation. Please let me know if you would like to book a car rental, or another hotel." } } }
catatan
-
lastConfirmedReservation
— Adalah atribut sesi baru yang ditambahkan fungsi Lambda (bukancurrentReservation
,currentReservationPrice
). -
dialogAction.type
— Fungsi Lambda menetapkan nilai iniClose
, menunjukkan bahwa Amazon Lex tidak mengharapkan respons pengguna. -
dialogAction.fulfillmentState
— Diatur keFulfilled
dan termasuk yang sesuaimessage
untuk disampaikan kepada pengguna.
-
-
Amazon Lex mengulas
fulfillmentState
dan mengirimkan tanggapan berikut kepada klien:catatan
-
dialogState
— Amazon Lex menetapkan nilai iniFulfilled
. -
message
— Adalah pesan yang sama dengan fungsi Lambda yang disediakan.
Klien menampilkan pesan.
-
-
Aliran Data: Pesan Niat Mobil
BookTrip Bot dalam latihan ini mendukung dua maksud (BookHotel dan BookCar). Setelah memesan hotel, pengguna dapat melanjutkan percakapan untuk memesan mobil. Selama sesi belum habis waktu, dalam setiap permintaan berikutnya klien terus mengirim atribut sesi (dalam contoh ini,lastConfirmedReservation
). Fungsi Lambda dapat menggunakan informasi ini untuk menginisialisasi data slot untuk maksud tersebut. BookCar Ini menunjukkan bagaimana Anda dapat menggunakan atribut sesi dalam berbagi data lintas maksud.
Khususnya, saat pengguna memilih BookCar intent, fungsi Lambda menggunakan informasi yang relevan dalam atribut session untuk mengisi slot (PickUpDate, ReturnDate, dan) untuk intent. PickUpCity BookCar
catatan
Konsol Amazon Lex menyediakan tautan Hapus yang dapat Anda gunakan untuk menghapus atribut sesi sebelumnya.
Ikuti langkah-langkah dalam prosedur ini untuk melanjutkan percakapan.
-
Pengguna: “juga pesan mobil”
-
Klien mengirimkan
PostText
permintaan berikut ke Amazon Lex.POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"also book a car", "sessionAttributes":{ "lastConfirmedReservation":""{\"ReservationType\":\"Hotel\", \"Location\":\"Chicago\", \"RoomType\":\"queen\", \"CheckInDate\":\"2016-12-18\", \"Nights\":\"5\"}" } }Klien menyertakan atribut
lastConfirmedReservation
sesi. -
Amazon Lex mendeteksi intent (BookCar) dari file.
inputText
Maksud ini juga dikonfigurasi untuk memanggil fungsi Lambda untuk melakukan inisialisasi dan validasi data pengguna. Amazon Lex memanggil fungsi Lambda dengan acara berikut:{ "messageVersion": "1.0", "invocationSource": "DialogCodeHook", "userId": "wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes": { "lastConfirmedReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}" }, "bot": { "name": "BookTrip", "alias": null, "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "BookCar", "slots": { "PickUpDate": null, "ReturnDate": null, "DriverAge": null, "CarType": null, "PickUpCity": null }, "confirmationStatus": "None" } }
catatan
-
messageVersion
- Saat ini Amazon Lex hanya mendukung versi 1.0. -
invocationSource
— Menunjukkan tujuan pemanggilan adalah untuk melakukan inisialisasi dan validasi data pengguna. -
currentIntent
— Ini termasuk nama niat dan slot. Pada saat ini, semua nilai slot adalah nol.
-
-
Fungsi Lambda memperhatikan semua nilai slot null tanpa memvalidasi apa pun. Namun, ia menggunakan atribut sesi untuk menginisialisasi beberapa nilai slot (
PickUpDate
,ReturnDate
, danPickUpCity
), dan kemudian mengembalikan respons berikut:{ "sessionAttributes": { "lastConfirmedReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}", "currentReservation": "{\"ReservationType\":\"Car\",\"PickUpCity\":null,\"PickUpDate\":null,\"ReturnDate\":null,\"CarType\":null}", "confirmationContext": "AutoPopulate" }, "dialogAction": { "type": "ConfirmIntent", "intentName": "BookCar", "slots": { "PickUpCity": "Chicago", "PickUpDate": "2016-12-18", "ReturnDate": "2016-12-22", "CarType": null, "DriverAge": null }, "message": { "contentType": "PlainText", "content": "Is this car rental for your 5 night stay in Chicago on 2016-12-18?" } } }
catatan
-
Selain itu
lastConfirmedReservation
, fungsi Lambda mencakup lebih banyak atribut sesi (currentReservation
danconfirmationContext
). -
dialogAction.type
disetel keConfirmIntent
, yang memberi tahu Amazon Lex bahwa jawaban ya, tidak diharapkan dari pengguna (ConfirmationContext disetel AutoPopulate ke, fungsi Lambda tahu bahwa balasan pengguna ya/tidak adalah untuk mendapatkan konfirmasi pengguna tentang inisialisasi fungsi Lambda yang dilakukan (data slot yang diisi otomatis).Fungsi Lambda juga menyertakan dalam respons pesan informatif untuk Amazon
dialogAction.message
Lex untuk kembali ke klien.catatan
Istilah
ConfirmIntent
(nilaidialogAction.type
) tidak terkait dengan maksud bot apa pun. Dalam contoh, fungsi Lambda menggunakan istilah ini untuk mengarahkan Amazon Lex untuk mendapatkan balasan ya/tidak dari pengguna.
-
-
Menurut
dialogAction.type
, Amazon Lex mengembalikan respons berikut ke klien:Klien menampilkan pesan: “Apakah sewa mobil ini untuk masa inap 5 malam Anda di Chicago pada 2016-12-18?”
-
-
Pengguna: “ya”
-
Klien mengirimkan
PostText
permintaan berikut ke Amazon Lex.POST /bot/
BookTrip
/alias/$LATEST
/user/wch89kjqcpkds8seny7dly5x3otq68j3
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText":"yes", "sessionAttributes":{ "confirmationContext":"AutoPopulate", "currentReservation":"{\"ReservationType\":\"Car\", \"PickUpCity\":null, \"PickUpDate\":null, \"ReturnDate\":null, \"CarType\":null}", "lastConfirmedReservation":"{\"ReservationType\":\"Hotel\", \"Location\":\"Chicago\", \"RoomType\":\"queen\", \"CheckInDate\":\"2016-12-18\", \"Nights\":\"5\"}" } } -
Amazon Lex membaca
inputText
dan mengetahui konteksnya (meminta pengguna untuk mengonfirmasi populasi mobil). Amazon Lex memanggil fungsi Lambda dengan mengirimkan acara berikut:{ "messageVersion": "1.0", "invocationSource": "DialogCodeHook", "userId": "wch89kjqcpkds8seny7dly5x3otq68j3", "sessionAttributes": { "confirmationContext": "AutoPopulate", "currentReservation": "{\"ReservationType\":\"Car\",\"PickUpCity\":null,\"PickUpDate\":null,\"ReturnDate\":null,\"CarType\":null}", "lastConfirmedReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}" }, "bot": { "name": "BookTrip", "alias": null, "version": "$LATEST" }, "outputDialogMode": "Text", "currentIntent": { "name": "BookCar", "slots": { "PickUpDate": "2016-12-18", "ReturnDate": "2016-12-22", "DriverAge": null, "CarType": null, "PickUpCity": "Chicago" }, "confirmationStatus": "Confirmed" } }
Karena pengguna menjawab Ya, Amazon Lex menetapkan
confirmationStatus
keConfirmed
. -
Dari
confirmationStatus
, fungsi Lambda tahu bahwa nilai yang sudah terisi sudah benar. Fungsi Lambda melakukan hal berikut:-
Memperbarui atribut
currentReservation
sesi ke nilai slot yang telah diisi sebelumnya. -
Mengatur
dialogAction.type
keElicitSlot
-
Menetapkan
slotToElicit
nilai keDriverAge
.
Tanggapan berikut dikirim:
{ "sessionAttributes": { "currentReservation": "{\"ReservationType\":\"Car\",\"PickUpCity\":\"Chicago\",\"PickUpDate\":\"2016-12-18\",\"ReturnDate\":\"2016-12-22\",\"CarType\":null}", "lastConfirmedReservation": "{\"ReservationType\":\"Hotel\",\"Location\":\"Chicago\",\"RoomType\":\"queen\",\"CheckInDate\":\"2016-12-18\",\"Nights\":\"5\"}" }, "dialogAction": { "type": "ElicitSlot", "intentName": "BookCar", "slots": { "PickUpDate": "2016-12-18", "ReturnDate": "2016-12-22", "DriverAge": null, "CarType": null, "PickUpCity": "Chicago" }, "slotToElicit": "DriverAge", "message": { "contentType": "PlainText", "content": "How old is the driver of this car rental?" } } }
-
-
Amazon Lex mengembalikan tanggapan berikut:
Klien menampilkan pesan “Berapa umur pengemudi rental mobil ini?” dan percakapan berlanjut.
-