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.
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
alternativeIntents
StrukturencurrentIntent
und durch dieinterpretations
Struktur. Jede Interpretation enthält eine Absicht, den NLU-Konfidenzwert für die Absicht und eine optionale Stimmungsanalyse. -
Amazon Lex V2 verschiebt die
activeContexts
,sessionAttributes
in Amazon Lex V1, auf die einheitlichesessionState
Struktur. 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 dersessionState
Struktur. -
Die Amazon Lex V2-Eingabe stellt das
botId
undlocaleId
imbot
Attribut bereit. -
Die Eingabestruktur enthält ein
inputMode
Attribut, das Informationen über die Art der Eingabe bereitstellt: Text, Sprache oder DTMF.
Dies sind die Unterschiede im Ausgabeformat der Lambda-Funktion:
-
Die
sessionAttributes
StrukturenactiveContexts
und in Amazon Lex V1 werden durch diesessionState
Struktur in Amazon Lex V2 ersetzt. -
Das
recentIntentSummaryView
ist nicht in der Ausgabe enthalten. -
Die Amazon Lex
dialogAction
V1-Struktur ist in zwei Strukturen aufgeteilt,dialogAction
die Teil dersessionState
Struktur sind undmessages
die erforderlich sind, wenn diedialogAction.type
ElicitIntent
. 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 |