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.
Migrasi 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 intent dalam bahasa tersebut jika dialog dan hook kode pemenuhan diaktifkan untuk intent.
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 struktur
currentIntentdanalternativeIntentsstruktur denganinterpretationsstruktur. Setiap interpretasi berisi maksud, skor kepercayaan NLU untuk maksud tersebut, dan analisis sentimen opsional. -
Amazon Lex V2 memindahkan
activeContexts,sessionAttributesdi Amazon Lex V1 ke struktur terpadusessionState. Struktur ini memberikan informasi tentang keadaan percakapan saat ini, termasuk ID permintaan asal. -
Amazon Lex V2 tidak mengembalikan
recentIntentSummaryView. Gunakan informasi dalamsessionStatestruktur sebagai gantinya. -
Input Amazon Lex V2 menyediakan
botIddanlocaleIddalambotatribut. -
Struktur input berisi
inputModeatribut yang memberikan informasi tentang jenis input: teks, ucapan, atau DTMF.
Ini adalah perbedaan dalam format output fungsi Lambda:
-
Struktur
activeContextsdansessionAttributesstruktur di Amazon Lex V1 digantikan olehsessionStatestruktur di Amazon Lex V2. -
recentIntentSummaryViewTidak termasuk dalam output. -
dialogActionStruktur Amazon Lex V1 dibagi menjadi dua struktur,dialogActionyang merupakan bagian darisessionStatestruktur, danmessagesitu diperlukan saatdialogAction.typeadaElicitIntent. Amazon Lex memilih pesan dari struktur ini untuk ditampilkan kepada pengguna.
Saat Anda membuat bot dengan Amazon Lex V2 APIs, 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 maksud. 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 rinci tentang bidang yang diperbarui dalam permintaan dan tanggapan Amazon Lex V2 Lambda. Anda dapat menggunakan tabel ini untuk memetakan bidang di antara versi.
Permintaan
Bidang berikut telah diperbarui dalam format permintaan fungsi Lambda.
Konteks aktif
activeContextsStruktur sekarang menjadi bagian dari sessionState struktur.
| Struktur V1 | Struktur V2 |
|---|---|
|
ActiveContext |
SessionState.ActiveContext |
|
ActiveContext [*]. timeToLive |
SessionState.ActiveContext [*]. timeToLive |
|
ActiveContext [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContext [*]. timeToLive. timeToLiveInSeconds |
|
ActiveContext [*]. timeToLive. turnsToLive |
SessionState.ActiveContext [*]. timeToLive. turnsToLive |
|
ActiveContext [*] .name |
SessionState.ActiveContext [*] .name |
|
ActiveContext [*] .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. recentIntentSummaryViewIni dihapus dari struktur permintaan di Amazon Lex V2. Untuk melihat detail darirecentIntentSummaryView, gunakan GetSession operasi.
| Struktur V1 | Struktur V2 |
|---|---|
|
Intents alternatif |
interpretasi [1: *] |
|
recentIntentSummaryLihat |
N/A |
Bot
Di Amazon Lex V2, bot dan alias memiliki pengidentifikasi. ID bot adalah bagian dari input 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.nama |
bot.nama |
|
N/A |
bot.id |
|
bot.alias |
N/A |
|
N/A |
Bot.aliasid |
|
bot.versi |
bot.versi |
|
N/A |
bot.localeid |
Niat saat ini
sessionState.intentStruktur berisi rincian maksud aktif. Amazon Lex V2 juga mengembalikan daftar semua maksud, termasuk maksud alternatif, dalam struktur. interpretations Elemen pertama dalam daftar interpretasi selalu sama dengan. sessionState.intent
| Struktur V1 | Struktur V2 |
|---|---|
|
currentIntent |
SessionState.intent ATAU interpretasi [0] .intent |
|
currentIntent.name |
SessionState.intent.name ATAU interpretasi [0] .intent.name |
|
currentIntent. nluConfidenceScore |
interpretasi [0] .nluConfidence.score |
Tindakan dialog
confirmationStatusBidang sekarang menjadi bagian dari sessionState struktur.
| Struktur V1 | Struktur V2 |
|---|---|
|
currentIntent.confirmationStatus |
SessionState.intent.confirmationState ATAU interpretasi [0] .intent.confirmationState |
|
N/A |
SessionState.intent.state ATAU interpretasi [*] .intent.state |
Amazon Kendra
kendraResponseLapangan sekarang menjadi bagian dari sessionState dan interpretations struktur.
| Struktur V1 | Struktur V2 |
|---|---|
|
kendraResponse |
SessionState.intent.kendraresponse ATAU interpretasi [0] .intent.kendraresponse |
Sentimen
sentimentResponseStruktur dipindahkan ke interpretations struktur baru.
| Struktur V1 | Struktur V2 |
|---|---|
|
sentimentResponse |
interpretasi [0] .sentimentResponse |
|
sentimentResponse.sentimentLabel |
interpretasi [0] .sentimentResponse.sentiment |
|
Sentimentresponse.sentimentScore |
interpretasi [0] .sentimentResponse.sentimentScore |
Slot
Amazon Lex V2 menyediakan satu slots objek di dalam sessionState.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 mengatur slotShape as List dan mengatur values daftar. Slot nilai tunggal didukung oleh value bidang, bentuknya diasumsikan. Scalar
| Struktur V1 | Struktur V2 |
|---|---|
|
CurrentIntent.slot |
SessionState.intent.slots ATAU interpretasi [0] .intent.slots |
|
CurrentIntent.slots [*] .value |
SessionState.intent.slots [*] .value.interpretedValue ATAU interpretasi [0] .intent.slots [*] .value.interpretedValue |
|
N/A |
SessionState.intent.slots [*] .value.shape ATAU interpretasi [0] .intent.slots [*] .shape |
|
N/A |
SessionState.intent.slots [*] .values ATAU interpretasi [0] .intent.slots [*] .values |
|
currentIntent.slotDetails |
SessionState.intent.slots ATAU interpretasi [0] .intent.slots |
|
currentIntent.slotDetails [*] .resolutions |
SessionState.intent.slots [*] .resolvedValues ATAU interpretasi [0] .intent.slots [*] .resolvedValues |
|
currentIntent.slotDetails [*] .originalValue |
SessionState.intent.slots [*] .originalValue ATAU interpretasi [0] .intent.slots [*] .originalValue |
Lainnya
sessionIdBidang Amazon Lex V2 sama dengan userId bidang di Amazon Lex V1. Amazon Lex V2 juga mengirimkan penelepon: teks, DTMF, atau pidato. inputMode
| Struktur V1 | Struktur V2 |
|---|---|
|
userId |
sessionId |
|
inputTranscript |
inputTranscript |
|
invocationSource |
invocationSource |
|
outputDialogMode |
responseContentType |
|
messageVersion |
messageVersion |
|
sessionAttributes |
SessionState.SessionAttributes |
|
requestAttributes |
requestAttributes |
|
N/A |
InputMode |
|
N/A |
originatingRequestId |
Respons
Bidang berikut telah diubah dalam format pesan respons fungsi Lambda.
Konteks aktif
activeContextsStrukturnya pindah ke sessionState struktur.
| Struktur V1 | Struktur V2 |
|---|---|
|
ActiveContext |
SessionState.ActiveContext |
|
ActiveContext [*]. timeToLive |
SessionState.ActiveContext [*]. timeToLive |
|
ActiveContext [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContext [*]. timeToLive. timeToLiveInSeconds |
|
ActiveContext [*]. timeToLive. turnsToLive |
SessionState.ActiveContext [*]. timeToLive. turnsToLive |
|
ActiveContext [*] .name |
SessionState.ActiveContext [*] .name |
|
ActiveContext [*] .parameter |
SessionState.ActiveContextS [*] .contextAttributes |
Tindakan dialog
dialogActionStrukturnya pindah ke sessionState struktur. Sekarang Anda dapat menentukan beberapa pesan dalam tindakan dialog, dan genericAttachments strukturnya sekarang menjadi imageResponseCard strukturnya.
| Struktur V1 | Struktur V2 |
|---|---|
|
dialogAction |
SessionState.dialogAction |
|
Dialogaction.type |
SessionState.dialogaction.type |
|
DialogAction. slotToElicit |
SessionState.intent.DialogAction. slotToElicit |
|
Dialogaction.type.fullmentState |
SessionState.intent.state |
|
Dialogaction.message |
pesan |
|
Dialogaction.message.contentType |
pesan [*] .ContentType |
|
Dialogaction.message.content |
pesan [*] .content |
|
Dialogaction.responseCard |
pesan [*]. imageResponseCard |
|
Dialogaction.responsecard.version |
N/A |
|
Dialogaction.responsecard.contentType |
pesan [*] .ContentType |
|
Dialogaction.responsecard.genericAttachments |
N/A |
|
Dialogaction.responsecard.genericAttachments [*] .title |
pesan [*]. imageResponseCard.judul |
|
Dialogaction.responsecard.genericAttachments [*] .subtitle |
pesan [*]. imageResponseCard.subtitle |
|
dialogaction.responsecard.genericAttachments [*] .ImageUrl |
pesan [*]. imageResponseCard.imageUrl |
|
Dialogaction.responsecard.genericAttachments [*] .buttons |
pesan [*]. imageResponseCard.tombol |
|
DialogAction.responseCard.genericAttachments [*] .buttons [*] .value |
pesan [*]. imageResponseCard.buttons [*] .value |
|
Dialogaction.responsecard.genericAttachments [*] .buttons [*] .text |
pesan [*]. imageResponseCard.tombol [*] .teks |
|
DialogAction. kendraQueryRequestMuatan |
DialogAction. kendraQueryRequestMuatan |
|
DialogAction. kendraQueryFilterTali |
DialogAction. kendraQueryFilterTali |
Maksud dan slot
Bidang intent dan slot yang merupakan bagian dari dialogAction struktur sekarang menjadi bagian dari sessionState struktur.
| Struktur V1 | Struktur V2 |
|---|---|
|
DialogAction.intentName |
SessionState.intent.name |
|
Dialogaction.slot |
SessionState.Intent.Slots |
|
Dialogaction.slot [*] .key |
SessionState.intent.slots [*] .key |
|
Dialogaction.slots [*] .value |
SessionState.intent.slots [*] .value.interpretedValue |
|
N/A |
SessionState.intent.slots [*] .value.shape |
|
N/A |
SessionState.intent.slots [*] .values |
Lainnya
sessionAttributesStruktur sekarang menjadi bagian dari sessionState struktur. recentIntentSummaryReviewStrukturnya telah dihapus.
| Struktur V1 | Struktur V2 |
|---|---|
|
sessionAttributes |
SessionState.SessionAttributes |
|
recentIntentSummaryLihat |
N/A |