

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 示例：为 Amazon Kendra 索引创建常见问题机器人
<a name="faq-bot-kendra-search"></a>

此示例创建一个使用 Amazon Kendra 索引为用户的问题提供答案的 Amazon Lex V2 机器人。常见问题解答自动程序为用户管理对话。它使用 `AMAZON.KendraSearchIntent` 意图查询索引并向用户提供响应。以下将简要地介绍使用 Amazon Kendra 索引创建常见问题机器人的方法：

1. 创建一个自动程序，您的客户将与其交互以从其获取答案。

1. 创建自定义意图。由于 `AMAZON.KendraSearchIntent` 和 `AMAZON.FallbackIntent` 是替代意图，因此您的机器人需要至少一个其他意图，该至少一个其他意图中必须包含至少一个言语。此意图使您能够构建自动程序，但不用于其他方面。因此，您的常见问题机器人将包含至少三个意图，如下图所示：  
![\[具有三个意图的 Kendra 常见问题机器人\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/kendra-faqbot/kendra-intents.png)

1. 将 `AMAZON.KendraSearchIntent` 意图添加到机器人中，并将其配置为与 [Amazon Kendra 索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)配合使用。

1. 测试该机器人，即执行查询并验证您的 Amazon Kendra 索引的结果是否为回答查询的文档。

**先决条件**

在使用此示例之前，您需要创建 Amazon Kendra 索引。有关更多信息，请参阅《Amazon Kendra 开发人员指南》**中的 [Amazon Kendra 控制台入门](https://docs.aws.amazon.com/kendra/latest/dg/gs-console.html)。在本示例中，选择示例数据集（**AWS 示例文档**）作为您的数据来源。

**要创建常见问题机器人，请执行以下操作：**

1. 登录 AWS 管理控制台并通过以下网址打开 Amazon Lex 控制台[https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)。

1. 在导航窗格中，选择**自动程序**。

1. 选择**创建机器人**。

   1.  对于**创建方法**，请选择**创建空白机器人**。

   1.  在**机器人配置**部分中，指定指示机器人用途的机器人名称（例如 **KendraTestBot**），并且指定描述（可选）。该名称在您的账户中必须是唯一的。

   1.  在 **IAM 权限**部分中，选择**使用基本 Amazon Lex 权限创建角色**。这将创建一个 [AWS 身份和访问管理 (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 角色，该角色具有 Amazon Lex V2 运行您的机器人所需的权限。

   1.  在**儿童在线隐私保护法（COPPA）**部分中，选择**否**。

   1.  在**空闲会话超时**和**高级设置**部分中，保留默认值并且选择**下一步**。

   1.  此时，系统将转至**为机器人添加语言**部分。在**语音交互**下的菜单中，选择**无。这只是一个基于文本的应用程序。**对于其余字段保留默认设置。

   1.  选择**完成**。Amazon Lex V2 会创建您的机器人和一个名为的默认意图 **NewIntent**，然后将您带到配置此意图的页面 

要成功构建机器人，您必须创建独立于 `AMAZON.FallbackIntent` 和 `AMAZON.KendraSearchIntent` 的至少一个意图。此意图是构建 Amazon Lex V2 机器人所必需的，但不用于常见问题响应。此意图必须包含至少一个示例言语，并且该言语不得适用于客户提出的任何问题。

**要创建所需的意图，请执行以下操作：**

1.  在**意图详细信息**部分中，指定意图的名称，例如 **RequiredIntent**。

1.  在**示例言语**部分，在**添加言语**旁边的框中键入言语，例如 **Required utterance**。然后选择**添加言语**。

1. 选择**保存意图**。

创建搜索 Amazon Kendra 索引的意图以及此意图应返回的响应消息。

**创建亚马逊。 KendraSearchIntent 意图和响应消息：**

1.  在导航窗格中选择**返回意图列表**，以返回到机器人的**意图**页面。选择**添加意图**，然后从下拉菜单中选择**使用内置意图**。

1.  在弹出的框中，选择**内置意图**下的菜单。在搜索栏中输入 **AMAZON.KendraSearchIntent**，然后在列表中将其选中。

1.  指定此意图的名称，例如 **KendraSearchIntent**。

1.  从 **Amazon Kendra 索引**下拉菜单中，选择您需要通过此意图搜索的索引。您在**先决条件**部分中创建的索引应为可用状态。

1.  选择**添加**。

1. 在意图编辑器中，向下滚动至**履行**部分，选择向右箭头展开该部分，然后在**成功履行时**下的框中添加以下消息：

   ```
   I found a link to a document that could help you: ((x-amz-lex:kendra-search-response-document-link-1)).
   ```  
![\[添加履行响应\]](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/kendra-faqbot/kendra-fulfillment-response.gif)

    有关 Amazon Kendra 搜索响应的更多信息，请参阅[使用搜索响应](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html#kendra-search-response)。

1. 选择**保存意图**，然后选择**构建**以构建自动程序。机器人准备就绪后，屏幕顶部的横幅会变为绿色并显示成功消息。

最后，使用控制台测试窗口来测试来自自动程序的响应。

**要测试常见问题机器人，请执行以下操作：**

1.  成功构建机器人后，选择**测试**。

1.  在控制台测试窗口中输入 **What is Amazon Kendra?**。验证机器人是否使用链接进行响应。

1.  有关配置的更多信息`AMAZON.KendraSearchIntent`，请参阅[https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html](https://docs.aws.amazon.com/lexv2/latest/dg/built-in-intent-kendra-search.html)和[KendraConfiguration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_KendraConfiguration.html)。