Struktur umum dalam peristiwa dan respons Lambda - Amazon Lex

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

Struktur umum dalam peristiwa dan respons Lambda

Dalam respons Lambda, ada sejumlah struktur yang berulang. Rincian tentang struktur umum ini disediakan di bagian ini.

Niat

"intent": { "confirmationState": "Confirmed | Denied | None", "name": string, "slots": { // see Slot for details about the structure }, "state": "Failed | Fulfilled | FulfillmentInProgress | InProgress | ReadyForFulfillment | Waiting", "kendraResponse": { // Only present when intent is KendraSearchIntent. For details, see // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax } }

intentBidang dipetakan ke objek dengan bidang berikut:

Menunjukkan apakah pengguna telah mengkonfirmasi slot untuk maksud dan maksud siap untuk dipenuhi. Nilai-nilai berikut dimungkinkan:

Confirmed— Pengguna mengonfirmasi bahwa nilai slot sudah benar.

Denied— Pengguna menunjukkan bahwa nilai slot salah.

None— Pengguna belum mencapai tahap konfirmasi.

Nama niat.

Informasi tentang slot yang diperlukan untuk memenuhi maksud. Lihat Slot untuk detail tentang struktur.

Menunjukkan status pemenuhan untuk maksud tersebut. Nilai-nilai berikut dimungkinkan:

Failed— Bot gagal memenuhi niat.

Fulfilled— Bot telah menyelesaikan pemenuhan niat.

FulfillmentInProgress— Bot berada di tengah memenuhi niat.

InProgress— Bot berada di tengah memunculkan nilai slot yang diperlukan untuk memenuhi maksud.

ReadyForFulfillment— Bot telah memunculkan semua nilai slot untuk maksud dan siap untuk memenuhi maksud.

Waiting— Bot sedang menunggu respons dari pengguna (terbatas pada percakapan streaming).

Berisi informasi tentang hasil permintaan pencarian Kendra. Bidang ini hanya muncul jika maksudnya adalah aKendraSearchIntent. Lihat sintaks respons dalam panggilan Query API untuk Kendra untuk informasi selengkapnya.

Slot

slotsBidang ada dalam intent struktur dan dipetakan ke struktur yang kuncinya adalah nama slot untuk maksud itu. Jika slot bukan slot multi-nilai (lihat Menggunakan beberapa nilai dalam slot untuk lebih jelasnya), itu dipetakan ke struktur dengan format berikut. Perhatikan bahwa shape adalahScalar.

{ slot name: { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } } }

Jika slot adalah slot multi-nilai, objek yang dipetakan berisi bidang lain yang disebutvalues, yang dipetakan ke daftar struktur, masing-masing berisi informasi tentang slot yang membentuk slot multi-nilai. Format setiap objek dalam daftar cocok dengan objek yang slot reguler dipetakan. Perhatikan bahwa shape adalahList, tetapi slot shape komponen di bawah values adalahScalar.

{ slot name: { "shape": "List", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }, "values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ] }

Bidang dalam objek slot dijelaskan di bawah ini:

Bentuk slotnya. Nilai ini adalah List jika ada beberapa nilai dalam slot (lihat Menggunakan beberapa nilai dalam slot untuk lebih jelasnya) dan Scalar sebaliknya.

Objek yang berisi informasi tentang nilai yang disediakan pengguna untuk slot dan interpretasi Amazon Lex, dalam format berikut:

{ "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }

Bidang dijelaskan di bawah ini:

  • OriginalValue — Bagian dari respons pengguna terhadap elisitasi slot yang ditentukan Amazon Lex relevan dengan nilai slot.

  • InterpretedValue — Nilai yang ditentukan Amazon Lex untuk slot, mengingat input pengguna.

  • ResolvedValues — Daftar nilai yang ditentukan Amazon Lex adalah kemungkinan resolusi untuk input pengguna.

Daftar objek yang berisi informasi tentang slot yang membentuk slot multi-nilai. Format setiap objek cocok dengan slot normal, dengan shape dan value bidang yang dijelaskan di atas. valueshanya muncul jika slot terdiri dari beberapa nilai (lihat Menggunakan beberapa nilai dalam slot untuk lebih jelasnya). Objek JSON berikut menunjukkan dua slot komponen:

"values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ]

Status sesi

sessionStateBidang dipetakan ke objek yang berisi informasi tentang keadaan percakapan dengan pengguna. Bidang aktual yang muncul di objek bergantung pada jenis tindakan dialog. Lihat Bidang yang diperlukan dalam respons kolom wajib dalam respons Lambda. Format sessionState objek adalah sebagai berikut:

"sessionState": { "activeContexts": [ { "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }, ... ], "sessionAttributes": { string: string, ... }, "runtimeHints": { "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }, "dialogAction": { "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }, "intent": { // see Niat for details about the structure }, "originatingRequestId": string }

Bidang dijelaskan di bawah ini:

Daftar objek yang berisi informasi tentang konteks yang digunakan pengguna dalam sesi. Gunakan konteks untuk memfasilitasi dan mengontrol pengenalan niat. Untuk informasi lebih lanjut tentang konteks, lihat. Mengatur konteks maksud Setiap objek diformat sebagai berikut:

{ "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }

Bidang dijelaskan di bawah ini:

  • nama — Nama konteksnya.

  • ContextAttributes — Objek yang berisi nama-nama atribut untuk konteks dan nilai-nilai yang dipetakan.

  • timeToLiveObjek yang menentukan berapa lama konteksnya tetap aktif. Objek ini dapat berisi salah satu atau kedua bidang berikut:

    • timeToLiveInSeconds— Jumlah detik yang konteksnya tetap aktif.

    • turnsToLive— Jumlah putaran yang konteksnya tetap aktif.

Peta pasangan kunci/nilai yang mewakili informasi konteks khusus sesi. Untuk informasi selengkapnya, lihat Mengatur atribut sesi. Objek diformat sebagai berikut:

{ string: string, ... }

Memberikan petunjuk untuk frasa yang akan digunakan pelanggan untuk slot untuk meningkatkan pengenalan audio. Nilai-nilai yang Anda berikan dalam petunjuk meningkatkan pengenalan audio dari nilai-nilai tersebut di atas kata-kata yang terdengar serupa. Format runtimeHints objek adalah sebagai berikut:

{ "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }

slotHintsBidang memetakan ke objek yang bidangnya adalah nama maksud di bot. Setiap nama maksud memetakan ke objek yang bidangnya adalah nama slot untuk maksud itu. Setiap nama slot memetakan ke struktur dengan satu bidangruntimeHintValues, yang merupakan daftar objek. Setiap objek berisi phrase bidang yang memetakan ke petunjuk.

Menentukan tindakan selanjutnya untuk Amazon Lex V2 untuk mengambil. Format objek adalah sebagai berikut:

{ "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }

Bidang dijelaskan di bawah ini:

  • slotElicitationStyle— Menentukan bagaimana Amazon Lex V2 menafsirkan input audio dari pengguna jika type dari dialogAction adalahElicitSlot. Untuk informasi selengkapnya, lihat Menangkap nilai slot dengan gaya ejaan. Nilai-nilai berikut dimungkinkan:

    Default— Amazon Lex V2 menafsirkan input audio secara default untuk memenuhi slot.

    SpellByLetter— Amazon Lex V2 mendengarkan ejaan pengguna dari nilai slot.

    SpellByWord— Amazon Lex V2 mendengarkan ejaan pengguna dari nilai slot menggunakan kata-kata yang terkait dengan setiap huruf (misalnya, “a as in apple”).

  • slotToElicit— Mendefinisikan slot yang akan diperoleh dari pengguna jika dari adalahtype. dialogAction ElicitSlot

  • type — Mendefinisikan tindakan yang harus dijalankan bot. Nilai-nilai berikut dimungkinkan:

    Delegate— Memungkinkan Amazon Lex V2 menentukan langkah selanjutnya.

    ElicitIntent— Meminta pelanggan untuk menyatakan niat.

    ConfirmIntent— Mengonfirmasi nilai slot pelanggan dan apakah niat siap untuk dipenuhi.

    ElicitSlot— Meminta pelanggan untuk memberikan nilai slot untuk suatu maksud.

    Close— Mengakhiri proses pemenuhan niat.

Lihat Niat untuk struktur intent lapangan.

Pengenal unik untuk permintaan tersebut. Bidang ini opsional untuk respons Lambda.