Hinweis zum Ende des Supports: Am 15. September 2025 AWS wird der Support für Amazon Lex V1 eingestellt. Nach dem 15. September 2025 können Sie nicht mehr auf die Amazon Lex V1-Konsole oder die Amazon Lex V1-Ressourcen zugreifen. Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migration einer Lambda-Funktion von Amazon Lex V1 zu Amazon Lex V2
Amazon Lex V2 erlaubt nur eine Lambda-Funktion für jede Sprache in einem Bot. Die Lambda-Funktion und ihre Einstellungen sind für den Bot-Alias konfiguriert, den Sie zur Laufzeit verwenden.
Die Lambda-Funktion wird für alle Zwecke in dieser Sprache aufgerufen, wenn Dialog- und Fulfillment-Code-Hooks für die Absicht aktiviert sind.
Amazon Lex V2 Lambda-Funktionen haben ein anderes Eingabe- und Ausgabenachrichtenformat als Amazon Lex V1. Dies sind die Unterschiede im Eingabeformat der Lambda-Funktion.
-
Amazon Lex V2 ersetzt die
alternativeIntentsStrukturencurrentIntentund durch dieinterpretationsStruktur. Jede Interpretation enthält eine Absicht, den NLU-Konfidenzwert für die Absicht und eine optionale Stimmungsanalyse. -
Amazon Lex V2 verschiebt die
activeContexts,sessionAttributesin Amazon Lex V1, auf die einheitlichesessionStateStruktur. Diese Struktur bietet Informationen über den aktuellen Status der Konversation, einschließlich der ursprünglichen Anfrage-ID. -
Amazon Lex V2 gibt das nicht zurück
recentIntentSummaryView. Verwenden Sie stattdessen die Informationen in dersessionStateStruktur. -
Die Amazon Lex V2-Eingabe stellt das
botIdundlocaleIdimbotAttribut bereit. -
Die Eingabestruktur enthält ein
inputModeAttribut, das Informationen über die Art der Eingabe bereitstellt: Text, Sprache oder DTMF.
Dies sind die Unterschiede im Ausgabeformat der Lambda-Funktion:
-
Die
sessionAttributesStrukturenactiveContextsund in Amazon Lex V1 werden durch diesessionStateStruktur in Amazon Lex V2 ersetzt. -
Das
recentIntentSummaryViewist nicht in der Ausgabe enthalten. -
Die Amazon Lex
dialogActionV1-Struktur ist in zwei Strukturen aufgeteilt,dialogActiondie Teil dersessionStateStruktur sind undmessagesdie erforderlich sind, wenn diedialogAction.typeElicitIntent. Amazon Lex wählt Nachrichten aus dieser Struktur aus, um sie dem Benutzer anzuzeigen.
Wenn Sie einen Bot mit Amazon Lex V2 erstellen APIs, gibt es nur eine Lambda-Funktion pro Bot-Alias pro Sprache anstelle einer Lambda-Funktion für jede Absicht. Wenn Sie weiterhin separate Funktionen verwenden möchten, können Sie eine Router-Funktion erstellen, die für jeden Intent eine separate Funktion aktiviert. Die folgende Router-Funktion können Sie für Ihre Anwendung verwenden oder ändern.
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
Liste der aktualisierten Felder
Die folgenden Tabellen enthalten detaillierte Informationen zu den aktualisierten Feldern in der Amazon Lex V2 Lambda-Anfrage und -Antwort. Sie können diese Tabellen verwenden, um Felder zwischen den Versionen zuzuordnen.
Anforderung
Die folgenden Felder wurden im Lambda-Funktionsanforderungsformat aktualisiert.
Aktive Kontexte
Die activeContexts Struktur ist jetzt Teil der sessionState Struktur.
| V1-Struktur | V2-Struktur |
|---|---|
|
Aktive Kontexte |
Sitzungsstatus. ActiveContexts |
|
ActiveContexts [*]. timeToLive |
SessionState.ActiveContexts [*]. timeToLive |
|
Aktive Kontexte [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds |
|
Aktive Kontexte [*]. timeToLive. turnsToLive |
SessionState.ActiveContexts [*]. timeToLive. turnsToLive |
|
Aktive Kontexte [*] .name |
Sitzungsstate.ActiveContexts [*] .name |
|
ActiveContexts [*] .parameter |
sessionState.ActiveContexts [*] .contextAttributes |
Alternative Absichten
Die Interpretationsliste von Index 1 bis N enthält die Liste der von Amazon Lex V2 vorhergesagten alternativen Absichten zusammen mit ihren Konfidenzwerten. Das recentIntentSummaryView wird aus der Anforderungsstruktur in Amazon Lex V2 entfernt. Um die Details von zu sehenrecentIntentSummaryView, verwenden Sie den GetSession Vorgang.
| V1-Struktur | V2-Struktur |
|---|---|
|
Alternative Absichten |
Interpretationen [1: *] |
|
recentIntentSummaryAnsehen |
N/A |
Bot
In Amazon Lex V2 haben Bots und Aliase Identifikatoren. Die Bot-ID ist Teil der Codehook-Eingabe. Die Alias-ID ist enthalten, aber nicht der Aliasname. Amazon Lex V2 unterstützt mehrere Gebietsschemas für denselben Bot, sodass die Gebietsschema-ID enthalten ist.
| V1-Struktur | V2-Struktur |
|---|---|
|
Bot |
Bot |
|
Botname |
Bot-Name |
|
N/A |
Bot-ID |
|
Bot-Alias |
N/A |
|
N/A |
Bot-Alias-ID |
|
Bot-Version |
Bot-Version |
|
N/A |
bot.LocaleID |
Derzeitige Absicht
Die sessionState.intent Struktur enthält die Details der aktiven Absicht. Amazon Lex V2 gibt auch eine Liste aller Absichten, einschließlich alternativer Absichten, in der interpretations Struktur zurück. Das erste Element in der Interpretationsliste ist immer dasselbe wie. sessionState.intent
| V1-Struktur | V2-Struktur |
|---|---|
|
currentIntent |
sessionState.INTENT ODER Interpretationen [0] .intent |
|
Aktuelle Absicht.Name |
SessionState.Intent.Name ODER Interpretationen [0] .intent.name |
|
currentIntent. nluConfidenceScore |
Interpretationen [0] .nluConfidence.score |
Aktion im Dialog
Das confirmationStatus Feld ist jetzt Teil der sessionState Struktur.
| V1-Struktur | V2-Struktur |
|---|---|
|
Aktuelle Absicht. Bestätigungsstatus |
sessionState.intent.ConfirmationState ODER Interpretationen [0] .intent.ConfirmationState |
|
N/A |
sessionState.intent.STATE ODER Interpretationen [*] .intent.state |
Amazon Kendra
Das Feld ist jetzt kendraResponse Teil der UND-Strukturen. sessionState interpretations
| V1-Struktur | V2-Struktur |
|---|---|
|
kendraResponse |
sessionState.intent.KendraResponse ODER Interpretationen [0] .intent.KendraResponse |
Stimmung
Die Struktur wird in die neue sentimentResponse Struktur verschoben. interpretations
| V1-Struktur | V2-Struktur |
|---|---|
|
sentimentResponse |
Interpretationen [0] .sentimentResponse |
|
sentimentResponse.sentimentLabel |
Interpretationen [0] .sentimentResponse.Sentiment |
|
SentimentResponse.SentimentScore |
Interpretationen [0] .sentimentResponse.sentimentScore |
Slots
Amazon Lex V2 stellt ein einzelnes slots Objekt innerhalb der sessionState.intent Struktur bereit, das die aufgelösten Werte, den interpretierten Wert und den ursprünglichen Wert dessen, was der Benutzer gesagt hat, enthält. Amazon Lex V2 unterstützt auch Slots mit mehreren Werten, indem das slotShape As List und die values Liste festgelegt werden. Steckplätze mit einem Wert werden vom value Feld unterstützt, es wird davon ausgegangen, dass ihre Form dies ist. Scalar
| V1-Struktur | V2-Struktur |
|---|---|
|
CurrentIntent.Slots |
sessionState.intent.SLOTS ODER Interpretationen [0] .intent.slots |
|
CurrentIntent.slots [*] .value |
sessionState.intent.slots [*] .value.interpretedValue ODER Interpretationen [0] .intent.slots [*] .value.interpretedValue |
|
N/A |
sessionState.intent.slots [*] .value.shape ODER Interpretationen [0] .intent.slots [*] .shape |
|
N/A |
sessionState.intent.slots [*] .values ODER Interpretationen [0] .intent.slots [*] .values |
|
Aktuelle Intent.Slot-Details |
sessionState.intent.SLOTS ODER Interpretationen [0] .intent.slots |
|
CurrentIntent.SlotDetails [*] .Resolutionen |
sessionState.intent.slots [*] .resolvedValues ODER Interpretationen [0] .intent.slots [*] .resolvedValues |
|
CurrentIntent.SlotDetails [*] .Originalwert |
sessionState.intent.slots [*] .originalValue ODER Interpretationen [0] .intent.slots [*] .originalValue |
Weitere
Das sessionId Feld Amazon Lex V2 entspricht dem userId Feld in Amazon Lex V1. Amazon Lex V2 sendet auch die inputMode Daten des Anrufers: Text, DTMF oder Sprache.
| V1-Struktur | V2-Struktur |
|---|---|
|
userId |
sessionId |
|
inputTranscript |
inputTranscript |
|
invocationSource |
invocationSource |
|
outputDialogMode |
responseContentType |
|
messageVersion |
messageVersion |
|
sessionAttributes |
SessionState.Session-Attribute |
|
requestAttributes |
requestAttributes |
|
N/A |
Eingabemodus |
|
N/A |
originatingRequestId |
Antwort
Die folgenden Felder wurden im Format der Antwortnachricht der Lambda-Funktion geändert.
Aktive Kontexte
Die activeContexts Struktur wurde zur sessionState Struktur verschoben.
| V1-Struktur | V2-Struktur |
|---|---|
|
Aktive Kontexte |
Sitzungsstatus. ActiveContexts |
|
ActiveContexts [*]. timeToLive |
SessionState.ActiveContexts [*]. timeToLive |
|
Aktive Kontexte [*]. timeToLive. timeToLiveInSeconds |
SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds |
|
Aktive Kontexte [*]. timeToLive. turnsToLive |
SessionState.ActiveContexts [*]. timeToLive. turnsToLive |
|
Aktive Kontexte [*] .name |
Sitzungsstate.ActiveContexts [*] .name |
|
ActiveContexts [*] .parameter |
sessionState.ActiveContexts [*] .contextAttributes |
Aktion im Dialog
Die dialogAction Struktur wurde in die sessionState Struktur verschoben. Sie können jetzt mehrere Nachrichten in einer Dialogaktion angeben, und die genericAttachments Struktur ist jetzt die imageResponseCard Struktur.
| V1-Struktur | V2-Struktur |
|---|---|
|
dialogAction |
SessionState.DialogAction |
|
DialogAction.Typ |
Sitzungsstate.DialogAction.Typ |
|
dialogAction. slotToElicit |
SessionState.Intent.DialogAction. slotToElicit |
|
dialogAction.Type.FulfillmentState |
SessionState.Intent.State |
|
dialogAction.Message |
messages |
|
dialogAction.Message.Inhaltstyp |
Nachrichten [*] .contentType |
|
dialogAction.Message.Content |
nachrichten [*] .content |
|
dialogAction.Antwortkarte |
Nachrichten [*]. imageResponseCard |
|
DialogAktion.Antwortkarte.Version |
N/A |
|
DialogAction.ResponseCard.Inhaltstyp |
Nachrichten [*] .contentType |
|
DialogAction.ResponseCard.Generische Anlagen |
N/A |
|
dialogAction.ResponseCard.GenericAttachments [*] .title |
Nachrichten [*]. imageResponseCard.titel |
|
dialogAction.ResponseCard.GenericAttachments [*] .subtitle |
Nachrichten [*]. imageResponseCard.untertitel |
|
dialogAction.responsecard.GenericAttachments [*] .imageURL |
Nachrichten [*]. imageResponseCard. imageUrl |
|
dialogAction.ResponseCard.GenericAttachments [*] .buttons |
Nachrichten [*]. imageResponseCard. Knöpfe |
|
dialogAction.ResponseCard.GenericAttachments [*] .buttons [*] .value |
nachrichten [*]. imageResponseCard.Tasten [*] .Wert |
|
dialogAction.ResponseCard.GenericAttachments [*] .buttons [*] .text |
nachrichten [*]. imageResponseCard.tasten [*] .text |
|
dialogAction. kendraQueryRequestNutzlast |
dialogAction. kendraQueryRequestNutzlast |
|
dialogAction. kendraQueryFilterZeichenfolge |
dialogAction. kendraQueryFilterZeichenfolge |
Absichten und Slots
Die Felder Intent und Slot, die Teil der dialogAction Struktur waren, sind jetzt Teil der sessionState Struktur.
| V1-Struktur | V2-Struktur |
|---|---|
|
DialogAction.IntentName |
Sitzungsstatus.Absicht.Name |
|
DialogAction.Steckplätze |
SessionState.Intent.Steckplätze |
|
dialogAction.slots [*] .key |
sessionState.intent.slots [*] .key |
|
dialogAction.slots [*] .Wert |
sessionState.intent.slots [*] .value.InterpretedValue |
|
N/A |
sessionState.intent.slots [*] .value.shape |
|
N/A |
sessionState.intent.slots [*] .values |
Weitere
Die Struktur ist jetzt Teil der StruktursessionAttributes. sessionState Die recentIntentSummaryReview Struktur wurde entfernt.
| V1-Struktur | V2-Struktur |
|---|---|
|
sessionAttributes |
SessionState.SessionAttribute |
|
recentIntentSummaryAnsicht |
N/A |