Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
StartBotConversation
StartBotConversation
Tindakan ini membuat percakapan suara antara pengguna akhir dan bot Amazon Lex v2 Anda. Pengguna memberikan informasi yang diperlukan ke bot. Bot kemudian mengembalikan informasi ke fungsi Lambda Audio jaringan telepon beralih publik (PSTN), dan fungsi tersebut melakukan tugas yang diminta.
Misalnya, bot dapat memutar pesan selamat datang opsional di awal percakapan untuk menjelaskan secara singkat tugas yang dapat dilakukan oleh fungsi Lambda Audio PSTN. Percakapan bolak-balik antara pengguna dan bot sampai bot mengumpulkan informasi yang diperlukan. Setelah percakapan berakhir, Amazon Chime SDK memanggil fungsi Lambda Audio PSTN Anda dengan acara sukses tindakan, yang berisi informasi yang dikumpulkan oleh bot. Fungsi PSTN Audio Lambda Anda memproses informasi dan melakukan tugas yang diminta.
Layanan Audio menyediakan interaksi percakapan yang hidup dengan pengguna Anda. Misalnya, pengguna dapat mengganggu bot dan menjawab pertanyaan sebelum prompt audio selesai. Terlebih lagi, pengguna dapat menggunakan kombinasi suara dan digit DTMF apa pun untuk memberikan informasi. Bot menunggu pengguna untuk memberikan input sebelum merespons. Anda dapat mengonfigurasi berapa lama bot menunggu pengguna selesai berbicara sebelum menafsirkan input ucapan apa pun. Pengguna juga dapat menginstruksikan bot untuk menunggu jika mereka membutuhkan waktu untuk mengambil informasi tambahan selama panggilan, seperti nomor kartu kredit.
StartBotConversation
Tindakan ini menggunakan Amazon Lex dan Amazon Polly selama percakapan bot. Biaya standar Amazon Lex dan Amazon Polly berlaku. Untuk informasi harga selengkapnya, lihat halaman harga percakapan streaming Amazon Lex
catatan
Anda tidak dapat menjalankan tindakan ini pada panggilan yang dijembatani, atau pada panggilan yang telah bergabung dengan rapat Amazon Chime SDK.
penting
Penggunaan Amazon Lex dan Amazon Polly tunduk pada Ketentuan AWS Layanan, termasuk persyaratan
Topik
StartBotConversationsintaks
Contoh berikut menunjukkan StartBotConversation
sintaks khas.
{ "SchemaVersion": "1.0", "Actions":[ { "Type": "StartBotConversation", "Parameters": { "CallId": "
string
", "ParticipantTag": "string
", "BotAliasArn": "string
", "LocaleId": "string
", "Configuration": { "SessionState": { "SessionAttributes": { "string": "string
" }, "DialogAction" : { "Type": "string
" } }, "WelcomeMessages": [ { "Content": "string
", "ContentType": "string
" } ] } } } ] }
- CallId
-
Deskripsi —
CallID
Peserta dalamCallDetails
pemanggilan AWS Lambda fungsi.StartBotConversation
Tindakan menggunakan ID ini sebagai botSessionId
. Semua percakapan bot yang terjadi pada panggilan berbagi sesi percakapan yang sama. Anda dapat mengubah status sesi antara pengguna dan bot Anda dengan menggunakan Amazon Lex PutSession API. Untuk informasi selengkapnya, lihat Mengelola sesi dengan Amazon Lex v2 API di Panduan Pengembang Amazon Lex.Nilai yang diizinkan - ID panggilan yang valid.
Wajib - Tidak, jika
ParticipantTag
ada.Nilai default - Tidak ada.
- ParticipantTag
-
Deskripsi —
ParticipantTag
Salah satu peserta yang terhubung diCallDetails
.Nilai yang diizinkan —
LEG-A
.Wajib - Tidak, jika
CallId
ada.Nilai default -
ParticipantTag
dari yang dipanggilcallLeg
. Diabaikan jika Anda menentukanCallDetails
. - BotAliasArn
-
Deskripsi — Bot alias ARN dari bot Lex Anda. Anda harus membuat bot di Wilayah AWS yang sama dengan aplikasi Audio PSTN Anda. Alias bot Amazon Lex yang valid memiliki format ini:
arn:aws:lex:
, diregion
:awsAccountId
:bot-alias/botId
/botAliasId
mana Wilayah AWS tempat bot Anda berada.region
Ini adalah ID akun AWS tempat bot Amazon Lex Anda dibuat.awsAccountId
botId
Nilainya adalah pengidentifikasi yang ditetapkan ke bot saat Anda membuatnya. Anda dapat menemukan ID bot di konsol Amazon Lex di halaman detail Bot.botAliasId
Ini adalah pengenal yang ditetapkan ke alias bot saat Anda membuatnya. Anda dapat menemukan ID alias bot di konsol Amazon Lex di halaman Alias.Nilai yang diizinkan - ARN bot yang valid.
Diperlukan —Ya.
Nilai default —Tidak ada.
- LocaleId
-
Deskripsi — Pengenal lokal yang Anda gunakan untuk bot Anda. Untuk daftar lokal dan kode bahasa, lihat Bahasa dan lokal yang didukung oleh Amazon Lex.
Nilai yang diizinkan - Bahasa dan lokal yang didukung oleh Amazon Lex.
Diperlukan - Tidak.
Nilai default —
en_US
. - Configuration
-
Deskripsi — Konfigurasi percakapan, termasuk status sesi dan pesan selamat datang. Ukuran total representasi string JSON
Configuration
objek dibatasi hingga 10 KB.Nilai yang diizinkan -
Configuration
objek.Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.SessionState
-
Deskripsi - Keadaan sesi pengguna dengan Amazon Lex v2.
Nilai yang diizinkan -
SessionState
objek.Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.SessionState.SessionAttributes
-
Deskripsi — Peta pasangan kunci/nilai yang mewakili informasi konteks khusus sesi. Peta ini berisi informasi aplikasi yang diteruskan antara Amazon Lex v2 dan aplikasi klien.
Nilai yang diizinkan - String ke peta string.
Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.SessionState.DialogAction.Type
-
Deskripsi — Tindakan selanjutnya yang dilakukan bot dalam interaksinya dengan pengguna. Kemungkinan nilai:
Delegasikan Amazon Lex v2 menentukan tindakan selanjutnya.
ElicitIntentTindakan selanjutnya memunculkan maksud dari pengguna.
Nilai yang diizinkan —
Delegate
|ElicitIntent
.Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.WelcomeMessages
-
Deskripsi — Daftar pesan untuk dikirim ke pengguna di awal percakapan. Jika Anda mengatur
welcomeMessage
bidang, Anda harus menetapkanDialogAction.Type
nilainyaElicitIntent
.Nilai yang diizinkan - Objek pesan
Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.WelcomeMessages.Content
-
Deskripsi — Teks pesan selamat datang.
Nilai yang diizinkan - String.
Diperlukan - Tidak.
Nilai default - Tidak ada.
- Configuration.WelcomeMessages.ContentType
-
Deskripsi - Menunjukkan jenis pesan selamat datang.
Nilai yang diizinkan -
PlainText
|SSML
PlainText— Pesan berisi teks UTF-8 biasa.
SSML — Pesan berisi teks yang diformat untuk output suara.
Diperlukan - Ya.
Nilai default - Tidak ada.
Menggunakan StartBotConversation tindakan
Contoh berikut menunjukkan StartBotConversation
tindakan yang khas.
{ "SchemaVersion": "1.0", "Actions":[ { "Type": "StartBotConversation", "Parameters": { "CallId": "
call-id-1
", "BotAliasArn": "arn
:aws:lex
:us-east-1
:123456789012
:bot-alias
/ABCDEFGHIH
/MNOPQRSTUV
", "LocaleId": "en_US
", "Configuration": { "SessionState": { "SessionAttributes": { "mykey1": "myvalue1
" }, "DialogAction" : { "Type": "ElicitIntent
" } }, "WelcomeMessages": [ { "Content": "Welcome. How can I help you?
", "ContentType": "PlainText
" } ] } } } ] }
Menangani ACTION_SUCCESSFUL acara
Contoh berikut menunjukkan ACTION_SUCCESSFUL
peristiwa khas untuk StartBotConversation
tindakan tersebut.
{ "SchemaVersion": "1.0", "Sequence": number, "InvocationEventType": "ACTION_SUCCESSFUL", "ActionData": { "CallId": "
string
", "Type": "StartBotConversation", "Parameters": { // parameters provided in the StartBotConversation action. }, "CallDetails": { // Information about the call associated with the AWS Lambda invocation. }, "IntentResult": { "SessionId": "string
", "SessionState": { "SessionAttributes": { "string": "string
" }, "Intent": { "Name": "string
", "Slots": { "string
": { "Value": { "OriginalValue": "string
", "InterpretedValue": "string
", "ResolvedValues": ["string
"] }, "Values": [] } }, "State": "string
", "ConfirmationState": "string
" } }, "Interpretations": [ { "NluConfidence": { "Score":number
}, "Intent": { "Name": "string
", "Slots": { "string
": { "Value": { "OriginalValue": "string
", "InterpretedValue": "string
", "ResolvedValues": ["string
"] }, "Values": [] } }, "State": "string
", "ConfirmationState": "string
" } } ] } } }
- IntentResult
-
Hasil percakapan antara pengguna dan bot.
- SessionId
-
Pengidentifikasi sesi percakapan bot. Saat pengguna memulai percakapan dengan bot Anda, Amazon Lex membuat sesi. Sesi merangkum informasi yang dipertukarkan antara pengguna Anda dan bot.
StartBotConversation
Tindakan menggunakan ID panggilan sebagai botSessionId
. Anda dapat memodifikasi status sesi antara pengguna dan bot Anda dengan menggunakan Lex PutSessionAPI. Untuk informasi selengkapnya, lihat Mengelola sesi dengan Amazon Lex V2 API di Panduan Pengembang Amazon Lex. - SessionState
-
Keadaan sesi Amazon Lex v2 pengguna.
- SessionState.SessionAttributes
-
Peta pasangan kunci/nilai yang mewakili informasi konteks khusus sesi. Peta berisi informasi percakapan bot yang diteruskan antara fungsi Lambda yang dilampirkan ke bot Anda dan fungsi Lambda Audio PSTN.
- Interpretasi
-
Daftar maksud yang diturunkan oleh Amazon Lex yang dapat memuaskan ucapan pelanggan. Maksud dengan
NluConfidence
skor tertinggi menjadi Intent for the.SessionState
- Interpretasi. NluConfidence.Skor
-
Skor yang menunjukkan seberapa yakin Amazon Lex v2 bahwa niat memenuhi maksud pengguna. Rentang antara 0,00 dan 1,00. Skor yang lebih tinggi menunjukkan kepercayaan diri yang lebih tinggi.
- Intent
-
Tindakan yang ingin dilakukan pengguna.
- Intent.Name
-
Nama niat.
- Intent.Slots
-
Sebuah peta dari semua slot untuk maksud. Nama peta slot ke nilai slot. Jika slot belum diisi, nilainya nol.
- Intent.Slots.Value
-
Nilai slot.
- Intent.Slots.Values
-
Daftar satu atau lebih nilai yang disediakan pengguna untuk slot.
- Intent.Slots.Value.OriginalValue
-
Teks balasan pengguna, dimasukkan untuk slot.
- Intent.Slots.Value.InterpretedValue
-
Deskripsi — Nilai yang ditentukan Amazon Lex v2 untuk slot. Nilai sebenarnya tergantung pada pengaturan strategi pemilihan nilai bot. Anda dapat memilih untuk menggunakan nilai yang dimasukkan oleh pengguna, atau Anda dapat meminta Amazon Lex v2 memilih nilai pertama dalam
resolvedValues
daftar. - Intent.Slots.Value.ResolvedValues
-
Daftar nilai tambahan yang diakui Amazon Lex v2 untuk slot.
- Intent.State
-
Deskripsi — Informasi pemenuhan untuk maksud tersebut. Kemungkinan nilai:
Failed
— Fungsi Lambda gagal memenuhi maksud.Fulfilled
— Fungsi Lambda memenuhi maksud.ReadyForFulfillment
— Informasi untuk maksud ada, dan Lambdafunction Anda dapat memenuhi maksud tersebut.
- Intent.ConfirmationState
-
Deskripsi - Menunjukkan konfirmasi maksud. Kemungkinan nilai:
Dikonfirmasi - Niat terpenuhi.
Ditolak - Pengguna menjawab “tidak” pada prompt konfirmasi.
Tidak ada — Pengguna tidak diminta untuk konfirmasi, atau pengguna diminta tetapi tidak mengkonfirmasi atau menolak prompt.
Menangani ACTION_FAILED acara
Contoh berikut menunjukkan ACTION_FAILED
peristiwa khas untuk StartBotConversation
tindakan tersebut.
{ "SchemaVersion": "1.0", "Sequence": number, "InvocationEventType": "ACTION_FAILED", "ActionData":{ "CallId": "
string
", "Type": "StartBotConversation", "Parameters": { // parameters provided in the StartBotConversation action }, "ErrorType": "string
", "ErrorMessage": "string
" }, "CallDetails":{ } }
- ErrorType
String yang secara unik mengidentifikasi kondisi kesalahan.
- ErrorMessage
Deskripsi umum dari kondisi kesalahan.
Kode eror
Tabel berikut mencantumkan pesan kesalahan yang fungsi Lambda dapat kembali dalam suatu ACTION_FAILED
peristiwa.
Kesalahan | Deskripsi |
---|---|
|
Satu atau beberapa parameter tindakan tidak valid. Pesan kesalahan menjelaskan parameter yang tidak valid. |
|
Terjadi kesalahan sistem saat menjalankan tindakan. |
|
Bot tertentu tidak ditemukan. |
|
Akses ke bot ditolak. |
|
Batas layanan percakapan bot terlampaui. Pesan kesalahan menjelaskan batas layanan tertentu yang terlampaui. |
Memberikan izin untuk menggunakan bot
Contoh berikut memberikan izin Amazon Chime SDK untuk memanggil Amazon Lex API. StartConversation Anda harus secara eksplisit memberikan izin Layanan Audio untuk menggunakan bot Anda. Blok kondisi diperlukan untuk prinsipal layanan. Blok kondisi harus menggunakan kunci konteks global AWS:SourceAccount
danAWS:SourceArn
. AWS:SourceAccount
Ini adalah ID akun AWS Anda. AWS:SourceArn
Ini adalah sumber daya ARN dari aplikasi Audio PSTN yang memanggil bot Lex.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowChimePstnAudioUseBot", "Effect": "Allow", "Principal": { "Service": "voiceconnector.chime.amazonaws.com" }, "Action": "
lex:StartConversation
", "Resource": "arn:aws:lex:region
:awsAccountId
:bot-alias/botId
/aliasId
", "Condition": { "StringEquals": { "AWS:SourceAccount": "awsAccountId
" }, "ArnEquals": { "AWS:SourceArn": "arn:aws:voiceconnector:region
:awsAccountId
:sma/smaId
" } } } ] }
Mengkonfigurasi batas waktu suara dan DTMF
Anda dapat mengonfigurasi batas waktu suara dan DTMF saat menangkap input pengguna. Anda dapat mengonfigurasi batas waktu melalui atribut sesi saat memulai percakapan dengan bot, dan menimpa mereka di fungsi Lambda Lex bot Anda jika perlu. Amazon Lex memungkinkan Anda mengatur beberapa slot untuk maksud atau bot. Karena Anda dapat menentukan bahwa atribut sesi diterapkan ke level intent dan slot, Anda dapat menentukan bahwa atribut disetel hanya ketika Anda mengumpulkan jenis input tertentu. Misalnya, Anda dapat menentukan batas waktu yang lebih lama saat mengumpulkan nomor akun daripada saat mengumpulkan tanggal. Anda dapat menggunakan wildcard dalam kunci atribut sesi.
Misalnya, untuk mengatur batas waktu suara untuk semua slot untuk semua intent menjadi 4000 milidetik, Anda dapat memberikan atribut sesi menggunakan: x-amz-lex:start-timeout-ms:*:*
sebagai nama atribut sesi dan 4000
sebagai nilai atribut sesi. Untuk informasi selengkapnya, lihat Mengonfigurasi batas waktu untuk menangkap input pengguna di Panduan Pengembang Amazon Lex.
Menggunakan input DTMF selama percakapan
Bot Amazon Lex mendukung input suara dan keypad selama percakapan. Bot menafsirkan input keypad sebagai digit DTMF. Anda dapat meminta kontak untuk mengakhiri masukan mereka dengan kunci pound (#) dan membatalkan percakapan dengan menggunakan tombol bintang (*). Jika Anda tidak meminta pelanggan untuk mengakhiri input mereka dengan tombol pound, Lex berhenti menunggu penekanan tombol tambahan setelah 5 detik.
Kuota penagihan dan layanan
AWS menagih Anda untuk biaya berikut:
Penggunaan Amazon Chime SDK untuk panggilan tersebut. Untuk informasi selengkapnya, lihat harga Amazon Chime SDK
. Penggunaan Amazon Lex untuk menafsirkan ucapan pengguna. Untuk informasi selengkapnya, lihat harga percakapan streaming Amazon Lex
. Penggunaan Amazon Polly untuk mensintesis respons teks dari bot Anda. Untuk informasi selengkapnya, lihat Harga Amazon Polly
.
Anda juga perlu mengetahui kuota layanan berikut:
Amazon Chime SDK memiliki kuota layanan untuk jumlah maksimum bot Amazon Lex yang dapat Anda gunakan dengan tindakan PSTN Audio. StartBotConversation Untuk informasi lebih lanjut, lihat SIP trunking dan kuota suara, di Referensi Umum.AWS
Amazon Lex memiliki kuota layanan untuk jumlah maksimum percakapan suara bersamaan per Lex bot. Anda dapat menghubungi tim layanan Amazon Lex untuk kenaikan kuota. Untuk informasi selengkapnya, lihat Panduan Amazon Lex dan kuota di Panduan Pengembang Amazon Lex.
Amazon Polly memiliki kuota layanan untuk mensintesis respons teks. Anda dapat menghubungi tim layanan Amazon Polly untuk kenaikan kuota. Untuk informasi selengkapnya tentang kuota layanan Amazon Polly, lihat Kuota di Amazon Polly, di Panduan Pengembang Amazon Polly.