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.
Langkah 2b (Opsional): Tinjau Detail Alur Informasi yang Diketik (Konsol)
Bagian ini menjelaskan aliran informasi antara klien dan Amazon Lex di mana klien menggunakan PostText
API untuk mengirim permintaan. Untuk informasi selengkapnya, lihat PostText.
-
Jenis pengguna: Saya ingin memesan beberapa bunga
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
OrderFlowers
/alias/$LATEST
/user/4o9wwdhx6nlheferh6a73fujd3118f5w
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText": "I would like to order some flowers", "sessionAttributes": {} }URI permintaan dan badan memberikan informasi ke Amazon Lex:
-
Request URI — Menyediakan nama bot (
OrderFlowers
), bot alias ($LATEST
), dan nama pengguna (string acak yang mengidentifikasi pengguna). Trailingtext
menunjukkan bahwa itu adalah permintaanPostText
API (dan bukanPostContent
). -
Request body - Termasuk input pengguna (
inputText
) dan kosongsessionAttributes
. Ketika klien membuat permintaan pertama, tidak ada atribut sesi. Fungsi Lambda memulai mereka nanti.
-
-
Dari
inputText
, Amazon Lex mendeteksi intent ()OrderFlowers
. Maksud ini tidak memiliki kait kode apa pun (yaitu, fungsi Lambda) untuk inisialisasi dan validasi input atau pemenuhan pengguna.Amazon Lex memilih salah satu slot intent (
FlowerType
) untuk memperoleh nilai. Ini juga memilih salah satu prompt elisitasi nilai untuk slot (semua bagian dari konfigurasi maksud), dan kemudian mengirimkan respons berikut kembali ke klien. Konsol menampilkan pesan dalam respons kepada pengguna.Klien menampilkan pesan dalam respons.
-
-
Jenis pengguna: mawar
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
OrderFlowers
/alias/$LATEST
/user/4o9wwdhx6nlheferh6a73fujd3118f5w
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText": "roses", "sessionAttributes": {} }inputText
Dalam badan permintaan menyediakan masukan pengguna.sessionAttributes
Sisa-sisa kosong. -
Amazon Lex pertama kali menafsirkan
inputText
dalam konteks maksud saat ini—layanan mengingat bahwa ia telah meminta pengguna tertentu untuk informasi tentang slot.FlowerType
Amazon Lex pertama kali memperbarui nilai slot untuk maksud saat ini dan memilih slot lain (PickupDate
) bersama dengan salah satu pesan cepatnya — hari apa Anda ingin mawar diambil? —untuk slot.
Kemudian, Amazon Lex mengembalikan respons berikut:
Klien menampilkan pesan dalam respons.
-
-
Jenis pengguna: besok
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
OrderFlowers
/alias/$LATEST
/user/4o9wwdhx6nlheferh6a73fujd3118f5w
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText": "tomorrow", "sessionAttributes": {} }inputText
Dalam badan permintaan menyediakan masukan pengguna.sessionAttributes
Sisa-sisa kosong. -
Amazon Lex pertama kali menafsirkan
inputText
dalam konteks maksud saat ini—layanan mengingat bahwa ia telah meminta pengguna tertentu untuk informasi tentang slot.PickupDate
Amazon Lex memperbarui nilai slot (PickupDate
) untuk maksud saat ini. Ini memilih slot lain untuk memperoleh nilai untuk ().PickupTime
Ini mengembalikan salah satu petunjuk elisitasi nilai—mengirimkan mawar pada jam berapa pada 2017-01-05? -untuk klien.
Amazon Lex kemudian mengembalikan respons berikut:
Klien menampilkan pesan dalam respons.
-
-
Jenis pengguna: 6 sore
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
OrderFlowers
/alias/$LATEST
/user/4o9wwdhx6nlheferh6a73fujd3118f5w
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText": "6 pm", "sessionAttributes": {} }inputText
Dalam badan permintaan menyediakan masukan pengguna.sessionAttributes
Sisa-sisa kosong. -
Amazon Lex pertama kali menafsirkan
inputText
dalam konteks maksud saat ini—layanan mengingat bahwa ia telah meminta pengguna tertentu untuk informasi tentang slot.PickupTime
Amazon Lex pertama kali memperbarui nilai slot untuk maksud saat ini. Sekarang Amazon Lex mendeteksi bahwa ia memiliki informasi untuk semua slot.OrderFlowers
Maksud dikonfigurasi dengan pesan konfirmasi. Oleh karena itu, Amazon Lex memerlukan konfirmasi eksplisit dari pengguna sebelum dapat melanjutkan untuk memenuhi maksud. Amazon Lex mengirimkan pesan berikut kepada klien yang meminta konfirmasi sebelum memesan bunga:Klien menampilkan pesan dalam respons.
-
-
Jenis pengguna: Ya
-
Klien (konsol) mengirimkan PostText permintaan berikut ke Amazon Lex:
POST /bot/
OrderFlowers
/alias/$LATEST
/user/4o9wwdhx6nlheferh6a73fujd3118f5w
/text "Content-Type":"application/json" "Content-Encoding":"amz-1.0" { "inputText": "Yes", "sessionAttributes": {} }inputText
Dalam badan permintaan menyediakan masukan pengguna.sessionAttributes
Sisa-sisa kosong. -
Amazon Lex menafsirkan
inputText
dalam konteks mengonfirmasi maksud saat ini. Ia memahami bahwa pengguna ingin melanjutkan pesanan.OrderFlowers
Maksud dikonfigurasiReturnIntent
sebagai aktivitas pemenuhan (tidak ada fungsi Lambda untuk memenuhi maksud). Oleh karena itu, Amazon Lex mengembalikan data slot berikut ke klien.Amazon Lex mengatur
dialogState
keReadyForFulfillment
. Klien kemudian dapat memenuhi niat tersebut.
-
-
Sekarang uji bot lagi. Untuk melakukan itu, Anda harus memilih tautan Hapus di konsol untuk membuat konteks (pengguna) baru. Sekarang saat Anda memberikan data untuk maksud pesanan bunga, cobalah untuk memberikan data yang tidak valid. Sebagai contoh:
-
Melati sebagai jenis bunga (bukan salah satu jenis bunga yang didukung).
-
Kemarin sebagai hari ketika Anda ingin mengambil bunga.
Perhatikan bahwa bot menerima nilai-nilai ini karena Anda tidak memiliki kode untuk menginisialisasi/memvalidasi data pengguna. Di bagian selanjutnya, Anda menambahkan fungsi Lambda untuk melakukan ini. Perhatikan hal berikut tentang fungsi Lambda:
-
Fungsi Lambda memvalidasi data slot setelah setiap input pengguna. Itu memenuhi niat di akhir. Artinya, bot memproses pesanan bunga dan mengembalikan pesan ke pengguna alih-alih hanya mengembalikan data slot ke klien. Untuk informasi selengkapnya, lihat Menggunakan Fungsi Lambda.
-
Fungsi Lambda juga menetapkan atribut sesi. Untuk informasi selengkapnya tentang atribut sesi, lihatPostText.
Setelah Anda menyelesaikan bagian Memulai, Anda dapat melakukan latihan tambahan (Contoh Tambahan: Membuat Amazon Lex Bots). Pesan Perjalananmenggunakan atribut sesi untuk berbagi informasi lintas maksud untuk terlibat dalam percakapan dinamis dengan pengguna.
-
Langkah Selanjutnya
Langkah 3: Buat Fungsi Lambda (Konsol)