

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

# 使用一条描述在 Lex V2 中通过描述性机器人生成器构建机器人
<a name="nld-bots"></a>

**注意**  
在利用生成式人工智能功能之前，您必须满足以下先决条件  
有关使用 Amazon Bedrock 的定价信息，请参阅 [Amazon Bedrock 定价](https://aws.amazon.com/bedrock/pricing/)。
为机器人区域设置开启生成式人工智能功能。为此，请按照[利用生成式人工智能优化 Lex V2 机器人的创建和性能](generative-features.md)中的步骤进行操作。

描述性机器人生成器允许您利用 Amazon Bedrock 对大型语言模型的访问权限来提高机器人创建过程的效率。您可以使用自然语言进行提示，包括机器人的用途和应执行的操作。Amazon Lex V2 利用 Amazon Bedrock 的功能，根据您的描述为机器人生成相关的意图和槽位类型。选择要保留的意图和槽位类型后，您就可以迭代机器人，以根据您的特定使用案例对其进行修改。有了描述性机器人生成器，您无需为机器人手动创建意图和槽位类型，从而节省时间。

描述性机器人生成器在英语区域设置中可用（请参阅[Amazon Lex V2 支持的语言和区域设置](how-languages.md)的表中以 `en_` 开头的区域设置）。

创建机器人之前，请执行以下操作。

1. 请查看[在 Lex V2 中使用自然语言描述创建机器人时所需的权限](nld-permissions.md)中的步骤，检查您的角色是否具有正确的权限。

1. 决定要使用的描述。您可以参阅[用于描述性机器人生成器的机器人描述示例](nld-examples.md)中的机器人描述示例。

通过使用自然语言来描述机器人应能做什么，创建一个机器人。Amazon Lex V2 调用 Amazon Bedrock 模型来生成适合机器人使用案例的意图和槽位类型。您可使用控制台或 API 创建机器人。

------
#### [ Console ]

**使用描述性机器人生成器创建机器人**

1. 登录 AWS 管理控制台并在[https://console.aws.amazon.com/lexv2/家](https://console.aws.amazon.com/lexv2/home)中打开 Amazon Lex V2 控制台。

1. 在**机器人**页面中，选择**创建机器人**。

1. 对于**创建方法**，请选择**描述性机器人生成器 - GenAI**。

1. 为机器人提供名称和可选描述，配置 IAM 权限，并选择机器人是否受 COPPA 约束。然后选择**下一步**。

1. 选择创建机器人时所用的语言、机器人的语音以及意图分类的置信度阈值（有关更多信息，请参阅[使用意图置信度分数改善 Lex V2 的意图选择](using-intent-confidence-scores.md)）。

1. 在**描述性机器人生成器 - GenAI** 下，为要创建的机器人提供描述。您的描述应既*详细* 又*准确*，以帮助为机器人生成适当和充分的意图。包括一份改进意图创建过程的操作列表。

1. 在**选择模型**下选择模型提供商和模型。

1. 要在其他区域设置中创建机器人，请选择**添加其他语言**。添加完语言后，请选择**完成**。Amazon Lex V2 会创建您的机器人，而描述性机器人生成器会为其生成意图和槽位。生成区域设置后，横幅将从蓝色变为绿色。选择**查看**以查看生成的意图和槽位类型。
**注意**  
描述性机器人生成器目前仅在英语区域设置中可用。但是，您可以在创建机器人后将其复制到非英语区域设置。

**查看生成的意图和槽位类型，并将其添加到机器人**

1. 如果有足够多的意图和槽位类型适用于机器人的使用案例，您就可以查看生成的意图。

   1. 查看**生成的意图**。

      1. 选中意图旁边的复选框，将此意图从要添加到机器人的意图列表中删除。

      1. 选择意图名称以查看为此意图生成的**示例言语**和**槽位**。

      1. 默认情况下，所有言语和槽位都处于选中状态。选中一个复选框可将该项目从意图中删除。选择**添加至选择**可将选中的项目保留在意图中。

   1. 查看**生成的槽位类型**。

      1. 选中槽位类型旁边的复选框，将该槽位类型从要添加到机器人的意图列表中删除。

      1. 将槽位类型添加到机器人后，可以为其添加值

1. 如果您对自己的意图和槽位类型感到满意，请选择页面顶部的**添加意图和槽位类型**，将意图和槽位类型添加到机器人。

1. 资源添加完毕后，会显示绿色的成功横幅。转到**意图**和**槽位类型**以编辑生成的意图和槽位类型，并添加更多值。

1. 如果**生成的意图**和**生成的槽位类型**大多不适用于要创建的机器人，请执行以下步骤。

   1. 在**描述性机器人生成器详细信息**部分中选择**新生成**。

   1. 重写提示并选择**重新生成**以生成新的意图和槽位类型。如果您使用不同的模型，结果会有所不同。
**重要**  
不能保证会生成相同的意图和槽位。每次重新生成意图和槽位类型时都要收费。

------
#### [ API ]

**使用自然语言描述创建机器人**

当通过 API 使用描述性机器人生成器时，它会在 Amazon S3 存储桶中的 .zip 文件中创建机器人定义。您下载此文件并将机器人定义导入 Amazon Lex V2 以创建机器人。

1. 发送创建新机器人的[CreateBot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBot.html)请求。然后发送[CreateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotLocale.html)请求为机器人创建语言环境。

1. 发送[StartBotResourceGeneration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_StartBotResourceGeneration.html)请求，指定机器人的 ID、版本和区域设置。您可以使用 `DRAFT` 作为机器人版本。在 `generationInputPrompt` 字段中提供提示。您的描述应既*详细* 又*准确*，以帮助为机器人生成适当和充分的意图。包括一份改进意图创建过程的操作列表。

1. 记下响应中的 `generationId`。

1. 使用`generationId`您在回复中收到的发送[DescribeBotResourceGeneration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DescribeBotResourceGeneration.html)`StartBotResourceGeneration`请求。包括机器人 ID、版本和区域设置。

1. 如果 `DescribeBotResourceGeneration` 响应中的 `generationStatus` 是 `Complete`，则也将填充 `generatedBotLocaleUrl` 字段。按照[下载对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)中的步骤，使用此 Amazon S3 URI 下载机器人定义。

**检查生成的机器人定义并将其导入**

1. 按照[下载对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)中的步骤，使用 `DescribeBotResourceGeneration` 响应的 `generationStatus` 中的 Amazon S3 URI 下载机器人定义。

1. 您可以通过编辑文件，根据机器人的特定使用案例直接修改生成的内容。您也可以发送另一个 `StartBotResourceGeneration` 请求来重新生成意图和槽位。
**重要**  
不能保证会生成相同的意图和槽位。每次重新生成意图和槽位类型时都要收费。

1. 要导入机器人定义，请按照[在 Lex V2 中导入机器人](import.md)中的步骤操作。

1. 导入后，您可以使用、和[UpdateSlotType](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlotType.html)操作修改生成的意图和插槽。[UpdateIntent[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)

要列出有关机器人区域设置的所有生成项目的元数据，请使用[ListBotResourceGenerations](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ListBotResourceGenerations.html)操作。使用 `DescribeBotResourcGeneration` 请求中任何返回的 `generationId` 值来检索已生成机器人定义的 Amazon S3 URI。

------

**Topics**
+ [用于描述性机器人生成器的机器人描述示例](nld-examples.md)
+ [在 Lex V2 中使用自然语言描述创建机器人时所需的权限](nld-permissions.md)