Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai aliran percakapan ke bot Amazon Lex V2
Anda menggunakan StartConversationoperasi untuk memulai streaming antara pengguna dan bot Amazon Lex V2 di aplikasi Anda. POST
Permintaan dari aplikasi membuat koneksi antara aplikasi Anda dan bot Amazon Lex V2. Ini memungkinkan aplikasi Anda dan bot untuk mulai bertukar informasi satu sama lain melalui acara.
StartConversation
Operasi hanya didukung sebagai berikutSDKs:
Acara pertama yang harus dikirim aplikasi Anda ke bot Amazon Lex V2 adalah ConfigurationEvent. Acara ini mencakup informasi seperti format tipe respons. Berikut ini adalah parameter yang dapat Anda gunakan dalam acara konfigurasi:
-
responseContentType— Menentukan apakah bot merespons input pengguna dengan teks atau ucapan.
-
sessionState— Informasi yang berkaitan dengan sesi streaming dengan bot seperti maksud yang telah ditentukan atau status dialog.
-
welcomeMessages— Menentukan pesan selamat datang yang bermain untuk pengguna di awal percakapan mereka dengan bot. Pesan-pesan ini diputar sebelum pengguna memberikan masukan apa pun. Untuk mengaktifkan pesan selamat datang, Anda juga harus menentukan nilai untuk
sessionState
dandialogAction
parameter. -
disablePlayback— Menentukan apakah bot harus menunggu isyarat dari klien sebelum mulai mendengarkan input pemanggil. Secara default, pemutaran diaktifkan, jadi nilai bidang ini adalah
false
. -
requestAttributes— Memberikan informasi tambahan untuk permintaan tersebut.
Untuk informasi tentang cara menentukan nilai untuk parameter sebelumnya, lihat tipe ConfigurationEventdata operasi. StartConversation
Setiap aliran antara bot dan aplikasi Anda hanya dapat memiliki satu peristiwa konfigurasi. Setelah aplikasi Anda mengirim acara konfigurasi, bot dapat mengambil komunikasi tambahan dari aplikasi Anda.
Jika Anda telah menentukan bahwa pengguna Anda menggunakan audio untuk berkomunikasi dengan bot Amazon Lex V2, aplikasi Anda dapat mengirim peristiwa berikut ke bot selama percakapan itu:
-
AudioInputEvent- Berisi potongan audio yang memiliki ukuran maksimum 320 byte. Aplikasi Anda harus menggunakan beberapa peristiwa input audio untuk mengirim pesan dari server ke bot. Setiap peristiwa input audio dalam aliran harus memiliki format audio yang sama.
-
DTMFInputEvent— Mengirim DTMF input ke bot. Setiap penekanan DTMF tombol sesuai dengan satu peristiwa.
-
PlaybackCompletionEvent— Menginformasikan server bahwa respons dari input pengguna telah diputar kembali kepada mereka. Anda harus menggunakan acara penyelesaian pemutaran jika Anda mengirim respons audio ke pengguna. Jika
disablePlayback
peristiwa konfigurasi Andatrue
, Anda tidak dapat menggunakan fitur ini. -
DisconnectionEvent— Menginformasikan bot bahwa pengguna telah terputus dari percakapan.
Jika Anda telah menentukan bahwa pengguna menggunakan teks untuk berkomunikasi dengan bot, aplikasi Anda dapat mengirim peristiwa berikut ke bot selama percakapan itu:
-
TextInputEvent— Teks yang dikirim dari aplikasi Anda ke bot. Anda dapat memiliki hingga 512 karakter dalam acara input teks.
-
PlaybackCompletionEvent— Menginformasikan server bahwa respons dari input pengguna telah diputar kembali kepada mereka. Anda harus menggunakan acara ini jika Anda memutar audio kembali ke pengguna. Jika
disablePlayback
peristiwa konfigurasi Andatrue
, Anda tidak dapat menggunakan fitur ini. -
DisconnectionEvent— Menginformasikan bot bahwa pengguna telah terputus dari percakapan.
Anda harus menyandikan setiap acara yang Anda kirim ke bot Amazon Lex V2 dalam format yang benar. Untuk informasi selengkapnya, lihat Pengkodean aliran acara.
Setiap acara memiliki ID acara. Untuk membantu memecahkan masalah apa pun yang mungkin terjadi di aliran, tetapkan ID peristiwa unik untuk setiap peristiwa masukan. Anda kemudian dapat memecahkan masalah kegagalan pemrosesan apa pun dengan bot.
Amazon Lex V2 juga menggunakan stempel waktu untuk setiap acara. Anda dapat menggunakan stempel waktu ini selain ID acara untuk membantu memecahkan masalah transmisi jaringan apa pun.
Selama percakapan antara pengguna dan bot Amazon Lex V2, bot dapat mengirim peristiwa keluar berikut sebagai tanggapan terhadap pengguna:
-
IntentResultEvent— Berisi maksud bahwa Amazon Lex V2 ditentukan dari ucapan pengguna. Setiap peristiwa hasil internal meliputi:
-
inputMode— Jenis ucapan pengguna. Nilai yang valid adalah
Speech
,DTMF
, atauText
. -
interpretasi — Interpretasi yang ditentukan Amazon Lex V2 dari ucapan pengguna.
-
requestAttributes— Jika Anda belum memodifikasi atribut permintaan dengan menggunakan fungsi lambda, ini adalah atribut yang sama yang diteruskan pada awal percakapan.
-
sessionId— Pengenal sesi yang digunakan untuk percakapan.
-
sessionState— Keadaan sesi pengguna dengan Amazon Lex V2.
-
-
TranscriptEvent— Jika pengguna memberikan masukan ke aplikasi Anda, acara ini berisi transkrip ucapan pengguna ke bot. Aplikasi Anda tidak menerima
TranscriptEvent
jika tidak ada input pengguna.Nilai peristiwa transkrip yang dikirim ke aplikasi Anda tergantung pada apakah Anda telah menentukan audio (ucapan danDMTF) atau teks sebagai mode percakapan:
-
Transkrip input ucapan — Jika pengguna berbicara dengan bot, peristiwa transkrip adalah transkripsi audio pengguna. Ini adalah transkrip dari semua pidato dari saat pengguna mulai berbicara hingga saat mereka berhenti berbicara.
-
Transkrip DTMF input - Jika pengguna mengetik pada keypad, peristiwa transkrip berisi semua digit yang ditekan pengguna dalam input mereka.
-
Transkrip input teks - Jika pengguna memberikan input teks, peristiwa transkrip berisi semua teks dalam input pengguna.
-
-
TextResponseEvent— Berisi respons bot dalam format teks. Respons teks dikembalikan secara default. Jika Anda telah mengonfigurasi Amazon Lex V2 untuk mengembalikan respons audio, teks ini digunakan untuk menghasilkan respons audio. Setiap peristiwa respons teks berisi array objek pesan yang bot kembali ke pengguna.
-
AudioResponseEvent— Berisi respons audio yang disintesis dari teks yang dihasilkan di.
TextResponseEvent
Untuk menerima peristiwa respons audio, Anda harus mengonfigurasi Amazon Lex V2 untuk memberikan respons audio. Semua acara respons audio memiliki format audio yang sama. Setiap acara berisi potongan audio tidak lebih dari 100 byte. Amazon Lex V2 mengirimkan potongan audio kosong denganbytes
bidang yang disetelnull
untuk menunjukkan bahwa akhir peristiwa respons audio ke aplikasi Anda. -
PlaybackInterruptionEvent— Ketika pengguna mengganggu respons yang dikirim bot ke aplikasi Anda, Amazon Lex V2 memicu acara ini untuk menghentikan pemutaran respons.
-
HeartbeatEvent— Amazon Lex V2 mengirimkan acara ini kembali secara berkala untuk menjaga koneksi antara aplikasi Anda dan bot dari waktu habis.
Urutan waktu acara untuk percakapan audio saat menggunakan bot Amazon Lex V2
Diagram berikut menunjukkan percakapan audio streaming antara pengguna dan bot Amazon Lex V2. Aplikasi terus mengalirkan audio ke bot, dan bot mencari input pengguna dari audio. Dalam contoh ini, pengguna dan bot menggunakan ucapan untuk berkomunikasi. Setiap diagram sesuai dengan ucapan pengguna dan respons bot terhadap ucapan itu.
Diagram berikut menunjukkan awal percakapan antara aplikasi dan bot. Aliran dimulai pada waktu nol (t0).
Daftar berikut menjelaskan peristiwa diagram sebelumnya.
-
t0: Aplikasi mengirimkan peristiwa konfigurasi ke bot untuk memulai streaming.
-
t1: Aplikasi mengalirkan data audio. Data ini dipecah menjadi serangkaian peristiwa masukan dari aplikasi.
-
t2: Untuk ucapan pengguna 1, bot mendeteksi peristiwa input audio saat pengguna mulai berbicara.
-
t2: Saat pengguna berbicara, bot mengirimkan acara detak jantung untuk mempertahankan koneksi. Ini mengirimkan peristiwa ini sebentar-sebentar untuk memastikan koneksi tidak habis waktu.
-
t3: Bot mendeteksi akhir ucapan pengguna.
-
t4: Bot mengirimkan kembali peristiwa transkrip yang berisi transkrip pidato pengguna ke aplikasi. Ini adalah awal dari respons Bot terhadap ucapan pengguna 1.
-
t5: Bot mengirimkan peristiwa hasil maksud untuk menunjukkan tindakan yang ingin dilakukan pengguna.
-
t6: Bot mulai memberikan responsnya sebagai teks dalam acara respons teks.
-
t7: Bot mengirimkan serangkaian peristiwa respons audio ke aplikasi untuk diputar bagi pengguna.
-
t8: Bot mengirimkan acara detak jantung lain untuk menjaga koneksi sebentar-sebentar.
Diagram berikut merupakan kelanjutan dari diagram sebelumnya. Ini menunjukkan aplikasi mengirim acara penyelesaian pemutaran ke bot untuk menunjukkan bahwa ia telah berhenti memutar respons audio untuk pengguna. Aplikasi ini memutar kembali respons Bot terhadap ucapan pengguna 1 kepada pengguna. Pengguna merespons respons Bot terhadap ucapan pengguna 1 dengan ucapan Pengguna 2.
Daftar berikut menjelaskan peristiwa diagram sebelumnya:
-
t10: Aplikasi mengirimkan acara penyelesaian pemutaran untuk menunjukkan bahwa ia telah selesai memutar pesan bot kepada pengguna.
-
t11: Aplikasi mengirimkan respons pengguna kembali ke bot sebagai ucapan Pengguna 2.
-
t12: Untuk respons Bot terhadap ucapan pengguna 2, bot menunggu pengguna berhenti berbicara dan kemudian mulai memberikan respons audio.
-
t13: Sementara bot mengirimkan respons Bot ke ucapan pengguna 2 ke aplikasi, bot mendeteksi awal ucapan Pengguna 3. Bot menghentikan respons Bot terhadap ucapan pengguna 2 dan mengirimkan peristiwa gangguan pemutaran.
-
t14: Bot mengirimkan peristiwa gangguan pemutaran ke aplikasi untuk memberi sinyal bahwa pengguna telah mengganggu prompt.
Diagram berikut menunjukkan respons Bot terhadap ucapan pengguna 3, dan percakapan berlanjut setelah bot merespons ucapan pengguna.