

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](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html). 

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.

# Integrierte Absichten
<a name="howitworks-builtins-intents"></a>

Für allgemeine Aktionen können Sie die standardmäßige integrierte Intents-Bibliothek verwenden. Um eine Absicht aus einer integrierten Absicht zu erstellen, wählen Sie eine integrierte Absicht in der Konsole und weisen ihr einen neuen Namen zu. Die neue Absicht hat die Konfiguration der Basisabsicht, wie z. B. die Beispieläußerungen. 

In der aktuellen Implementierung ist Folgendes nicht möglich: 
+ Fügen Sie der Basisabsicht Beispieläußerungen hinzu oder entfernen Sie sie daraus
+ Konfigurieren von Slots für integrierte Absichten

**Um einem Bot eine integrierte Absicht hinzuzufügen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot aus, dem Sie die integrierte Absicht hinzufügen möchten.

1. Wählen Sie im Navigationsbereich das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben **Sie im Feld Suchabsichten** den Namen der integrierten Absicht ein, die Sie Ihrem Bot hinzufügen möchten.

1. Geben **Sie unter Integrierte Absicht kopieren** einen Namen für die Absicht ein und wählen Sie dann **Hinzufügen** aus.

1. Konfigurieren Sie die Absicht nach Bedarf für Ihren Bot.

**Topics**
+ [AMAZON.CancelIntent](built-in-intent-cancel.md)
+ [AMAZON.FallbackIntent](built-in-intent-fallback.md)
+ [AMAZON.HelpIntent](built-in-intent-help.md)
+ [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md)
+ [AMAZON.PauseIntent](built-in-intent-pause.md)
+ [AMAZON.RepeatIntent](built-in-intent-repeat.md)
+ [AMAZON.ResumeIntent](built-in-intent-resume.md)
+ [AMAZON.StartOverIntent](built-in-intent-start-over.md)
+ [AMAZON.StopIntent](built-in-intent-stop.md)

**Anmerkung**  
Für das Gebietsschema Englisch (USA) (en-US) unterstützt Amazon Lex Intents aus den integrierten Alexa-Standardabsichten. Die Liste der integrierten Absichten finden Sie unter [Standard Built-in Intents (Integrierte Standardabsichten)](https://developer.amazon.com/docs/custom-skills/standard-built-in-intents.html) im *Alexa Skills Kit*.  
Amazon Lex unterstützt die folgenden Absichten nicht:  
`AMAZON.YesIntent`
`AMAZON.NoIntent` 
Die Absichten in der [Built-in Intent Library (Bibliothek integrierter Absichten)](https://developer.amazon.com/docs/custom-skills/built-in-intent-library.html) im *Alexa Skills Kit*

# AMAZON.CancelIntent
<a name="built-in-intent-cancel"></a>

Reagiert auf Wörter und Ausdrücke, die darauf hinweisen, dass der Benutzer die aktuelle Interaktion abbrechen möchte. Ihre Anwendung kann diese Absicht nutzen, um Slot-Typ-Werte und andere Attribute zu entfernen, bevor die Interaktion mit dem Benutzer beendet wird.

Allgemeine Äußerungen:
+ abbrechen
+ egal
+ vergiss es

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

Wenn die Eingabe eines Benutzers zu einer Absicht nicht den Erwartungen eines Bot entspricht, können Sie Amazon Lex so konfigurieren, dass eine *Fallback-Absicht* aufgerufen wird. Wenn beispielsweise die Benutzereingabe „Ich möchte Süßigkeiten bestellen“ nicht mit einer Absicht in Ihrem `OrderFlowers` Bot übereinstimmt, ruft Amazon Lex die Fallback-Absicht auf, um die Antwort zu bearbeiten.

Sie fügen eine Fallback-Absicht hinzu, indem Sie Ihrem Bot den integrierten Absichtstyp `AMAZON.FallbackIntent` hinzufügen. Sie können die Absicht mithilfe der [PutBot](API_PutBot.md)-Operation oder durch Auswahl der Absicht aus der Liste der integrierten Absichten in der Konsole angeben. 

Das Aufrufen einer Fallback-Absicht verwendet zwei Schritte. Im ersten Schritt wird die Fallback-Absicht basierend auf der Eingabe des Benutzers abgeglichen. Wenn die Fallback-Absicht übereinstimmt, hängt das Verhalten des Bots von der Anzahl der Wiederholungen ab, die für eine Eingabeaufforderung konfiguriert wurden. Wenn beispielsweise die maximale Anzahl von Versuchen, eine Absicht zu bestimmen, 2 beträgt, gibt der Bot die Klärungsaufforderung des Bots zweimal zurück, bevor er die Fallback-Absicht aufruft.

Amazon Lex entspricht in den folgenden Situationen der Fallback-Absicht: 
+ Die Eingabe des Benutzers für eine Absicht stimmt nicht mit der Eingabe überein, die der Bot erwartet
+ Audioeingabe ist Rauschen, oder Texteingaben werden nicht als Wörter erkannt.
+ Die Benutzereingabe ist mehrdeutig und Amazon Lex kann nicht bestimmen, welche Absicht aufgerufen werden soll.

Die Fallback-Absicht wird aufgerufen, wenn:
+ Der Bot erkennt die Benutzereingabe nach der konfigurierten Anzahl von Versuchen zur Klärung, wenn die Konversation gestartet wird, nicht als Absicht.
+ Eine Absicht erkennt die Benutzereingabe nach der konfigurierten Anzahl von Versuchen nicht als Slot-Wert.
+ Eine Absicht erkennt die Benutzereingabe nicht als Antwort auf eine Bestätigungsaufforderung nach der konfigurierten Anzahl von Versuchen.

Sie können Folgendes mit einer Fallback-Absicht verwenden:
+ Eine Lambda-Funktion zur Erfüllung
+ Eine Schlussfolgerung
+ Eine Follow-up-Eingabeaufforderung

Es ist nicht möglich, Folgendes zu einer Fallback-Absicht hinzuzufügen:
+ Äußerungen
+ Slots
+ Eine Lambda-Funktion zur Initialisierung und Validierung 
+ Eine Bestätigungsaufforderung

Wenn Sie sowohl eine Stornierungsanweisung als auch eine Fallback-Absicht für einen Bot konfiguriert haben, verwendet Amazon Lex die Fallback-Absicht. Wenn Sie möchten, dass Ihr Bot über eine Stornoerklärung verfügt, können Sie die Fulfillment-Funktion für die alternative Absicht verwenden, um dasselbe Verhalten wie eine Stornoerklärung zu erzielen. Weitere Informationen finden Sie im Parameter `abortStatement` der [PutBot](API_PutBot.md)-Operation.

## Verwenden von Klärungsaufforderungen
<a name="fallback-clarification"></a>

Wenn Sie Ihrem Bot eine Klärungsaufforderung bereitstellen, wird über die Eingabeaufforderung eine gültige Absicht vom Benutzer angefordert. Die Klärungsaufforderung wird so oft, wie von Ihnen konfiguriert, wiederholt. Danach wird die Fallback-Absicht aufgerufen.

Wenn Sie bei der Erstellung eines Bots keine Klarstellungsaufforderung einrichten und der Benutzer die Konversation nicht mit einer gültigen Absicht beginnt, ruft Amazon Lex sofort Ihre Fallback-Absicht auf. 

Wenn Sie eine Fallback-Absicht ohne Aufforderung zur Klärung verwenden, ruft Amazon Lex den Fallback unter den folgenden Umständen nicht auf:
+ Wenn der Benutzer auf eine Follow-up-Aufforderung antwortet, aber keine Absicht bereitstellt. Zum Beispiel als Antwort auf eine Folgeaufforderung mit der Aufschrift „Möchten Sie heute noch etwas anderes?“ , sagt der Benutzer „Ja“. Amazon Lex gibt die Ausnahme 400 Bad Request zurück, da es keine Klarstellungsaufforderung gibt, die an den Benutzer gesendet werden muss, um eine Absicht zu erhalten.
+ Wenn Sie eine AWS Lambda Funktion verwenden, geben Sie einen `ElicitIntent` Dialogtyp zurück. Da Amazon Lex keine Klarstellungsaufforderung hat, um eine Absicht des Benutzers zu erhalten, gibt es die Ausnahme 400 Bad Request zurück.
+ Wenn Sie die `PutSession`-Operation verwenden, senden Sie einen `ElicitIntent`-Dialogtyp. Da Amazon Lex keine Klarstellungsaufforderung hat, um eine Absicht des Benutzers zu erhalten, gibt es die Ausnahme 400 Bad Request zurück.

## Verwenden einer Lambda-Funktion mit einer Fallback-Absicht
<a name="invoke-fallback"></a>

Wenn eine Fallback-Absicht aufgerufen wird, hängt die Antwort von der Einstellung des Parameters `fulfillmentActivity` für die Operation [PutIntent](API_PutIntent.md) ab. Der Bot führt einen der folgenden Schritte aus:
+ Gibt die Absicht-Informationen an die Client-Anwendung zurück.
+ Ruft die Fulfillment-Lambda-Funktion auf. Sie ruft die Funktion mit den Sitzungsvariablen auf, die für die Sitzung festgelegt sind.

Weitere Informationen zum Festlegen der Antwort, wenn eine Fallback-Absicht aufgerufen wird, finden Sie im Parameter `fulfillmentActivity` der [PutIntent](API_PutIntent.md)-Operation. 

Wenn Sie die Fulfillment-Lambda-Funktion in Ihrer Fallback-Absicht verwenden, können Sie diese Funktion verwenden, um eine andere Absicht aufzurufen oder um irgendeine Form der Kommunikation mit dem Benutzer durchzuführen, z. B. eine Rückrufnummer zu sammeln oder eine Sitzung mit einem Kundendienstmitarbeiter zu eröffnen.

Sie können in einer Fallback-Intent-Lambda-Funktion jede Aktion ausführen, die Sie in der Fulfillment-Funktion für jede andere Absicht ausführen können. Weitere Informationen zum Erstellen einer Fulfillment-Funktion mithilfe von finden Sie AWS Lambda unter. [Verwendung von Lambda-Funktionen](using-lambda.md)

Eine Fallback-Absicht kann mehrmals in derselben Sitzung aufgerufen werden. Nehmen wir beispielsweise an, dass Ihre Lambda-Funktion die `ElicitIntent` Dialogaktion verwendet, um den Benutzer zu einer anderen Absicht aufzufordern. Wenn Amazon Lex nach der konfigurierten Anzahl von Versuchen nicht auf die Absicht des Benutzers schließen kann, ruft es die Fallback-Absicht erneut auf. Außerdem wird die Fallback-Absicht aufgerufen, wenn der Benutzer nach der konfigurierten Anzahl von Versuchen nicht mit einem gültigen Slot-Wert antwortet.

Sie können eine Lambda-Funktion so konfigurieren, dass sie mithilfe einer Sitzungsvariablen nachverfolgt, wie oft die Fallback-Absicht aufgerufen wird. Ihre Lambda-Funktion kann eine andere Aktion ausführen, wenn sie öfter aufgerufen wird als der Schwellenwert, den Sie in Ihrer Lambda-Funktion festgelegt haben. Weitere Informationen zu Sitzungsvariablen finden Sie unter [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md).

# AMAZON.HelpIntent
<a name="built-in-intent-help"></a>

Reagiert auf Wörter oder Ausdrücke, die darauf hinweisen, dass der Benutzer bei der Interaktion mit Ihrem Bot Hilfe benötigt. Wenn diese Absicht aufgerufen wird, können Sie Ihre Lambda-Funktion oder -Anwendung so konfigurieren, dass sie Informationen über die Fähigkeiten Ihres Bots bereitstellt, Folgefragen zu Hilfebereichen stellt oder die Interaktion einem menschlichen Agenten übergibt. 

Allgemeine Äußerungen:
+ help
+ hilf mir
+ kannst du mir helfen

# AMAZON.KendraSearchIntent
<a name="built-in-intent-kendra-search"></a>

Verwenden Sie die Absicht, um nach Dokumenten zu suchen, die Sie mit Amazon Kendra indexiert haben. `AMAZON.KendraSearchIntent` Wenn Amazon Lex die nächste Aktion in einer Konversation mit dem Benutzer nicht bestimmen kann, löst es die Suchabsicht aus.

Das `AMAZON.KendraSearchIntent` ist nur in den Regionen Englisch (US) (en-US) und in den Regionen USA Ost (Nord-Virginia), USA West (Oregon) und Europa (Irland) verfügbar.

Amazon Kendra ist ein machine-learning-based Suchdienst, der Dokumente in natürlicher Sprache wie PDF-Dokumente oder Microsoft Word-Dateien indexiert. Es kann indizierte Dokumente durchsuchen und die folgenden Arten von Antworten auf Fragen zurückgeben:
+ Antworten 
+ Einträge aus häufig gestellten Fragen, die die Fragen möglicherweise beantworten
+ Dokumente, die sich auf die Fragen beziehen

Ein Beispiel für die Verwendung von `AMAZON.KendraSearchIntent` finden Sie unter [Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen](faq-bot-kendra-search.md).

Wenn Sie eine `AMAZON.KendraSearchIntent` Absicht für Ihren Bot konfigurieren, ruft Amazon Lex die Absicht immer dann auf, wenn es die Benutzeräußerung für einen Slot oder eine Absicht nicht ermitteln kann. Wenn Ihr Bot beispielsweise eine Antwort für einen Slot-Typ namens „Pizzabelag“ auslöst und der Benutzer sagt: „Was ist eine Pizza? „, ruft Amazon Lex `AMAZON.KendraSearchIntent` an, um die Frage zu beantworten. Wenn keine Antwort von Amazon Kendra eingeht, wird die Konversation wie im Bot konfiguriert fortgesetzt.

Wenn Sie `AMAZON.KendraSearchIntent` sowohl das als auch das `AMAZON.FallbackIntent` im selben Bot verwenden, verwendet Amazon Lex die Absichten wie folgt:

1. Amazon Lex nennt das`AMAZON.KendraSearchIntent`. Die Absicht nennt Amazon Kendra `Query` Operation.

1. Wenn Amazon Kendra eine Antwort zurückgibt, zeigt Amazon Lex dem Benutzer das Ergebnis an.

1. Wenn Amazon Kendra keine Antwort erhält, fordert Amazon Lex den Benutzer erneut auf. Die nächste Aktion hängt von der Antwort des Benutzers ab.
   + Wenn die Antwort des Benutzers eine Äußerung enthält, die Amazon Lex erkennt, z. B. das Ausfüllen eines Slot-Werts oder die Bestätigung einer Absicht, wird die Konversation mit dem Benutzer wie für den Bot konfiguriert fortgesetzt.
   + Wenn die Antwort des Benutzers keine Äußerung enthält, die Amazon Lex erkennt, ruft Amazon Lex den `Query` Vorgang erneut auf.

1. Wenn nach der konfigurierten Anzahl von Wiederholungen keine Antwort erfolgt, ruft Amazon Lex den an `AMAZON.FallbackIntent` und beendet die Konversation mit dem Benutzer.

Es gibt drei Möglichkeiten, mit dem eine Anfrage `AMAZON.KendraSearchIntent` an Amazon Kendra zu stellen:
+ Lassen Sie die Suchabsicht die Anfrage für Sie stellen. Amazon Lex ruft Amazon Kendra mit der Äußerung des Benutzers als Suchzeichenfolge auf. Wenn Sie die Absicht erstellen, können Sie eine Abfragefilterzeichenfolge definieren, die die Anzahl der Antworten begrenzt, die Amazon Kendra zurückgibt. Amazon Lex verwendet den Filter in der Abfrageanforderung.
+ Fügen Sie der Anfrage zusätzliche Abfrageparameter hinzu, um die Suchergebnisse mithilfe Ihrer Dialog-Lambda-Funktion einzugrenzen. Sie fügen der `delegate` Dialogaktion ein `kendraQueryFilterString` Feld hinzu, Amazon Kendra Kendra-Abfrageparameter enthält. Wenn Sie der Anfrage mit der Lambda-Funktion Abfrageparameter hinzufügen, haben diese Vorrang vor dem Abfragefilter, den Sie bei der Erstellung der Absicht definiert haben.
+ Erstellen Sie eine neue Abfrage mit der Dialog-Lambda-Funktion. Sie können eine vollständige Amazon Kendra Kendra-Abfrageanforderung erstellen, die Amazon Lex sendet. Sie legen die Abfrage im Feld `kendraQueryRequestPayload` in der Dialogaktion `delegate` fest. Das Feld `kendraQueryRequestPayload` hat Vorrang vor dem Feld `kendraQueryFilterString`.

Um den `queryFilterString` Parameter anzugeben, wenn Sie einen Bot erstellen, oder um das `kendraQueryFilterString` Feld anzugeben, wenn Sie die `delegate` Aktion in einer Dialog-Lambda-Funktion aufrufen, geben Sie eine Zeichenfolge an, die als Attributfilter für die Amazon Kendra Kendra-Abfrage verwendet wird. Wenn die Zeichenfolge kein gültiger Attributfilter ist, wird zur Laufzeit die Ausnahme `InvalidBotConfigException` zurückgegeben. Weitere Informationen zu Attributfiltern finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Abfragen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*.

Um die Abfrage zu kontrollieren, die Amazon Lex an Amazon Kendra sendet, können Sie in dem `kendraQueryRequestPayload` Feld Ihrer Dialog-Lambda-Funktion eine Abfrage angeben. Wenn die Abfrage nicht gültig ist, gibt Amazon Lex eine `InvalidLambdaResponseException` Ausnahme zurück. Weitere Informationen finden Sie unter [Abfragevorgang](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) im *Amazon Kendra Developer Guide*.

Ein Beispiel für die Verwendung von `AMAZON.KendraSearchIntent` finden Sie unter [Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen](faq-bot-kendra-search.md).

## IAM-Richtlinie für Amazon Kendra Search
<a name="kendra-search-iam"></a>

Um den `AMAZON.KendraSearchIntent` Intent zu verwenden, müssen Sie eine Rolle verwenden, die AWS Identity and Access Management (IAM) -Richtlinien bereitstellt, die es Amazon Lex ermöglichen, eine Runtime-Rolle anzunehmen, die berechtigt ist, den Amazon Kendra `Query` Kendra-Intent aufzurufen. Die IAM-Einstellungen, die Sie verwenden, hängen davon ab, ob Sie die `AMAZON.KendraSearchIntent` mit der Amazon Lex Lex-Konsole oder mit einem AWS-SDK oder dem AWS Command Line Interface (AWS CLI) erstellen. Wenn Sie die Konsole verwenden, können Sie wählen, ob Sie der mit dem Amazon Lex-Service verbundenen Rolle die Berechtigung zum Aufrufen von Amazon Kendra hinzufügen oder eine Rolle speziell für den Aufruf des Amazon `Query` Kendra Kendra-Vorgangs verwenden möchten. Wenn Sie das AWS CLI oder ein SDK verwenden, um die Absicht zu erstellen, müssen Sie eine Rolle verwenden, die speziell für den Aufruf der Operation bestimmt ist. `Query`

### Anfügen von Berechtigungen
<a name="kendra-iam-attach"></a>

Sie können die Konsole verwenden, um der standardmäßigen serviceverknüpften Rolle von Amazon Lex Berechtigungen für den Zugriff auf den Amazon `Query` Kendra-Vorgang zuzuweisen. Wenn Sie der serviceverknüpften Rolle Berechtigungen zuordnen, müssen Sie keine spezielle Runtime-Rolle erstellen und verwalten, um eine Verbindung zum Amazon Kendra Kendra-Index herzustellen.

Der Benutzer, die Rolle oder die Gruppe, die Sie für den Zugriff auf die Amazon Lex-Konsole verwenden, muss über Berechtigungen zur Verwaltung von Rollenrichtlinien verfügen. Fügen Sie der Konsolenzugriffsrolle die folgende IAM-Richtlinie hinzu. Wenn Sie diese Berechtigungen erteilen, verfügt die Rolle über Berechtigungen zum Ändern der vorhandenen Richtlinie für die serviceverknüpfte Rolle. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:GetRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        }
    ]
}
```

------

### Angeben einer Rolle
<a name="kendra-iam-role"></a>

Sie können die Konsole, die oder die API verwenden AWS CLI, um eine Laufzeitrolle anzugeben, die beim Aufrufen des Amazon Kendra `Query` Kendra-Vorgangs verwendet werden soll. 

Der Benutzer, die Rolle oder die Gruppe, die Sie zur Angabe der Runtime-Rolle verwenden, muss über die `iam:PassRole` entsprechende Berechtigung verfügen. Die folgende Richtlinie definiert die Berechtigung. Sie können die Bedingungskontextschlüssel `iam:AssociatedResourceArn` und `iam:PassedToService` verwenden, um den Umfang der Berechtigungen weiter einzuschränken. Weitere Informationen finden Sie unter [IAM und AWS STS Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) im *AWS Identity and Access Management Benutzerhandbuch*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

Die Runtime-Rolle, die Amazon Lex zum Aufrufen von Amazon Kendra verwenden muss, muss über die `kendra:Query` entsprechenden Berechtigungen verfügen. Wenn Sie eine bestehende IAM-Rolle für die Erlaubnis zum Aufrufen des Amazon Kendra `Query` Kendra-Vorgangs verwenden, muss der Rolle die folgende Richtlinie beigefügt sein.

Sie können die IAM-Konsole, die IAM-API oder die verwenden, um eine Richtlinie AWS CLI zu erstellen und sie einer Rolle zuzuordnen. In diesen Anweisungen wird die AWS CLI zum Erstellen der Rolle und Richtlinien verwendet.

**Anmerkung**  
Der folgende Code ist für Linux und MacOS formatiert. Ersetzen Sie unter Windows das Linux-Zeilenfortsetzungszeichen (\$1) durch ein Caret-Zeichen (^).

**So fügen Sie einer Rolle die Berechtigung für die Query-Operation hinzu**

1. Erstellen Sie im aktuellen Verzeichnis ein Dokument mit dem Namen **KendraQueryPolicy.json**, fügen Sie ihm folgenden Code hinzu und speichern Sie es.

1. Führen Sie in der den folgenden Befehl aus AWS CLI, um die IAM-Richtlinie für die Ausführung des Amazon Kendra `Query` Kendra-Vorgangs zu erstellen.

   ```
   aws iam create-policy \
       --policy-name query-policy-name \
       --policy-document file://KendraQueryPolicy.json
   ```

1. Hängen Sie die Richtlinie an die IAM-Rolle an, mit der Sie den Vorgang aufrufen. `Query`

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/query-policy-name
       --role-name role-name
   ```

Sie können wählen, ob Sie die mit dem Service verknüpfte Amazon Lex Lex-Rolle aktualisieren oder eine Rolle verwenden möchten, die Sie bei der Erstellung der `AMAZON.KendraSearchIntent` für Ihren Bot erstellt haben. Das folgende Verfahren zeigt, wie Sie die zu verwendende IAM-Rolle auswählen.

**Um die Runtime-Rolle für AMAZON anzugeben. KendraSearchIntent**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot, dem Sie `AMAZON.KendraSearchIntent` hinzufügen möchten.

1. Wählen Sie das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben Sie unter **Search intents (Absichten suchen)** **AMAZON.KendraSearchIntent** ein und wählen Sie dann **Add (Hinzufügen)**.

1. Geben Sie unter **Copy built-in intent (Integrierte Absicht kopieren)** einen Namen für die Absicht ein, z. B. **KendraSearchIntent**, und wählen Sie dann **Add (Hinzufügen)**.

1. Öffnen Sie den Abschnitt **Amazon Kendra query (Amazon Kendra-Abfrage)**.

1. Wählen Sie unter **IAM role (IAM-Rolle)** eine der folgenden Optionen:
   + Um die mit dem Service verknüpfte Amazon Lex Lex-Rolle zu aktualisieren, sodass Ihr Bot Amazon Kendra Kendra-Indizes abfragen kann, wählen Sie Amazon Kendra **Kendra-Berechtigungen hinzufügen**.
   + Um eine Rolle zu verwenden, die berechtigt ist, den Amazon Kendra `Query` Kendra-Vorgang aufzurufen, wählen Sie **Bestehende Rolle verwenden**.

## Verwenden von Anforderungs- und Sitzungsattributen als Filter
<a name="kendra-search-filter"></a>

Um die Antwort von Amazon Kendra auf Elemente zu filtern, die sich auf die aktuelle Konversation beziehen, verwenden Sie Sitzungs- und Anforderungsattribute als Filter, indem Sie den `queryFilterString` Parameter hinzufügen, wenn Sie Ihren Bot erstellen. Sie geben einen Platzhalter für das Attribut an, wenn Sie die Absicht erstellen, und dann ersetzt Amazon Lex V2 einen Wert, bevor Amazon Kendra aufgerufen wird. Weitere Informationen zu Anforderungsattributen finden Sie unter [Festlegen von Anforderungsattributen](context-mgmt-request-attribs.md). Weitere Informationen über Sitzungsattribute finden Sie unter [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md).

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der eine Zeichenfolge verwendet, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "City", "value": {"stringValue": "Seattle"}}}"
```

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der ein Sitzungsattribut verwendet, das aufgerufen wird`"SourceURI"`, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "SourceURI","value": {"stringValue": "[FileURL]"}}}"
```

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der ein Anforderungsattribut verwendet, das aufgerufen wird`"DepartmentName"`, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "Department","value": {"stringValue": "((DepartmentName))"}}}"
```

Die `AMAZON.KendraSearchInteng` Filter verwenden dasselbe Format wie die Amazon Kendra Kendra-Suchfilter. Weitere Informationen finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Suchergebnissen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*.

Die mit dem verwendete Abfragefilterzeichenfolge `AMAZON.KendraSearchIntent` muss Kleinbuchstaben für den ersten Buchstaben jedes Filters verwenden. Der folgende ist beispielsweise ein gültiger Abfragefilter für. `AMAZON.KendraSearchIntent`

```
{
    "andAllFilters": [
        {
            "equalsTo": {
                "key": "City",
                "value": {
                    "stringValue": "Seattle"
                }
            }
        },
        {
            "equalsTo": {
                "key": "State",
                "value": {
                    "stringValue": "Washington"
                }
            }
        }
    ]
}
```

## Verwenden der Suchantwort
<a name="kendra-search-response"></a>

Amazon Kendra gibt die Antwort auf eine Suche in der Absichtserklärung zurück. `conclusion` Die Absicht muss eine `conclusion` Aussage enthalten, es sei denn, eine Fulfillment-Lambda-Funktion erzeugt eine Abschlussnachricht.

Amazon Kendra bietet vier Arten von Antworten. 
+ `x-amz-lex:kendra-search-response-question_answer-question-<N>`— Die Frage aus einer häufig gestellten Frage, die der Suche entspricht.
+ `x-amz-lex:kendra-search-response-question_answer-answer-<N>`— Die Antwort aus einer häufig gestellten Frage, die der Suche entspricht.
+ `x-amz-lex:kendra-search-response-document-<N>`— Ein Auszug aus einem Dokument im Index, der sich auf den Text der Äußerung bezieht.
+ `x-amz-lex:kendra-search-response-document-link-<N>`— Die URL eines Dokuments im Index, das sich auf den Text der Äußerung bezieht.
+ `x-amz-lex:kendra-search-response-answer-<N>`— Ein Auszug aus einem Dokument im Index, das die Frage beantwortet.

Die Antworten werden in `request`-Attributen zurückgegeben. Für jedes Attribut kann es bis zu fünf Antworten geben, nummeriert von 1 bis 5. Weitere Informationen zu Antworten finden Sie unter [Antworttypen](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) im *Amazon Kendra Developer Guide*. 

Die Anweisung `conclusion` muss eine oder mehrere Nachrichtengruppen aufweisen. Jede Nachrichtengruppe enthält eine oder mehrere Nachrichten. Jede Nachricht kann eine oder mehrere Platzhaltervariablen enthalten, die in der Antwort von Amazon Kendra durch Anforderungsattribute ersetzt werden. In der Nachrichtengruppe muss mindestens eine Nachricht vorhanden sein, in der alle Variablen in der Nachricht durch Anforderungsattributwerte in der Laufzeitantwort ersetzt werden, oder in der Gruppe muss eine Nachricht ohne Platzhaltervariablen vorhanden sein. Die Anforderungsattribute werden durch doppelte Klammern ("((" "))") hervorgehoben. Die folgenden Nachrichtengruppennachrichten stimmen mit allen Antworten von Amazon Kendra überein:
+ „Ich habe eine häufig gestellte Frage für Sie gefunden: ((x-amz-lex: kendra-search-response-question \$1answer-question-1)), und die Antwort lautet ((: \$1answer-answer-1))“ x-amz-lex kendra-search-response-question
+ „Ich habe einen Auszug aus einem hilfreichen Dokument gefunden: ((: -1))“ x-amz-lex kendra-search-response-document
+ „Ich denke, die Antwort auf Ihre Fragen lautet ((x-amz-lex: kendra-search-response-answer -1))“

## Verwenden einer Lambda-Funktion zur Verwaltung der Anfrage und Antwort
<a name="kendra-search-lambda"></a>

Die `AMAZON.KendraSearchIntent` Absicht kann Ihren Dialog-Code-Hook und Ihren Fulfillment-Code-Hook verwenden, um die Anfrage an Amazon Kendra und die Antwort zu verwalten. Verwenden Sie die Dialogcode-Hook-Lambda-Funktion, wenn Sie die Anfrage ändern möchten, die Sie an Amazon Kendra senden, und die Lambda-Funktion für den Fulfillment-Code-Hook, wenn Sie die Antwort ändern möchten.

### Erstellen einer Abfrage mit dem Dialogcode-Hook
<a name="kendra-search-lambda-dialog"></a>

Sie können den Dialog-Code-Hook verwenden, um eine Abfrage zu erstellen, die an Amazon Kendra gesendet werden soll. Die Verwendung des Dialogcode-Hooks ist optional. Wenn Sie keinen Dialog-Code-Hook angeben, erstellt Amazon Lex eine Abfrage aus der Benutzeräußerung und verwendet die`queryFilterString`, die Sie bei der Konfiguration der Absicht angegeben haben, sofern Sie eine angegeben haben.

Sie können zwei Felder in der Dialog-Code-Hook-Antwort verwenden, um die Anfrage an Amazon Kendra zu ändern:
+ `kendraQueryFilterString`— Verwenden Sie diese Zeichenfolge, um Attributfilter für die Amazon Kendra Kendra-Anforderung anzugeben. Sie können die Abfrage mithilfe eines beliebigen in Ihrem Index definierten Indexfelds filtern. Informationen zur Struktur der Filterzeichenfolge finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Abfragen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*. Wenn die angegebene Filterzeichenfolge ungültig ist, erhalten Sie die Ausnahme `InvalidLambdaResponseException`. Die `kendraQueryFilterString`-Zeichenfolge überschreibt alle Abfragezeichenfolgen, die im für diese Absicht konfigurierten `queryFilterString` angegeben sind.
+ `kendraQueryRequestPayload`— Verwenden Sie diese Zeichenfolge, um eine Amazon Kendra Kendra-Abfrage anzugeben. Ihre Anfrage kann alle Funktionen von Amazon Kendra verwenden. Wenn Sie keine gültige Abfrage angeben, erhalten Sie die Ausnahme `InvalidLambdaResponseException`. Weitere Informationen finden Sie unter [Query](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) im *Amazon Kendra Developer Guide*.

Nachdem Sie den Filter oder die Abfragezeichenfolge erstellt haben, senden Sie die Antwort an Amazon Lex, wobei das `dialogAction` Feld der Antwort auf gesetzt ist`delegate`. Amazon Lex sendet die Anfrage an Amazon Kendra und sendet dann die Abfrageantwort an den Fulfillment-Code-Hook zurück.

### Verwenden des Erfüllungscode-Hooks für die Antwort
<a name="kendra-search-lambda-fulfillment"></a>

Nachdem Amazon Lex eine Anfrage an Amazon Kendra gesendet hat, wird die Abfrageantwort an die `AMAZON.KendraSearchIntent` Fulfillment-Lambda-Funktion zurückgegeben. Das Eingabeereignis für den Code-Hook enthält die vollständige Antwort von Amazon Kendra. Die Abfragedaten haben dieselbe Struktur wie die, die von der Amazon Kendra `Query` Kendra-Operation zurückgegeben wurde. Weitere Informationen finden Sie unter [Syntax der Abfrageantwort](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax) im *Amazon Kendra Developer Guide*.

Der Erfüllungscode-Hook ist optional. Wenn keine vorhanden ist oder wenn der Code-Hook keine Nachricht in der Antwort zurückgibt, verwendet Amazon Lex die `conclusion` Anweisung für Antworten.

# Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen
<a name="faq-bot-kendra-search"></a>

In diesem Beispiel wird ein Amazon Lex Lex-Bot erstellt, der einen Amazon Kendra Kendra-Index verwendet, um Antworten auf Benutzerfragen zu geben. Der Bot zu häufig gestellten Fragen verwaltet den Dialog für den Benutzer. Er verwendet die Absicht `AMAZON.KendraSearchIntent`, um den Index abzufragen und die Antwort für den Benutzer bereitzustellen. Bei der Erstellung des Bots gehen Sie folgendermaßen vor: 

1. Erstellen Sie einen Bot, mit dem Ihre Kunden interagieren werden, um Antworten von diesem Bot zu erhalten.

1. Erstellen Sie eine benutzerdefinierte Absicht. Ihr Bot muss mindestens eine Absicht mit mindestens einer Äußerung aufweisen. Diese Absicht ermöglicht die Entwicklung des Bots, wird anderweitig jedoch nicht verwendet.

1. Fügen Sie die `KendraSearchIntent` Absicht zu Ihrem Bot hinzu und konfigurieren Sie ihn so, dass er mit Ihrem Amazon Kendra Kendra-Index funktioniert.

1. Testen Sie den Bot, indem Sie Fragen stellen, die durch Dokumente beantwortet werden, die in Ihrem Amazon Kendra Kendra-Index gespeichert sind.

Bevor Sie dieses Beispiel verwenden können, müssen Sie einen Amazon Kendra Kendra-Index erstellen. Weitere Informationen finden Sie unter [Erste Schritte mit einem S3-Bucket (Konsole)](https://docs.aws.amazon.com/kendra/latest/dg/gs-console.html) im *Amazon Kendra Developer Guide*.

**So erstellen Sie einen Bot für häufig gestellte Fragen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie im Navigationsbereich **Bots**. 

1. Wählen Sie **Erstellen** aus.

1. Wählen Sie **Custom bot (Benutzerdefinierter Bot)** aus. Konfigurieren Sie den Bot wie folgt:
   + **Bot-Name** — Geben Sie dem Bot einen Namen, der seinen Zweck angibt, z. **KendraTestBot** B.
   + **Stimme ausgeben** — Wählen Sie „**Keine**“.
   + **Sitzungs-Timeout** — Geben Sie ein**5**.
   + **Stimmungsanalyse** **— Wählen Sie Nein.**
   + **COPPA** **— Wählen Sie Nein.**
   + **Speicherung von Benutzeräußerungen** — Wählen Sie **Nicht** speichern.

1. Wählen Sie **Erstellen** aus.

Um einen Bot erfolgreich erstellen zu können, müssen Sie mindestens eine Absicht mit mindestens einer Beispieläußerung erstellen. Diese Absicht ist erforderlich, um Ihren Amazon Lex Lex-Bot zu erstellen, wird jedoch nicht für die Antwort auf häufig gestellte Fragen verwendet. Die Äußerung für die Absicht darf nicht auf Fragen zutreffen, die Ihr Kunde stellt.

**So erstellen Sie die erforderliche Absicht**

1. Wählen Sie auf der Seite **Getting started with your bot (Erste Schritte mit Ihrem Bot)** die Option **Create intent (Absicht erstellen)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Create intent (Absicht erstellen)**.

1. Geben Sie im Dialogfeld **Create intent (Absicht erstellen)** einen Namen für die Absicht ein, z. B. **RequiredIntent**.

1. Geben Sie unter **Sample utterances (Beispieläußerungen)** eine Äußerung ein, z. B. **Required utterance**.

1. Wählen Sie **Absicht speichern**.

Erstellen Sie nun die Absicht, einen Amazon Kendra Kendra-Index und die Antwortnachrichten, die er zurückgeben soll, zu durchsuchen.

**Um ein AMAZON zu erstellen. KendraSearchIntent Absicht und Antwortnachricht**

1. Wählen Sie im Navigationsbereich das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben Sie in das Feld **Suchabsichten** den Text ein **AMAZON.KendraSearchIntent** und wählen Sie ihn dann aus der Liste aus.

1. Geben Sie der Absicht unter **Copy built-in intent (Integrierte Absicht kopieren)** einen Namen, z. B. **KendraSearchIntent**, und wählen Sie dann **Add (Hinzufügen)**. 

1. Wählen Sie im Absichtseditor **Amazon Kendra query (Amazon Kendra-Abfrage)**, um die Abfrageoptionen zu öffnen.

1. Wählen Sie im Menü **Amazon Kendra index (Amazon Kendra-Index)** den Index, den die Absicht durchsuchen soll.

1. Fügen Sie im Abschnitt **Response (Antwort)** die folgenden drei Meldungen hinzu:

   ```
   I found a FAQ question for you: ((x-amz-lex:kendra-search-response-question_answer-question-1)) and the answer is ((x-amz-lex:kendra-search-response-question_answer-answer-1)).
   I found an excerpt from a helpful document: ((x-amz-lex:kendra-search-response-document-1)).
   I think the answer to your questions is ((x-amz-lex:kendra-search-response-answer-1)).
   ```

1. Wählen Sie **Save intent (Absicht speichern)** und anschließend **Build (Erstellen)**, um den Bot zu erstellen.

Verwenden Sie schließlich das Konsolentestfenster, um Antworten von Ihrem Bot zu testen. Ihre Fragen sollten sich in der Domäne befinden, die Ihr Index unterstützt.

**So testen Sie Ihren Bot für häufig gestellte Fragen**

1. Geben Sie im Konsolentestfenster eine Frage für Ihren Index ein.

1. Überprüfen Sie die Antwort im Antwortbereich des Testfensters.

1. Wählen Sie **Clear chat history (Chatverlauf löschen)**, um das Testfenster für eine andere Frage zurückzusetzen.

# AMAZON.PauseIntent
<a name="built-in-intent-pause"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, eine Interaktion mit einem Bot zu unterbrechen, um später darauf zurückzukommen. Ihre Lambda-Funktion oder -Anwendung muss Absichtsdaten in Sitzungsvariablen speichern, oder Sie müssen die [GetSession](API_runtime_GetSession.md) Operation verwenden, um Absichtsdaten abzurufen, wenn Sie die aktuelle Absicht fortsetzen.

Allgemeine Äußerungen:
+ Pausieren
+ unterbrechen Sie das

# AMAZON.RepeatIntent
<a name="built-in-intent-repeat"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, die vorherige Nachricht zu wiederholen. Ihre Anwendung muss eine Lambda-Funktion verwenden, um die vorherigen Absichtsinformationen in Sitzungsvariablen zu speichern, oder Sie müssen die [GetSession](API_runtime_GetSession.md) Operation verwenden, um die vorherigen Absichtsinformationen abzurufen.

Allgemeine Äußerungen:
+ wiederholen
+ sag das nochmal
+ wiederhole das

# AMAZON.ResumeIntent
<a name="built-in-intent-resume"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, eine zuvor unterbrochene Absicht wieder aufzunehmen. Ihre Lambda-Funktion oder -Anwendung muss die Informationen verwalten, die erforderlich sind, um die vorherige Absicht wieder aufzunehmen.

Allgemeine Äußerungen:
+ fortsetzen
+ fortsetzen
+ mach weiter

# AMAZON.StartOverIntent
<a name="built-in-intent-start-over"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, die Verarbeitung der aktuellen Absicht zu beenden und von vorne zu beginnen. Sie können Ihre Lambda-Funktion oder die `PutSession` Operation verwenden, um den ersten Slot-Wert erneut abzurufen.

Allgemeine Äußerungen:
+ von vorne anfangen
+ Neu starten
+ wieder anfangen

# AMAZON.StopIntent
<a name="built-in-intent-stop"></a>

Reagiert auf Wörter und Ausdrücke, die darauf hinweisen, dass der Benutzer die Verarbeitung der aktuellen Absicht beenden und die Interaktion mit einem Bot beenden möchte. Ihre Lambda-Funktion oder -Anwendung sollte alle vorhandenen Attribute und Slot-Typwerte löschen und dann die Interaktion beenden.

Allgemeine Äußerungen:
+ stop
+ aus
+ Halt die Klappe