PutBot - Amazon Lex V1

Jika Anda menggunakan Amazon Lex V2, lihat panduan Amazon Lex V2 sebagai gantinya.

 

Jika Anda menggunakan Amazon Lex V1, kami sarankan untuk meningkatkan bot Anda ke Amazon Lex V2. Kami tidak lagi menambahkan fitur baru ke V1 dan sangat menyarankan menggunakan V2 untuk semua bot baru.

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

PutBot

Membuat bot percakapan Amazon Lex atau menggantikan bot yang ada. Saat Anda membuat atau memperbarui bot, Anda hanya diminta untuk menentukan nama, lokal, dan apakah bot diarahkan ke anak-anak di bawah usia 13 tahun. Anda dapat menggunakan ini untuk menambahkan intent nanti, atau untuk menghapus intent dari bot yang ada. Saat Anda membuat bot dengan informasi minimum, bot dibuat atau diperbarui tetapi Amazon Lex mengembalikan responsFAILED. Anda dapat membangun bot setelah Anda menambahkan satu atau lebih maksud. Untuk informasi lebih lanjut tentang bot Amazon Lex, lihatAmazon Lex: Cara Kerjanya.

Jika Anda menentukan nama bot yang ada, bidang dalam permintaan menggantikan nilai yang ada di $LATEST versi bot. Amazon Lex menghapus semua bidang yang tidak Anda berikan nilainya dalam permintaan, kecuali privacySettings bidang idleTTLInSeconds dan, yang disetel ke nilai defaultnya. Jika Anda tidak menentukan nilai untuk bidang wajib, Amazon Lex melempar pengecualian.

Operasi ini memerlukan izin utuk tindakan lex:PutBot. Untuk informasi selengkapnya, lihat Identity and Access Management untuk Amazon Lex.

Sintaks Permintaan

PUT /bots/name/versions/$LATEST HTTP/1.1 Content-type: application/json { "abortStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "checksum": "string", "childDirected": boolean, "clarificationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "createVersion": boolean, "description": "string", "detectSentiment": boolean, "enableModelImprovements": boolean, "idleSessionTTLInSeconds": number, "intents": [ { "intentName": "string", "intentVersion": "string" } ], "locale": "string", "nluIntentConfidenceThreshold": number, "processBehavior": "string", "tags": [ { "key": "string", "value": "string" } ], "voiceId": "string" }

Parameter Permintaan URI

Permintaan menggunakan parameter URI berikut.

name

Nama bot. Namanya tidak peka huruf besar/kecil.

Kendala Panjang: Panjang minimum 2. Panjang maksimum 50.

Pola: ^([A-Za-z]_?)+$

Wajib: Ya

Isi Permintaan

Permintaan menerima data berikut dalam format JSON.

abortStatement

Ketika Amazon Lex tidak dapat memahami masukan pengguna dalam konteks, Amazon Lex mencoba memperoleh informasi beberapa kali. Setelah itu, Amazon Lex mengirimkan pesan yang ditentukan abortStatement ke pengguna, dan kemudian membatalkan percakapan. Untuk mengatur jumlah percobaan ulang, gunakan valueElicitationPrompt bidang untuk jenis slot.

Misalnya, dalam bot pemesanan pizza, Amazon Lex mungkin bertanya kepada pengguna “Jenis kerak apa yang Anda inginkan?” Jika respons pengguna bukan salah satu respons yang diharapkan (misalnya, “kerak tipis,” piringan dalam, “dll.), Amazon Lex mencoba memperoleh respons yang benar beberapa kali lagi.

Misalnya, dalam aplikasi pemesanan pizza, OrderPizza mungkin salah satu maksudnya. Maksud ini mungkin memerlukan CrustType slot. Anda menentukan valueElicitationPrompt bidang saat Anda membuat CrustType slot.

Jika Anda telah menetapkan maksud fallback, pernyataan pembatalan tidak akan dikirim ke pengguna, maksud fallback digunakan sebagai gantinya. Untuk informasi selengkapnya, lihat AMAZON. FallbackIntent.

Tipe: Objek Statement

Diperlukan: Tidak

checksum

Mengidentifikasi revisi spesifik dari versi. $LATEST

Saat Anda membuat bot baru, biarkan checksum bidang kosong. Jika Anda menentukan checksum Anda mendapatkan BadRequestException pengecualian.

Saat Anda ingin memperbarui bot, atur checksum bidang ke checksum dari revisi versi terbaru. $LATEST Jika Anda tidak menentukan checksum bidang, atau jika checksum tidak cocok dengan $LATEST versi, Anda mendapatkan PreconditionFailedException pengecualian.

Tipe: String

Wajib: Tidak

childDirected

Untuk setiap bot Amazon Lex yang dibuat dengan Layanan Pembuatan Model Amazon Lex, Anda harus menentukan apakah penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada Undang-Undang Perlindungan Privasi Online Anak (COPPA) dengan menentukan true atau false di lapangan. childDirected Dengan menentukan true di childDirected lapangan, Anda mengonfirmasi bahwa penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA. Dengan menentukan false di childDirected lapangan, Anda mengonfirmasi bahwa penggunaan Amazon Lex Anda tidak terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA. Anda tidak boleh menentukan nilai default untuk childDirected bidang yang tidak secara akurat mencerminkan apakah penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA.

Jika penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun, Anda harus mendapatkan persetujuan orang tua yang dapat diverifikasi berdasarkan COPPA. Untuk informasi mengenai penggunaan Amazon Lex sehubungan dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun, lihat FAQ Amazon Lex.

Jenis: Boolean

Diperlukan: Ya

clarificationPrompt

Ketika Amazon Lex tidak memahami maksud pengguna, Amazon Lex menggunakan pesan ini untuk mendapatkan klarifikasi. Untuk menentukan berapa kali Amazon Lex harus mengulangi prompt klarifikasi, gunakan maxAttempts bidang. Jika Amazon Lex masih tidak mengerti, ia mengirimkan pesan di abortStatement lapangan.

Saat Anda membuat prompt klarifikasi, pastikan itu menyarankan respons yang benar dari pengguna. misalnya, untuk bot yang memesan pizza dan minuman, Anda dapat membuat prompt klarifikasi ini: “Apa yang ingin Anda lakukan? Anda bisa mengatakan 'Pesan pizza' atau 'Pesan minuman'.”

Jika Anda telah menentukan maksud fallback, itu akan dipanggil jika prompt klarifikasi diulang berapa kali yang ditentukan di bidang. maxAttempts Untuk informasi selengkapnya, lihat AMAZON. FallbackIntent.

Jika Anda tidak menentukan prompt klarifikasi, saat runtime Amazon Lex akan mengembalikan pengecualian 400 Permintaan Buruk dalam tiga kasus:

  • Follow-up prompt - Ketika pengguna merespons prompt tindak lanjut tetapi tidak memberikan maksud. Misalnya, sebagai tanggapan atas prompt tindak lanjut yang mengatakan “Apakah Anda ingin hal lain hari ini?” pengguna mengatakan “Ya.” Amazon Lex akan mengembalikan pengecualian 400 Bad Request karena tidak memiliki prompt klarifikasi untuk dikirim ke pengguna untuk mendapatkan maksud.

  • Fungsi Lambda - Saat menggunakan fungsi Lambda, Anda mengembalikan jenis dialog. ElicitIntent Karena Amazon Lex tidak memiliki prompt klarifikasi untuk mendapatkan maksud dari pengguna, Amazon Lex mengembalikan pengecualian 400 Bad Request.

  • PutSession operasi - Saat menggunakan PutSession operasi, Anda mengirim jenis ElicitIntent dialog. Karena Amazon Lex tidak memiliki prompt klarifikasi untuk mendapatkan maksud dari pengguna, Amazon Lex mengembalikan pengecualian 400 Bad Request.

Tipe: Objek Prompt

Diperlukan: Tidak

createVersion

Ketika diatur ke true versi bernomor baru dari bot dibuat. Ini sama dengan memanggil CreateBotVersion operasi. Jika Anda tidak menentukancreateVersion, defaultnya adalahfalse.

Tipe: Boolean

Wajib: Tidak

description

Deskripsi bot.

Jenis: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 200.

Diperlukan: Tidak

detectSentiment

Saat disetel ke true pengguna, ucapan dikirim ke Amazon Comprehend untuk analisis sentimen. Jika Anda tidak menentukandetectSentiment, defaultnya adalahfalse.

Tipe: Boolean

Wajib: Tidak

enableModelImprovements

Setel true untuk mengaktifkan akses ke peningkatan pemahaman bahasa alami.

Ketika Anda mengatur enableModelImprovements parameter untuk true Anda dapat menggunakan nluIntentConfidenceThreshold parameter untuk mengkonfigurasi skor kepercayaan. Untuk informasi lebih lanjut, lihat Skor Keyakinan.

Anda hanya dapat mengatur enableModelImprovements parameter di Wilayah tertentu. Jika Anda mengatur parameternyatrue, bot Anda memiliki akses ke peningkatan akurasi.

Wilayah tempat Anda dapat mengatur enableModelImprovements parameter false untuk lokal en-US adalah:

  • US East (N. Virginia) (us-east-1)

  • US West (Oregon) (us-west-2)

  • Asia Pasifik (Sydney) (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

Di Wilayah dan lokal lain, enableModelImprovements parameter diatur ke secara true default. Di Wilayah dan lokal ini, menyetel parameter untuk false melempar pengecualian. ValidationException

Tipe: Boolean

Wajib: Tidak

idleSessionTTLInSeconds

Waktu maksimum dalam hitungan detik Amazon Lex menyimpan data yang dikumpulkan dalam percakapan.

Sesi interaksi pengguna tetap aktif untuk jumlah waktu yang ditentukan. Jika tidak ada percakapan yang terjadi selama waktu ini, sesi berakhir dan Amazon Lex menghapus data apa pun yang diberikan sebelum batas waktu.

Misalnya, anggaplah pengguna memilih OrderPizza intent, tetapi teralihkan di tengah jalan dengan menempatkan pesanan. Jika pengguna tidak menyelesaikan pesanan dalam waktu yang ditentukan, Amazon Lex membuang informasi slot yang dikumpulkannya, dan pengguna harus memulai dari awal.

Jika Anda tidak menyertakan idleSessionTTLInSeconds elemen dalam permintaan PutBot operasi, Amazon Lex menggunakan nilai default. Ini juga berlaku jika permintaan menggantikan bot yang ada.

Default-nya adalah 300 detik (5 menit).

Jenis: Integer

Rentang yang Valid: Nilai minimum 60. Nilai maksimum 86400.

Diperlukan: Tidak

intents

Susunan objek Intent. Setiap intent mewakili perintah yang dapat diekspresikan pengguna. Misalnya, bot pemesanan pizza mungkin mendukung OrderPizza niat. Untuk informasi selengkapnya, lihat Amazon Lex: Cara Kerjanya.

Tipe: Array objek Intent

Diperlukan: Tidak

locale

Menentukan lokal target untuk bot. Maksud apa pun yang digunakan dalam bot harus kompatibel dengan lokal bot.

Default-nya adalah en-US.

Jenis: String

Nilai yang Valid: de-DE | en-AU | en-GB | en-IN | en-US | es-419 | es-ES | es-US | fr-FR | fr-CA | it-IT | ja-JP | ko-KR

Diperlukan: Ya

nluIntentConfidenceThreshold

Menentukan ambang batas tempat Amazon Lex akan menyisipkan AMAZON.FallbackIntentAMAZON.KendraSearchIntent,, atau keduanya saat mengembalikan maksud alternatif dalam PostTextrespons PostContentatau. AMAZON.FallbackIntentdan hanya AMAZON.KendraSearchIntent dimasukkan jika dikonfigurasi untuk bot.

Anda harus mengatur enableModelImprovements parameter true untuk menggunakan skor kepercayaan di wilayah berikut.

  • US East (N. Virginia) (us-east-1)

  • US West (Oregon) (us-west-2)

  • Asia Pasifik (Sydney) (ap-southeast-2)

  • EU (Ireland) (eu-west-1)

Di Wilayah lain, enableModelImprovements parameter diatur ke secara true default.

Misalnya, bot dikonfigurasi dengan ambang kepercayaan 0,80 dan. AMAZON.FallbackIntent Amazon Lex mengembalikan tiga maksud alternatif dengan skor kepercayaan berikut: Intenta (0,70), IntenTB (0,60), IntentC (0,50). Tanggapan dari PostText operasi tersebut adalah:

  • AMAZON. FallbackIntent

  • IntenTA

  • IntentB

  • IntentC

Tipe: Ganda

Rentang yang Valid: Nilai minimum 0. Nilai maksimum 1.

Diperlukan: Tidak

processBehavior

Jika Anda mengatur processBehavior elemen keBUILD, Amazon Lex membangun bot sehingga dapat dijalankan. Jika Anda mengatur elemen ke SAVE Amazon Lex menyimpan bot, tetapi tidak membangunnya.

Jika Anda tidak menentukan nilai ini, nilai defaultnya adalahBUILD.

Jenis: String

Nilai yang Valid: SAVE | BUILD

Diperlukan: Tidak

tags

Daftar tag untuk ditambahkan ke bot. Anda hanya dapat menambahkan tag saat membuat bot, Anda tidak dapat menggunakan PutBot operasi untuk memperbarui tag pada bot. Untuk memperbarui tag, gunakan TagResource operasi.

Tipe: Array objek Tag

Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 200 item.

Diperlukan: Tidak

voiceId

ID suara Amazon Polly yang Anda ingin Amazon Lex gunakan untuk interaksi suara dengan pengguna. Lokal yang dikonfigurasi untuk suara harus cocok dengan lokal bot. Untuk informasi selengkapnya, lihat Suara di Amazon Polly di Panduan Pengembang Amazon Polly.

Tipe: String

Wajib: Tidak

Sintaksis Respons

HTTP/1.1 200 Content-type: application/json { "abortStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "checksum": "string", "childDirected": boolean, "clarificationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "createdDate": number, "createVersion": boolean, "description": "string", "detectSentiment": boolean, "enableModelImprovements": boolean, "failureReason": "string", "idleSessionTTLInSeconds": number, "intents": [ { "intentName": "string", "intentVersion": "string" } ], "lastUpdatedDate": number, "locale": "string", "name": "string", "nluIntentConfidenceThreshold": number, "status": "string", "tags": [ { "key": "string", "value": "string" } ], "version": "string", "voiceId": "string" }

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

Layanan mengembalikan data berikut dalam format JSON.

abortStatement

Pesan yang digunakan Amazon Lex untuk membatalkan percakapan. Untuk informasi selengkapnya, lihat PutBot.

Tipe: Objek Statement

checksum

Checksum bot yang Anda buat.

Jenis: String

childDirected

Untuk setiap bot Amazon Lex yang dibuat dengan Layanan Pembuatan Model Amazon Lex, Anda harus menentukan apakah penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada Undang-Undang Perlindungan Privasi Online Anak (COPPA) dengan menentukan true atau false di lapangan. childDirected Dengan menentukan true di childDirected lapangan, Anda mengonfirmasi bahwa penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA. Dengan menentukan false di childDirected lapangan, Anda mengonfirmasi bahwa penggunaan Amazon Lex Anda tidak terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA. Anda tidak boleh menentukan nilai default untuk childDirected bidang yang tidak secara akurat mencerminkan apakah penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun dan tunduk pada COPPA.

Jika penggunaan Amazon Lex Anda terkait dengan situs web, program, atau aplikasi lain yang diarahkan secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun, Anda harus mendapatkan persetujuan orang tua yang dapat diverifikasi berdasarkan COPPA. Untuk informasi mengenai penggunaan Amazon Lex sehubungan dengan situs web, program, atau aplikasi lain yang diarahkan atau ditargetkan, secara keseluruhan atau sebagian, untuk anak-anak di bawah usia 13 tahun, lihat FAQ Amazon Lex.

Jenis: Boolean

clarificationPrompt

Permintaan yang digunakan Amazon Lex saat tidak memahami maksud pengguna. Untuk informasi selengkapnya, lihat PutBot.

Tipe: Objek Prompt

createdDate

Tanggal pembuatan bot.

Tipe: Timestamp

createVersion

Truejika versi baru bot dibuat. Jika createVersion bidang tidak ditentukan dalam permintaan, createVersion bidang diatur ke false dalam respons.

Jenis: Boolean

description

Deskripsi bot.

Jenis: String

Batasan Panjang: Panjang minimum 0. Panjang maksimum 200.

detectSentiment

truejika bot dikonfigurasi untuk mengirim ucapan pengguna ke Amazon Comprehend untuk analisis sentimen. Jika detectSentiment bidang tidak ditentukan dalam permintaan, detectSentiment bidang ada false dalam respons.

Jenis: Boolean

enableModelImprovements

Menunjukkan apakah bot menggunakan peningkatan akurasi. truemenunjukkan bahwa bot menggunakan perbaikan, jika tidak,false.

Jenis: Boolean

failureReason

Jika status yaFAILED, Amazon Lex memberikan alasan bahwa ia gagal membangun bot.

Jenis: String

idleSessionTTLInSeconds

Durasi maksimum waktu Amazon Lex menyimpan data yang dikumpulkan dalam percakapan. Untuk informasi selengkapnya, lihat PutBot.

Jenis: Integer

Rentang yang Valid: Nilai minimum 60. Nilai maksimum 86400.

intents

Susunan objek Intent. Untuk informasi selengkapnya, lihat PutBot.

Tipe: Array objek Intent

lastUpdatedDate

Tanggal bot diperbarui. Saat Anda membuat sumber daya, tanggal pembuatan dan tanggal terakhir diperbarui adalah sama.

Tipe: Timestamp

locale

Target lokal untuk bot.

Jenis: String

Nilai yang Valid: de-DE | en-AU | en-GB | en-IN | en-US | es-419 | es-ES | es-US | fr-FR | fr-CA | it-IT | ja-JP | ko-KR

name

Nama bot.

Jenis: String

Kendala Panjang: Panjang minimum 2. Panjang maksimum 50.

Pola: ^([A-Za-z]_?)+$

nluIntentConfidenceThreshold

Skor yang menentukan di mana Amazon Lex menyisipkan AMAZON.FallbackIntentAMAZON.KendraSearchIntent,, atau keduanya saat mengembalikan maksud alternatif dalam respons PostContentatau PostText. AMAZON.FallbackIntentdimasukkan jika skor kepercayaan untuk semua maksud di bawah nilai ini. AMAZON.KendraSearchIntenthanya dimasukkan jika dikonfigurasi untuk bot.

Tipe: Ganda

Rentang yang Valid: Nilai minimum 0. Nilai maksimum 1.

status

Saat Anda mengirim permintaan untuk membuat bot dengan processBehavior set toBUILD, Amazon Lex menyetel elemen status respons keBUILDING.

Dalam READY_BASIC_TESTING keadaan Anda dapat menguji bot dengan input pengguna yang sama persis dengan ucapan yang dikonfigurasi untuk maksud dan nilai bot dalam jenis slot.

Jika Amazon Lex tidak dapat membuat bot, Amazon Lex menetapkan status keFAILED. Amazon Lex mengembalikan alasan kegagalan elemen failureReason respons.

Saat Anda menyetel processBehavior keSAVE, Amazon Lex menyetel kode status keNOT BUILT.

Ketika bot dalam READY keadaan Anda dapat menguji dan menerbitkan bot.

Jenis: String

Nilai yang Valid: BUILDING | READY | READY_BASIC_TESTING | FAILED | NOT_BUILT

tags

Daftar tag yang terkait dengan bot.

Tipe: Array objek Tag

Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 200 item.

version

Versi bot. Untuk bot baru, versinya selalu$LATEST.

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.

Pola: \$LATEST|[0-9]+

voiceId

ID suara Amazon Polly yang digunakan Amazon Lex untuk interaksi suara dengan pengguna. Untuk informasi selengkapnya, lihat PutBot.

Tipe: String

Kesalahan

BadRequestException

Permintaan tidak terbentuk dengan baik. Misalnya, nilai tidak valid atau bidang wajib hilang. Periksa nilai bidang, dan coba lagi.

Kode Status HTTP: 400

ConflictException

Ada konflik memproses permintaan. Coba permintaan Anda lagi.

Kode Status HTTP: 409

InternalFailureException

Terjadi kesalahan internal Amazon Lex. Coba permintaan Anda lagi.

Kode Status HTTP: 500

LimitExceededException

Permintaan melebihi batas. Coba permintaan Anda lagi.

Kode Status HTTP: 429

PreconditionFailedException

Checksum sumber daya yang Anda coba ubah tidak cocok dengan checksum dalam permintaan. Periksa checksum sumber daya dan coba lagi.

Kode Status HTTP: 412

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: