PutIntent - Amazon Lex V1

Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das Amazon Lex V2-Handbuch.

 

Wenn Sie Amazon Lex V1 verwenden, empfehlen wir, Ihre Bots auf Amazon Lex V2 zu aktualisieren. Wir fügen V1 keine neuen Funktionen mehr hinzu und empfehlen dringend, V2 für alle neuen Bots zu verwenden.

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.

PutIntent

Erstellt eine Absicht oder ersetzt eine vorhandene Absicht.

Um die Interaktion zwischen dem Benutzer und Ihrem Bot zu definieren, verwenden Sie eine oder mehrere Absichten. Für einen Pizza-Bestell-Bot würdest du beispielsweise eine OrderPizza Absicht erstellen.

Um eine Absicht zu erstellen oder eine bestehende Absicht zu ersetzen, müssen Sie Folgendes angeben:

  • Name der Absicht. z. B. OrderPizza.

  • Beispiele für Äußerungen. Zum Beispiel: „Kann ich bitte eine Pizza bestellen?“ und „Ich möchte eine Pizza bestellen.“

  • Zu sammelnde Informationen. Sie geben Slot-Typen für die Informationen an, die Ihr Bot vom Benutzer anfordert. Sie können Standard-Slottypen wie ein Datum oder eine Uhrzeit oder benutzerdefinierte Slot-Typen wie Größe und Kruste einer Pizza angeben.

  • Wie die Absicht erfüllt wird. Sie können eine Lambda-Funktion bereitstellen oder die Absicht so konfigurieren, dass die Absichtsinformationen an die Client-Anwendung zurückgegeben werden. Wenn Sie eine Lambda-Funktion verwenden und alle Informationen zur Absicht verfügbar sind, ruft Amazon Lex Ihre Lambda-Funktion auf. Wenn Sie Ihre Absicht so konfigurieren, dass die Informationen zur Absicht an die Client-Anwendung zurückgegeben werden.

Sie können in der Anfrage weitere optionale Informationen angeben, z. B.:

  • Eine Bestätigungsaufforderung, in der der Benutzer aufgefordert wird, eine Absicht zu bestätigen. Zum Beispiel: „Soll ich deine Pizza bestellen?“

  • Eine Abschlusserklärung, die an den Benutzer gesendet wird, nachdem die Absicht erfüllt wurde. Zum Beispiel: „Ich habe Ihre Pizzabestellung aufgegeben.“

  • Eine Folgeaufforderung, in der der Benutzer um zusätzliche Aktivitäten gebeten wird. Fragen Sie beispielsweise: „Möchten Sie zu Ihrer Pizza ein Getränk bestellen?“

Wenn Sie einen vorhandenen Absichtsnamen angeben, um die Absicht zu aktualisieren, ersetzt Amazon Lex die Werte in der $LATEST Version der Absicht durch die Werte in der Anfrage. Amazon Lex entfernt Felder, die Sie in der Anfrage nicht angeben. Wenn Sie die erforderlichen Felder nicht angeben, löst Amazon Lex eine Ausnahme aus. Wenn Sie die $LATEST Version einer Absicht aktualisieren, wird das status Feld jedes Bots, der die $LATEST Version der Absicht verwendet, auf NOT_BUILT gesetzt.

Weitere Informationen finden Sie unter Amazon Lex — Funktionsweise.

Diese Operation erfordert Berechtigungen für die Aktion lex:PutIntent.

Anforderungssyntax

PUT /intents/name/versions/$LATEST HTTP/1.1 Content-type: application/json { "checksum": "string", "conclusionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "confirmationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "createVersion": boolean, "description": "string", "dialogCodeHook": { "messageVersion": "string", "uri": "string" }, "followUpPrompt": { "prompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "rejectionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" } }, "fulfillmentActivity": { "codeHook": { "messageVersion": "string", "uri": "string" }, "type": "string" }, "inputContexts": [ { "name": "string" } ], "kendraConfiguration": { "kendraIndex": "string", "queryFilterString": "string", "role": "string" }, "outputContexts": [ { "name": "string", "timeToLiveInSeconds": number, "turnsToLive": number } ], "parentIntentSignature": "string", "rejectionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "sampleUtterances": [ "string" ], "slots": [ { "defaultValueSpec": { "defaultValueList": [ { "defaultValue": "string" } ] }, "description": "string", "name": "string", "obfuscationSetting": "string", "priority": number, "responseCard": "string", "sampleUtterances": [ "string" ], "slotConstraint": "string", "slotType": "string", "slotTypeVersion": "string", "valueElicitationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" } } ] }

URI-Anfrageparameter

Die Anforderung verwendet die folgenden URI-Parameter.

name

Der Name der Absicht. Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Der Name darf nicht mit einem integrierten Absichtsnamen oder einem integrierten Absichtsnamen mit „AMAZON“ übereinstimmen. entfernt. Da es beispielsweise eine integrierte Absicht namens gibtAMAZON.HelpIntent, können Sie keine benutzerdefinierte Absicht namens erstellenHelpIntent.

Die Liste der integrierten Absichten finden Sie unter Standard Built-in Intents (Integrierte Standardabsichten) im Alexa Skills Kit.

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 100 Zeichen.

Pattern: ^([A-Za-z]_?)+$

Erforderlich: Ja

Anforderungstext

Die Anforderung akzeptiert die folgenden Daten im JSON-Format.

checksum

Identifiziert eine bestimmte Version der $LATEST Version.

Wenn Sie eine neue Absicht erstellen, lassen Sie das checksum Feld leer. Wenn Sie eine Prüfsumme angeben, erhalten Sie eine BadRequestException Ausnahme.

Wenn Sie eine Absicht aktualisieren möchten, setzen Sie das checksum Feld auf die Prüfsumme der letzten Version der $LATEST Version. Wenn Sie das checksum Feld nicht angeben oder wenn die Prüfsumme nicht mit der $LATEST Version übereinstimmt, erhalten Sie eine PreconditionFailedException Ausnahme.

Typ: Zeichenfolge

Erforderlich: Nein

conclusionStatement

Die Aussage, die Amazon Lex dem Benutzer übermitteln soll, nachdem die Absicht von der Lambda-Funktion erfolgreich erfüllt wurde.

Dieses Element ist nur relevant, wenn Sie eine Lambda-Funktion in der fulfillmentActivity angeben. Wenn Sie die Absicht an die Client-Anwendung zurückgeben, können Sie dieses Element nicht angeben.

Anmerkung

Die followUpPrompt beiden schließen conclusionStatement sich gegenseitig aus. Sie können nur einen angeben.

Typ: Statement Objekt

Erforderlich: Nein

confirmationPrompt

Fordert den Benutzer auf, die Absicht zu bestätigen. Diese Frage sollte eine Ja- oder Nein-Antwort haben.

Amazon Lex verwendet diese Aufforderung, um sicherzustellen, dass der Benutzer bestätigt, dass die Absicht zur Erfüllung bereit ist. Mit dieser OrderPizza Absicht möchten Sie beispielsweise überprüfen, ob die Bestellung korrekt ist, bevor Sie sie aufgeben. Bei anderen Absichten, z. B. bei Absichten, die lediglich auf Benutzerfragen antworten, müssen Sie den Benutzer möglicherweise nicht um Bestätigung bitten, bevor Sie die Informationen bereitstellen.

Anmerkung

Sie müssen sowohl das als auch das oder rejectionStatement keines von beiden angeben. confirmationPrompt

Typ: Prompt Objekt

Erforderlich: Nein

createVersion

Bei Auswahl dieser Option wird true eine neue nummerierte Version der Absicht erstellt. Dies entspricht dem Aufrufen der CreateIntentVersion Operation. Wenn Sie nichts angebencreateVersion, ist die Standardeinstellungfalse.

Typ: Boolesch

Erforderlich: Nein

description

Eine Beschreibung der Absicht.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 0. Höchstlänge = 200 Zeichen.

Erforderlich: Nein

dialogCodeHook

Spezifiziert eine Lambda-Funktion, die für jede Benutzereingabe aufgerufen werden soll. Sie können diese Lambda-Funktion aufrufen, um die Benutzerinteraktion zu personalisieren.

Nehmen wir zum Beispiel an, Ihr Bot stellt fest, dass der Benutzer John ist. Ihre Lambda-Funktion ruft möglicherweise Johns Informationen aus einer Backend-Datenbank ab und füllt einige der Werte vorab aus. Wenn Sie beispielsweise feststellen, dass John eine Glutenunverträglichkeit hat, können Sie den entsprechenden Intent-Slot,, auf true setzen. GlutenIntolerant Möglicherweise finden Sie Johns Telefonnummer und legen das entsprechende Sitzungsattribut fest.

Typ: CodeHook Objekt

Erforderlich: Nein

followUpPrompt

Amazon Lex verwendet diese Aufforderung, um nach Erfüllung einer Absicht weitere Aktivitäten anzufordern. Wenn die OrderPizza Absicht erfüllt wurde, könnten Sie den Benutzer beispielsweise auffordern, ein Getränk zu bestellen.

Die Aktion, die Amazon Lex ergreift, hängt wie folgt von der Antwort des Benutzers ab:

  • Wenn der Benutzer „Ja“ sagt, antwortet er mit der Klarstellungsaufforderung, die für den Bot konfiguriert ist.

  • Wenn der Benutzer „Ja“ sagt und mit einer Äußerung fortfährt, die eine Absicht auslöst, wird eine Konversation über diese Absicht gestartet.

  • Wenn der Benutzer „Nein“ sagt, antwortet er mit der Ablehnungserklärung, die für die Folgeaufforderung konfiguriert ist.

  • Wenn er die Äußerung nicht erkennt, wiederholt er die Folgeaufforderung erneut.

Das followUpPrompt Feld und das conclusionStatement Feld schließen sich gegenseitig aus. Sie können nur eines angeben.

Typ: FollowUpPrompt Objekt

Erforderlich: Nein

fulfillmentActivity

Erforderlich Beschreibt, wie die Absicht erfüllt wird. Wenn ein Benutzer beispielsweise alle Informationen für eine Pizzabestellung eingegeben hat, wird fulfillmentActivity definiert, wie der Bot eine Bestellung bei einer lokalen Pizzeria aufgibt.

Sie können Amazon Lex so konfigurieren, dass alle Informationen zur Absicht an die Client-Anwendung zurückgegeben werden, oder sie anweisen, eine Lambda-Funktion aufzurufen, die die Absicht verarbeiten kann (z. B. eine Bestellung bei einer Pizzeria aufgeben).

Typ: FulfillmentActivity Objekt

Erforderlich: Nein

inputContexts

Ein Array von InputContext Objekten, das die Kontexte auflistet, die aktiv sein müssen, damit Amazon Lex die Absicht in einer Konversation mit dem Benutzer auswählen kann.

Typ: Array von InputContext-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 5 Elemente.

Erforderlich: Nein

kendraConfiguration

Konfigurationsinformationen, die erforderlich sind, um die AMAZON.KendraSearchIntent Absicht zu verwenden, eine Verbindung zu einem Amazon Kendra Kendra-Index herzustellen. Weitere Informationen finden Sie unter AMAZON. KendraSearchIntent.

Typ: KendraConfiguration Objekt

Erforderlich: Nein

outputContexts

Ein Array von OutputContext Objekten, das die Kontexte auflistet, die die Absicht aktiviert, wenn die Absicht erfüllt ist.

Typ: Array von OutputContext-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 10 Elemente.

Erforderlich: Nein

parentIntentSignature

Eine Eindeutige Kennung für die integrierte Absicht, auf die diese Absicht basieren soll. Informationen zur Suche nach der Signatur für eine Absicht finden Sie unter Integrierte Standardabsichten im Alexa Skills Kit.

Typ: Zeichenfolge

Erforderlich: Nein

rejectionStatement

Wenn der Benutzer die in definierte Frage mit „Nein“ beantwortetconfirmationPrompt, antwortet Amazon Lex mit dieser Erklärung, um zu bestätigen, dass die Absicht storniert wurde.

Anmerkung

Sie müssen rejectionStatement sowohl das als auch das oder keines von beiden angeben. confirmationPrompt

Typ: Statement Objekt

Erforderlich: Nein

sampleUtterances

Eine Reihe von Äußerungen (Zeichenketten), die ein Benutzer sagen könnte, um die Absicht zu signalisieren. Zum Beispiel „Ich möchte {PizzaSize} Pizza“, „Bestellung {Menge} {PizzaSize} Pizzen“.

In jeder Äußerung wird ein Slot-Name in geschweiften Klammern eingeschlossen.

Typ: Zeichenfolge-Array

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Maximale Anzahl von 1500 Elementen.

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Höchstlänge = 200 Zeichen.

Erforderlich: Nein

slots

Eine Reihe von Intent-Slots. Zur Laufzeit ruft Amazon Lex mithilfe der in den Slots definierten Eingabeaufforderungen die erforderlichen Slot-Werte vom Benutzer ab. Weitere Informationen finden Sie unter Amazon Lex — Funktionsweise.

Typ: Array von Slot-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 100 Elemente.

Erforderlich: Nein

Antwortsyntax

HTTP/1.1 200 Content-type: application/json { "checksum": "string", "conclusionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "confirmationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "createdDate": number, "createVersion": boolean, "description": "string", "dialogCodeHook": { "messageVersion": "string", "uri": "string" }, "followUpPrompt": { "prompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "rejectionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" } }, "fulfillmentActivity": { "codeHook": { "messageVersion": "string", "uri": "string" }, "type": "string" }, "inputContexts": [ { "name": "string" } ], "kendraConfiguration": { "kendraIndex": "string", "queryFilterString": "string", "role": "string" }, "lastUpdatedDate": number, "name": "string", "outputContexts": [ { "name": "string", "timeToLiveInSeconds": number, "turnsToLive": number } ], "parentIntentSignature": "string", "rejectionStatement": { "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" }, "sampleUtterances": [ "string" ], "slots": [ { "defaultValueSpec": { "defaultValueList": [ { "defaultValue": "string" } ] }, "description": "string", "name": "string", "obfuscationSetting": "string", "priority": number, "responseCard": "string", "sampleUtterances": [ "string" ], "slotConstraint": "string", "slotType": "string", "slotTypeVersion": "string", "valueElicitationPrompt": { "maxAttempts": number, "messages": [ { "content": "string", "contentType": "string", "groupNumber": number } ], "responseCard": "string" } } ], "version": "string" }

Antwortelemente

Wenn die Aktion erfolgreich ist, sendet der Service eine HTTP 200-Antwort zurück.

Die folgenden Daten werden vom Service im JSON-Format zurückgegeben.

checksum

Prüfsumme der $LATEST Version der erstellten oder aktualisierten Absicht.

Typ: Zeichenfolge

conclusionStatement

Nachdem die in der Absicht angegebene Lambda-Funktion die fulfillmentActivity Absicht erfüllt hat, übermittelt Amazon Lex diese Aussage an den Benutzer.

Typ: Statement Objekt

confirmationPrompt

Falls in der Absicht definiert, fordert Amazon Lex den Benutzer auf, die Absicht zu bestätigen, bevor sie erfüllt wird.

Typ: Prompt Objekt

createdDate

Das Datum, an dem die Absicht erstellt wurde.

Typ: Zeitstempel

createVersion

Trueob eine neue Version der Absicht erstellt wurde. Wenn das createVersion Feld in der Anfrage nicht angegeben wurde, wird das createVersion Feld in der Antwort auf „Falsch“ gesetzt.

Typ: Boolesch

description

Eine Beschreibung der Absicht.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 0. Höchstlänge = 200 Zeichen.

dialogCodeHook

Falls in der Absicht definiert, ruft Amazon Lex diese Lambda-Funktion für jede Benutzereingabe auf.

Typ: CodeHook Objekt

followUpPrompt

Falls in der Absicht definiert, verwendet Amazon Lex diese Aufforderung, um zusätzliche Benutzeraktivitäten anzufordern, nachdem die Absicht erfüllt wurde.

Typ: FollowUpPrompt Objekt

fulfillmentActivity

Falls in der Absicht definiert, ruft Amazon Lex diese Lambda-Funktion auf, um die Absicht zu erfüllen, nachdem der Benutzer alle für die Absicht erforderlichen Informationen bereitgestellt hat.

Typ: FulfillmentActivity Objekt

inputContexts

Ein Array von InputContext Objekten, das die Kontexte auflistet, die aktiv sein müssen, damit Amazon Lex die Absicht in einer Konversation mit dem Benutzer auswählen kann.

Typ: Array von InputContext-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 5 Elemente.

kendraConfiguration

Konfigurationsinformationen, falls vorhanden, erforderlich, um eine Verbindung zu einem Amazon Kendra Kendra-Index herzustellen und die AMAZON.KendraSearchIntent Absicht zu verwenden.

Typ: KendraConfiguration Objekt

lastUpdatedDate

Das Datum, an dem die Absicht aktualisiert wurde. Wenn Sie eine Ressource erstellen, stimmen das Erstellungsdatum und das Datum der letzten Aktualisierung überein.

Typ: Zeitstempel

name

Der Name der Absicht.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 100 Zeichen.

Pattern: ^([A-Za-z]_?)+$

outputContexts

Eine Reihe von OutputContext Objekten, die die Kontexte auflistet, die die Absicht aktiviert, wenn die Absicht erfüllt ist.

Typ: Array von OutputContext-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 10 Elemente.

parentIntentSignature

Eine eindeutige Kennung für die integrierte Absicht, auf der diese Absicht basiert.

Typ: Zeichenfolge

rejectionStatement

Wenn der Benutzer die in confirmationPrompt Amazon Lex definierte Frage mit „Nein“ beantwortet, antwortet Lex mit dieser Erklärung, um zu bestätigen, dass die Absicht storniert wurde.

Typ: Statement Objekt

sampleUtterances

Eine Reihe von Beispieläußerungen, die für die Absicht konfiguriert sind.

Typ: Zeichenfolge-Array

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Maximale Anzahl von 1500 Elementen.

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Höchstlänge = 200 Zeichen.

slots

Eine Reihe von Intent-Slots, die für den Intent konfiguriert sind.

Typ: Array von Slot-Objekten

Array-Mitglieder: Die Mindestanzahl beträgt 0 Elemente. Die maximale Anzahl beträgt 100 Elemente.

version

Die Version der Absicht. Für eine neue Absicht gilt immer die Version$LATEST.

Typ: Zeichenfolge

Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 64 Zeichen.

Pattern: \$LATEST|[0-9]+

Fehler

BadRequestException

Die Anfrage ist nicht wohlformuliert. Beispielsweise ist ein Wert ungültig oder ein erforderliches Feld fehlt. Überprüfen Sie die Feldwerte und versuchen Sie es erneut.

HTTP Status Code: 400

ConflictException

Bei der Verarbeitung der Anfrage ist ein Konflikt aufgetreten. Versuchen Sie es erneut.

HTTP-Statuscode: 409

InternalFailureException

Ein interner Amazon Lex Lex-Fehler ist aufgetreten. Versuchen Sie es erneut.

HTTP Status Code: 500

LimitExceededException

Die Anfrage hat ein Limit überschritten. Versuchen Sie es erneut.

HTTP-Statuscode: 429

PreconditionFailedException

Die Prüfsumme der Ressource, die Sie ändern möchten, stimmt nicht mit der Prüfsumme in der Anfrage überein. Überprüfen Sie die Prüfsumme der Ressource und versuchen Sie es erneut.

HTTP-Statuscode: 412

Weitere Informationen finden Sie unter:

Weitere Informationen zur Verwendung dieser API in einem der sprachspezifischen AWS SDKs finden Sie im Folgenden: