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.
Memigrasi fungsi Lambda dari Amazon Lex V1 ke Amazon Lex V2
Amazon Lex V2 hanya mengizinkan satu fungsi Lambda untuk setiap bahasa dalam bot. Fungsi Lambda dan pengaturannya dikonfigurasi untuk alias bot yang Anda gunakan saat runtime.
Fungsi Lambda dipanggil untuk semua maksud dalam bahasa tersebut jika kait kode dialog dan pemenuhan diaktifkan untuk maksud tersebut.
Fungsi Amazon Lex V2 Lambda memiliki format pesan input dan output yang berbeda dari Amazon Lex V1. Ini adalah perbedaan dalam format input fungsi Lambda.
-
Amazon Lex V2 menggantikan
currentIntent
danalternativeIntents
struktur denganinterpretations
struktur. Setiap interpretasi berisi maksud, skor kepercayaan NLU untuk maksud, dan analisis sentimen opsional. -
Amazon Lex V2 memindahkan
activeContexts
,sessionAttributes
di Amazon Lex V1 kesessionState
struktur terpadu. Struktur ini memberikan informasi tentang keadaan percakapan saat ini, termasuk ID permintaan asal. -
Amazon Lex V2 tidak mengembalikan
recentIntentSummaryView
. Gunakan informasi dalamsessionState
struktur sebagai gantinya. -
Input Amazon Lex V2 menyediakan
botId
danlocaleId
dalambot
atribut. -
Struktur input berisi
inputMode
atribut yang menyediakan informasi tentang jenis input: teks, ucapan, atau DTMF.
Ini adalah perbedaan dalam format output fungsi Lambda:
-
sessionAttributes
StrukturactiveContexts
dan di Amazon Lex V1 digantikan olehsessionState
struktur di Amazon Lex V2. -
recentIntentSummaryView
Tidak termasuk dalam output. -
dialogAction
Struktur Amazon Lex V1 dibagi menjadi dua struktur,dialogAction
yaitu bagian darisessionState
struktur, danmessages
itu diperlukan ketikadialogAction.type
isElicitIntent
. Amazon Lex memilih pesan dari struktur ini untuk ditampilkan kepada pengguna.
Saat Anda membuat bot dengan API Amazon Lex V2, hanya ada satu fungsi Lambda per alias bot per bahasa, bukan fungsi Lambda untuk setiap maksud. Jika Anda ingin terus menggunakan fungsi terpisah, Anda dapat membuat fungsi router yang mengaktifkan fungsi terpisah untuk setiap intent. Berikut ini adalah fungsi router yang dapat Anda gunakan atau modifikasi untuk aplikasi Anda.
import os import json import boto3 # reuse client connection as global client = boto3.client('lambda') def router(event): intent_name = event['sessionState']['intent']['name'] fn_name = os.environ.get(intent_name) print(f"Intent: {intent_name} -> Lambda: {fn_name}") if (fn_name): # invoke lambda and return result invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event)) print(invoke_response) payload = json.load(invoke_response['Payload']) return payload raise Exception('No environment variable for intent: ' + intent_name) def lambda_handler(event, context): print(event) response = router(event) return response
Daftar bidang yang diperbarui
Tabel berikut memberikan informasi terperinci tentang bidang yang diperbarui dalam permintaan dan respons Amazon Lex V2 Lambda. Anda dapat menggunakan tabel ini untuk memetakan bidang antara versi.
Permintaan
Bidang berikut telah diperbarui dalam format permintaan fungsi Lambda.
Konteks aktif
activeContexts
Strukturnya sekarang menjadi bagian darisessionState
struktur.
Struktur V1 | Struktur V2 |
---|---|
ActiveContext |
SessionState.ActiveContexts |
ActiveContext [*]. timeToLive |
SessionState.ActiveContexts [*]. timeToLive |
ActiveContext [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds |
ActiveContext [*]. timeToLive. turnsToLive |
SessionState.ActiveContexts [*]. timeToLive. turnsToLive |
ActiveContexts [*] .nama |
SessionState.ActiveContexts [*] .nama |
ActiveContexts [*] .parameter |
SessionState.ActiveContexts [*] .ContextAttributes |
Maksud alternatif
Daftar interpretasi dari indeks 1 hingga N berisi daftar maksud alternatif yang diprediksi oleh Amazon Lex V2, bersama dengan skor kepercayaan mereka. recentIntentSummaryView
Itu dihapus dari struktur permintaan di Amazon Lex V2. Untuk melihat detail darirecentIntentSummaryView
, gunakanGetSession operasi.
Struktur V1 | Struktur V2 |
---|---|
AlternatifMaksud |
interpretasi [1: *] |
recentIntentSummaryLihat |
T/A |
Bot
Di Amazon Lex V2, bot dan alias memiliki pengenal. ID bot adalah bagian dari masukan codehook. ID alias disertakan, tetapi bukan nama alias. Amazon Lex V2 mendukung beberapa lokal untuk bot yang sama sehingga ID lokal disertakan.
Struktur V1 | Struktur V2 |
---|---|
bot |
bot |
bot.name |
bot.name |
T/A |
bot.id |
alias |
T/A |
T/A |
Bot.aliasid |
bot.version |
bot.version |
T/A |
Bot.localeid |
Niat saat ini
sessionState.intent
Struktur berisi rincian maksud aktif. Amazon Lex V2 juga mengembalikan daftar semua maksud, termasuk maksud alternatif, dalaminterpretations
struktur. Elemen pertama dalam daftar interpretasi selalu sama dengansessionState.intent
.
Struktur V1 | Struktur V2 |
---|---|
currentIntent |
SessionState.intent ATAU interpretasi [0] .maksud |
CurrentIntent.name |
SessionState.intent.name ATAU interpretasi [0] .intent.name |
currentIntent. nluConfidenceScore |
interpretasi [0] .nluconfidence.Score |
Tindakan dialog
confirmationStatus
Bidang sekarang menjadi bagian darisessionState
struktur.
Struktur V1 | Struktur V2 |
---|---|
CurrentIntent.ConfirmationStatus |
SessionState.Intent.ConfirmationState ATAU interpretasi [0] .intent.confirmationState |
T/A |
SessionState.intent.state ATAU interpretasi [*] .intent.state |
Amazon Kendra
kendraResponse
Bidang sekarang bagian darisessionState
daninterpretations
struktur.
Struktur V1 | Struktur V2 |
---|---|
KendraResponse |
SessionState.Intent.KendraResponse ATAU interpretasi [0] .Intent.kendraResponse |
Sentimen
sentimentResponse
Struktur dipindahkan keinterpretations
struktur baru.
Struktur V1 | Struktur V2 |
---|---|
sentimentResponse |
interpretasi [0] .sentimentResponse |
sentimentResponse.sentimentLabel |
interpretasi [0] .sentimentResponse.Sentimen |
sentimentresponse.sentimentScore |
interpretasi [0] .sentimentResponse.sentimentScore |
Slot
Amazon Lex V2 menyediakan satuslots
objek di dalamsessionState.intent
struktur yang berisi nilai yang diselesaikan, nilai yang ditafsirkan, dan nilai asli dari apa yang dikatakan pengguna. Amazon Lex V2 juga mendukung slot multi-nilai dengan mengaturslotShape
asList
dan mengaturvalues
daftar. Slot nilai tunggal didukung olehvalue
lapangan, bentuknya diasumsikanScalar
.
Struktur V1 | Struktur V2 |
---|---|
CurrentIntent.slot |
SessionState.Intent.Slots ATAU interpretasi [0] .intent.slots |
CurrentIntent.slot [*] .nilai |
SessionState.Intent.Slots [*] .value.interpretedValue ATAU interpretasi [0] .intent.slots [*] .value.interpretedValue |
T/A |
SessionState.intent.slots [*] .value.shape ATAU interpretasi [0] .intent.slots [*] .shape |
T/A |
SessionState.intent.slots [*] .values ATAU interpretasi [0] .intent.slots [*] .values |
CurrentIntent.slotDetails |
SessionState.Intent.Slots ATAU interpretasi [0] .intent.slots |
CurrentIntent.slotDetails [*] .resolusi |
SessionState.intent.slots [*] .terselesaikanNilai ATAU interpretasi [0] .intent.slots [*] .terselesaikanNilai |
currentIntent.slotDetails [*] .originalValue |
SessionState.intent.slots [*] .originalValue ATAU interpretasi [0] .intent.slots [*] .originalValue |
Lainnya
sessionId
Bidang Amazon Lex V2 sama denganuserId
bidang di Amazon Lex V1. Amazon Lex V2 juga mengirimkaninputMode
pemanggil: teks, DTMF, atau pidato.
Struktur V1 | Struktur V2 |
---|---|
userId |
sessionId |
inputTranscript |
inputTranscript |
invocationSource |
invocationSource |
outputDialogMode |
responseContentType |
messageVersion |
messageVersion |
SessionAttributes |
SessionState.SessionAttributes |
requestAttributes |
requestAttributes |
T/A |
Mode masukan |
T/A |
originatingRequestId |
Response
Bidang berikut telah diubah dalam format pesan respons fungsi Lambda.
Konteks aktif
activeContexts
Struktur pindah kesessionState
struktur.
Struktur V1 | Struktur V2 |
---|---|
ActiveContext |
SessionState.ActiveContexts |
ActiveContext [*]. timeToLive |
SessionState.ActiveContexts [*]. timeToLive |
ActiveContext [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds |
ActiveContext [*]. timeToLive. turnsToLive |
SessionState.ActiveContexts [*]. timeToLive. turnsToLive |
ActiveContexts [*] .nama |
SessionState.ActiveContexts [*] .nama |
ActiveContexts [*] .parameter |
SessionState.ActiveContexts [*] .ContextAttributes |
Tindakan dialog
dialogAction
Struktur pindah kesessionState
struktur. Anda sekarang dapat menentukan beberapa pesan dalam tindakan dialog, dangenericAttachments
struktur sekarangimageResponseCard
struktur.
Struktur V1 | Struktur V2 |
---|---|
dialogAction |
SessionState.DialogAction |
Dialogaction.type |
SessionState.dialogaction.type |
dialogAction. slotToElicit |
SessionState.Intent.DialogAction. slotToElicit |
dialogaction.type.fulfillmentState |
SessionState.Intent.State |
Dialogaction.message |
pesan |
DialogAction.message.contentType |
pesan [*] .contentType |
Dialogaction.message.content |
pesan [*] .konten |
Dialogaction.responseCard |
pesan [*]. imageResponseCard |
Dialogaction.responseCard.version |
T/A |
dialogaction.responseCard.contentType |
pesan [*] .contentType |
dialogaction.responsecard.genericlampiran |
T/A |
Dialogaction.responseCard.genericAttachments [*] .title |
pesan [*]. imageResponseCard.judul |
Dialogaction.responseCard.genericAttachments [*] .subtitle |
pesan [*]. imageResponseCard.subjudul |
Dialogaction.responseCard.genericAttachments [*] .imageUrl |
pesan [*]. imageResponseCard.imageUrl |
Dialogaction.responseCard.genericAttachments [*] .tombol |
pesan [*]. imageResponseCard.tombol |
Dialogaction.responseCard.genericAttachments [*] .buttons [*] .nilai |
pesan [*]. imageResponseCard.buttons [*] .nilai |
Dialogaction.responseCard.genericAttachments [*] .buttons [*] .text |
pesan [*]. imageResponseCard.buttons [*] .text |
dialogAction. kendraQueryRequestMuatan |
dialogAction. kendraQueryRequestMuatan |
dialogAction. kendraQueryFilterString |
dialogAction. kendraQueryFilterString |
Maksud dan slot
Bidang maksud dan slot yang merupakan bagian daridialogAction
struktur sekarang menjadi bagian darisessionState
struktur.
Struktur V1 | Struktur V2 |
---|---|
Dialogaction.IntentName |
SessionState.Intent.name |
Dialogaction.slot |
SessionState.Intent.Slots |
DialogAction.slot [*] .kunci |
SessionState.intent.slots [*] .kunci |
DialogAction.slot [*] .nilai |
SessionState.Intent.Slots [*] .value.interpretedValue |
T/A |
SessionState.intent.slots [*] .value.shape |
T/A |
SessionState.intent.slots [*] .nilai |
Lainnya
sessionAttributes
Strukturnya sekarang menjadi bagian darisessionState
struktur. recentIntentSummaryReview
Struktur telah dihapus.
Struktur V1 | Struktur V2 |
---|---|
SessionAttributes |
SessionState.SessionAttributes |
recentIntentSummaryLihat |
T/A |