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.
PutIntent
Menciptakan maksud atau menggantikan maksud yang ada.
Untuk menentukan interaksi antara pengguna dan bot Anda, Anda menggunakan satu atau lebih maksud. Untuk bot pemesanan pizza, misalnya, Anda akan membuat OrderPizza
maksud.
Untuk membuat intent atau mengganti intent yang ada, Anda harus memberikan yang berikut:
-
Nama niat. Misalnya,
OrderPizza
. -
Sampel ucapan. Misalnya, “Bisakah saya memesan pizza, tolong.” dan “Saya ingin memesan pizza.”
-
Informasi yang akan dikumpulkan. Anda menentukan jenis slot untuk informasi yang akan diminta bot Anda dari pengguna. Anda dapat menentukan jenis slot standar, seperti tanggal atau waktu, atau jenis slot khusus seperti ukuran dan kerak pizza.
-
Bagaimana niatnya akan terpenuhi. Anda dapat menyediakan fungsi Lambda atau mengonfigurasi intent untuk mengembalikan informasi maksud ke aplikasi klien. Jika Anda menggunakan fungsi Lambda, ketika semua informasi maksud tersedia, Amazon Lex memanggil fungsi Lambda Anda. Jika Anda mengonfigurasi maksud Anda untuk mengembalikan informasi maksud ke aplikasi klien.
Anda dapat menentukan informasi opsional lainnya dalam permintaan, seperti:
-
Permintaan konfirmasi untuk meminta pengguna mengonfirmasi maksud. Misalnya, “Haruskah saya memesan pizza Anda?”
-
Pernyataan kesimpulan untuk dikirim ke pengguna setelah maksud terpenuhi. Misalnya, “Saya memesan pizza Anda.”
-
Prompt tindak lanjut yang meminta pengguna untuk aktivitas tambahan. Misalnya, bertanya “Apakah Anda ingin memesan minuman dengan pizza Anda?”
Jika Anda menentukan nama intent yang ada untuk memperbarui intent, Amazon Lex mengganti nilai dalam $LATEST
versi intent dengan nilai dalam permintaan. Amazon Lex menghapus bidang yang tidak Anda berikan dalam permintaan. Jika Anda tidak menentukan bidang yang diperlukan, Amazon Lex melempar pengecualian. Saat Anda memperbarui $LATEST
versi intent, status
bidang bot apa pun yang menggunakan $LATEST
versi intent akan disetel ke. NOT_BUILT
Untuk informasi selengkapnya, lihat Amazon Lex: Cara Kerjanya.
Operasi ini memerlukan izin utuk tindakan lex:PutIntent
.
Minta Sintaks
PUT /intents/name
/versions/$LATEST HTTP/1.1
Content-type: application/json
{
"checksum": "string
",
"conclusionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"confirmationPrompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"createVersion": boolean
,
"description": "string
",
"dialogCodeHook": {
"messageVersion": "string
",
"uri": "string
"
},
"followUpPrompt": {
"prompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"rejectionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
}
},
"fulfillmentActivity": {
"codeHook": {
"messageVersion": "string
",
"uri": "string
"
},
"type": "string
"
},
"inputContexts": [
{
"name": "string
"
}
],
"kendraConfiguration": {
"kendraIndex": "string
",
"queryFilterString": "string
",
"role": "string
"
},
"outputContexts": [
{
"name": "string
",
"timeToLiveInSeconds": number
,
"turnsToLive": number
}
],
"parentIntentSignature": "string
",
"rejectionStatement": {
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
},
"sampleUtterances": [ "string
" ],
"slots": [
{
"defaultValueSpec": {
"defaultValueList": [
{
"defaultValue": "string
"
}
]
},
"description": "string
",
"name": "string
",
"obfuscationSetting": "string
",
"priority": number
,
"responseCard": "string
",
"sampleUtterances": [ "string
" ],
"slotConstraint": "string
",
"slotType": "string
",
"slotTypeVersion": "string
",
"valueElicitationPrompt": {
"maxAttempts": number
,
"messages": [
{
"content": "string
",
"contentType": "string
",
"groupNumber": number
}
],
"responseCard": "string
"
}
}
]
}
Parameter Permintaan URI
Permintaan menggunakan parameter URI berikut.
- name
-
Nama niat. Namanya tidak peka huruf besar/kecil.
Nama tidak dapat cocok dengan nama intent bawaan, atau nama intent bawaan dengan “AMAZON.” dihapus. Misalnya, karena ada intent bawaan yang dipanggil
AMAZON.HelpIntent
, Anda tidak dapat membuat maksud khusus yang dipanggil.HelpIntent
Untuk daftar intent bawaan, lihat Intent Bawaan Standar
di Alexa Skills Kit. Batasan Panjang: Panjang minimum 1. Panjang maksimum 100.
Pola:
^([A-Za-z]_?)+$
Wajib: Ya
Isi Permintaan
Permintaan menerima data berikut dalam format JSON.
- checksum
-
Mengidentifikasi revisi spesifik dari versi.
$LATEST
Saat Anda membuat maksud baru, biarkan
checksum
bidang kosong. Jika Anda menentukan checksum Anda mendapatkanBadRequestException
pengecualian.Saat Anda ingin memperbarui intent, setel
checksum
bidang ke checksum dari revisi terbaru versi.$LATEST
Jika Anda tidak menentukanchecksum
bidang, atau jika checksum tidak cocok dengan$LATEST
versi, Anda mendapatkanPreconditionFailedException
pengecualian.Tipe: String
Wajib: Tidak
- conclusionStatement
-
Pernyataan yang Anda ingin Amazon Lex sampaikan kepada pengguna setelah maksud berhasil dipenuhi oleh fungsi Lambda.
Elemen ini relevan hanya jika Anda menyediakan fungsi Lambda di.
fulfillmentActivity
Jika Anda mengembalikan intent ke aplikasi klien, Anda tidak dapat menentukan elemen ini.catatan
Itu
followUpPrompt
danconclusionStatement
saling eksklusif. Anda hanya dapat menentukan satu.Tipe: Objek Statement
Wajib: Tidak
- confirmationPrompt
-
Meminta pengguna untuk mengonfirmasi maksud. Pertanyaan ini harus memiliki jawaban ya atau tidak.
Amazon Lex menggunakan prompt ini untuk memastikan bahwa pengguna mengakui bahwa intent siap untuk dipenuhi. Misalnya, dengan
OrderPizza
intent, Anda mungkin ingin mengonfirmasi bahwa pesanan sudah benar sebelum menempatkannya. Untuk maksud lain, seperti maksud yang hanya menanggapi pertanyaan pengguna, Anda mungkin tidak perlu meminta konfirmasi kepada pengguna sebelum memberikan informasi.catatan
Anda harus menyediakan keduanya
rejectionStatement
danconfirmationPrompt
, atau tidak.Tipe: Objek Prompt
Wajib: Tidak
- createVersion
-
Ketika disetel ke
true
versi bernomor baru dari intent dibuat. Ini sama dengan memanggilCreateIntentVersion
operasi. Jika Anda tidak menentukancreateVersion
, defaultnya adalahfalse
.Tipe: Boolean
Wajib: Tidak
- description
-
Deskripsi niat.
Tipe: String
Batasan Panjang: Panjang minimum 0. Panjang maksimum 200.
Wajib: Tidak
- dialogCodeHook
-
Menentukan fungsi Lambda untuk memanggil untuk setiap input pengguna. Anda dapat memanggil fungsi Lambda ini untuk mempersonalisasi interaksi pengguna.
Misalnya, bot Anda menentukan bahwa penggunanya adalah John. Fungsi Lambda Anda mungkin mengambil informasi John dari basis data backend dan mengisi beberapa nilai. Misalnya, jika Anda menemukan bahwa John tidak toleran terhadap gluten, Anda dapat mengatur slot maksud yang sesuai,
GlutenIntolerant
, ke true. Anda mungkin menemukan nomor telepon John dan mengatur atribut sesi yang sesuai.Tipe: Objek CodeHook
Wajib: Tidak
- followUpPrompt
-
Amazon Lex menggunakan prompt ini untuk meminta aktivitas tambahan setelah memenuhi maksud. Misalnya, setelah
OrderPizza
intent terpenuhi, Anda dapat meminta pengguna untuk memesan minuman.Tindakan yang dilakukan Amazon Lex bergantung pada respons pengguna, sebagai berikut:
-
Jika pengguna mengatakan “Ya” itu merespons dengan prompt klarifikasi yang dikonfigurasi untuk bot.
-
jika pengguna mengatakan “Ya” dan melanjutkan dengan ucapan yang memicu maksud, ia memulai percakapan untuk maksud tersebut.
-
Jika pengguna mengatakan “Tidak” itu merespons dengan pernyataan penolakan yang dikonfigurasi untuk prompt tindak lanjut.
-
Jika tidak mengenali ucapannya, ia mengulangi prompt tindak lanjut lagi.
followUpPrompt
Bidang danconclusionStatement
lapangan saling eksklusif. Anda hanya dapat menentukan satu.Tipe: Objek FollowUpPrompt
Wajib: Tidak
-
- fulfillmentActivity
-
Wajib. Menjelaskan bagaimana niat terpenuhi. Misalnya, setelah pengguna memberikan semua informasi untuk pesanan pizza,
fulfillmentActivity
mendefinisikan bagaimana bot melakukan pemesanan dengan toko pizza lokal.Anda dapat mengonfigurasi Amazon Lex untuk mengembalikan semua informasi intent ke aplikasi klien, atau mengarahkannya untuk memanggil fungsi Lambda yang dapat memproses intent (misalnya, melakukan pemesanan dengan restoran pizza).
Tipe: Objek FulfillmentActivity
Wajib: Tidak
- inputContexts
-
Larik
InputContext
objek yang mencantumkan konteks yang harus aktif untuk Amazon Lex untuk memilih maksud dalam percakapan dengan pengguna.Tipe: Array objek InputContext
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 5 item.
Wajib: Tidak
- kendraConfiguration
-
Informasi konfigurasi diperlukan untuk menggunakan
AMAZON.KendraSearchIntent
intent untuk menyambung ke indeks Amazon Kendra. Untuk informasi selengkapnya, lihat AMAZON. KendraSearchIntent.Tipe: Objek KendraConfiguration
Wajib: Tidak
- outputContexts
-
Array
OutputContext
objek yang mencantumkan konteks yang mengaktifkan intent saat intent terpenuhi.Tipe: Array objek OutputContext
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 10 item.
Wajib: Tidak
- parentIntentSignature
-
Pengidentifikasi unik untuk maksud bawaan yang menjadi dasar intent ini. Untuk menemukan tanda tangan untuk intent, lihat Intent Bawaan Standar
di Alexa Skills Kit. Tipe: String
Wajib: Tidak
- rejectionStatement
-
Ketika pengguna menjawab “tidak” untuk pertanyaan yang didefinisikan dalam
confirmationPrompt
, Amazon Lex merespons dengan pernyataan ini untuk mengakui bahwa maksud tersebut dibatalkan.catatan
Anda harus menyediakan keduanya
rejectionStatement
danconfirmationPrompt
, atau tidak.Tipe: Objek Statement
Wajib: Tidak
- sampleUtterances
-
Array ucapan (string) yang mungkin dikatakan pengguna untuk memberi sinyal maksud. Misalnya, “Saya ingin {PizzaSize} pizza”, “Pesan {Kuantitas} {PizzaSize} pizza”.
Dalam setiap ucapan, nama slot dilampirkan dalam kurung kurawal.
Tipe: Array string.
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 1500 item.
Batasan Panjang: Panjang minimum 1. Panjang maksimum 200.
Wajib: Tidak
- slots
-
Sebuah array slot niat. Saat runtime, Amazon Lex memperoleh nilai slot yang diperlukan dari pengguna menggunakan petunjuk yang ditentukan dalam slot. Untuk informasi selengkapnya, lihat Amazon Lex: Cara Kerjanya.
Tipe: Array objek Slot
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 100 item.
Wajib: Tidak
Sintaksis Respons
HTTP/1.1 200
Content-type: application/json
{
"checksum": "string",
"conclusionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"confirmationPrompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"createdDate": number,
"createVersion": boolean,
"description": "string",
"dialogCodeHook": {
"messageVersion": "string",
"uri": "string"
},
"followUpPrompt": {
"prompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"rejectionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
}
},
"fulfillmentActivity": {
"codeHook": {
"messageVersion": "string",
"uri": "string"
},
"type": "string"
},
"inputContexts": [
{
"name": "string"
}
],
"kendraConfiguration": {
"kendraIndex": "string",
"queryFilterString": "string",
"role": "string"
},
"lastUpdatedDate": number,
"name": "string",
"outputContexts": [
{
"name": "string",
"timeToLiveInSeconds": number,
"turnsToLive": number
}
],
"parentIntentSignature": "string",
"rejectionStatement": {
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
},
"sampleUtterances": [ "string" ],
"slots": [
{
"defaultValueSpec": {
"defaultValueList": [
{
"defaultValue": "string"
}
]
},
"description": "string",
"name": "string",
"obfuscationSetting": "string",
"priority": number,
"responseCard": "string",
"sampleUtterances": [ "string" ],
"slotConstraint": "string",
"slotType": "string",
"slotTypeVersion": "string",
"valueElicitationPrompt": {
"maxAttempts": number,
"messages": [
{
"content": "string",
"contentType": "string",
"groupNumber": number
}
],
"responseCard": "string"
}
}
],
"version": "string"
}
Elemen Respons
Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.
Layanan mengembalikan data berikut dalam format JSON.
- checksum
-
Checksum
$LATEST
versi maksud yang dibuat atau diperbarui.Tipe: String
- conclusionStatement
-
Setelah fungsi Lambda yang ditentukan dalam
fulfillmentActivity
intent memenuhi intent, Amazon Lex menyampaikan pernyataan ini kepada pengguna.Tipe: Objek Statement
- confirmationPrompt
-
Jika didefinisikan dalam maksud, Amazon Lex meminta pengguna untuk mengonfirmasi maksud sebelum memenuhinya.
Tipe: Objek Prompt
- createdDate
-
Tanggal dimana niat itu dibuat.
Tipe: Timestamp
- createVersion
-
True
jika versi baru dari intent telah dibuat. JikacreateVersion
bidang tidak ditentukan dalam permintaan,createVersion
bidang diatur ke false dalam respons.Jenis: Boolean
- description
-
Deskripsi niat.
Tipe: String
Batasan Panjang: Panjang minimum 0. Panjang maksimum 200.
- dialogCodeHook
-
Jika didefinisikan dalam intent, Amazon Lex memanggil fungsi Lambda ini untuk setiap input pengguna.
Tipe: Objek CodeHook
- followUpPrompt
-
Jika didefinisikan dalam intent, Amazon Lex menggunakan prompt ini untuk meminta aktivitas pengguna tambahan setelah intent terpenuhi.
Tipe: Objek FollowUpPrompt
- fulfillmentActivity
-
Jika didefinisikan dalam intent, Amazon Lex memanggil fungsi Lambda ini untuk memenuhi intent setelah pengguna memberikan semua informasi yang diperlukan oleh intent.
Tipe: Objek FulfillmentActivity
- inputContexts
-
Larik
InputContext
objek yang mencantumkan konteks yang harus aktif untuk Amazon Lex untuk memilih maksud dalam percakapan dengan pengguna.Tipe: Array objek InputContext
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 5 item.
- kendraConfiguration
-
Informasi konfigurasi, jika ada, diperlukan untuk terhubung ke indeks Amazon Kendra dan menggunakan intent.
AMAZON.KendraSearchIntent
Tipe: Objek KendraConfiguration
- lastUpdatedDate
-
Tanggal dimana intent diperbarui. Saat Anda membuat sumber daya, tanggal pembuatan dan tanggal pembaruan terakhir adalah sama.
Tipe: Timestamp
- name
-
Nama niat.
Tipe: String
Panjang Batasan: Panjang minimum 1. Panjang maksimum 100.
Pola:
^([A-Za-z]_?)+$
- outputContexts
-
Array
OutputContext
objek yang mencantumkan konteks yang mengaktifkan intent saat intent terpenuhi.Tipe: Array objek OutputContext
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 10 item.
- parentIntentSignature
-
Pengidentifikasi unik untuk maksud bawaan yang menjadi dasar maksud ini.
Tipe: String
- rejectionStatement
-
Jika pengguna menjawab “tidak” untuk pertanyaan yang didefinisikan di
confirmationPrompt
Amazon Lex merespons dengan pernyataan ini untuk mengakui bahwa maksud tersebut dibatalkan.Tipe: Objek Statement
- sampleUtterances
-
Array contoh ucapan yang dikonfigurasi untuk maksud.
Tipe: Array string.
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 1500 item.
Batasan Panjang: Panjang minimum 1. Panjang maksimum 200.
- slots
-
Sebuah array slot intent yang dikonfigurasi untuk maksud.
Tipe: Array objek Slot
Anggota Array: Jumlah minimum 0 item. Jumlah maksimum 100 item.
- version
-
Versi maksudnya. Untuk maksud baru, versinya selalu
$LATEST
.Tipe: String
Batasan Panjang: Panjang minimum 1. Panjang maksimum adalah 64.
Pola:
\$LATEST|[0-9]+
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 yang memproses permintaan tersebut. 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 bahasa khusus AWS SDKs, lihat berikut ini: