StartBotConversation - Amazon Chime SDK

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

StartBotConversation

StartBotConversationTindakan 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.

StartBotConversationTindakan 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, dan Harga Amazon Polly.

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 khusus untuk AWS Machine Learning dan Layanan Kecerdasan Buatan.

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

DeskripsiCallID Peserta dalam CallDetails pemanggilan AWS Lambda fungsi. StartBotConversationTindakan 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

DeskripsiParticipantTag Salah satu peserta yang terhubung diCallDetails.

Nilai yang diizinkanLEG-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:region:awsAccountId:bot-alias/botId/botAliasId, di regionmana Wilayah AWS tempat bot Anda berada. awsAccountIdIni adalah ID akun AWS tempat bot Amazon Lex Anda dibuat. botIdNilainya adalah pengidentifikasi yang ditetapkan ke bot saat Anda membuatnya. Anda dapat menemukan ID bot di konsol Amazon Lex di halaman detail Bot. botAliasIdIni 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 defaulten_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 diizinkanDelegate |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 menetapkan DialogAction.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. StartBotConversationTindakan 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

InvalidActionParameter

Satu atau beberapa parameter tindakan tidak valid. Pesan kesalahan menjelaskan parameter yang tidak valid.

SystemException

Terjadi kesalahan sistem saat menjalankan tindakan.

ResourceNotFound

Bot tertentu tidak ditemukan.

ResourceAccessDenied

Akses ke bot ditolak.

ActionExecutionThrottled

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:SourceAccountIni adalah ID akun AWS Anda. AWS:SourceArnIni 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:

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.