

终止支持通知：2025年9月15日， AWS 我们将停止对Amazon Lex V1的支持。2025 年 9 月 15 日之后，您将无法再访问 Amazon Lex V1 控制台或 Amazon Lex V1 资源。如果您使用的是 Amazon Lex V2，请改为参阅 [Amazon Lex V2 指南](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)。

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

# 练习 2：添加新表达 (AWS CLI)
<a name="gs-cli-update-utterance"></a>

为完善 Amazon Lex 用来识别用户请求的机器学习模型，我们再向机器人添加一个示例语句。

添加新表达的过程分为四步。

1. 使用 [GetIntent](API_GetIntent.md) 操作从 Amazon Lex 获取意图。

1. 更新目的。

1. 使用 [PutIntent](API_PutIntent.md) 操作将更新后的意图发送回 Amazon Lex。

1. 使用 [GetBot](API_GetBot.md) 和 [PutBot](API_PutBot.md) 操作重建使用该目的的所有自动程序。

要运行本练习中的命令，您需要知道将在其中运行命令的区域。有关区域列表，请参阅[模型构建配额](gl-limits.md#gl-limits-model-building)。

来自 `GetIntent` 操作的响应包含一个名为 `checksum` 的字段，该字段标识目的的一个特定修订版。在使用 [PutIntent](API_PutIntent.md) 操作更新目的时必须提供校验和值。如果不提供，您会收到以下错误消息：

```
            An error occurred (PreconditionFailedException) when calling 
            the PutIntent operation: Intent {{intent name}} already exists. 
            If you are trying to update {{intent name}} you must specify the 
            checksum.
```

**注意**  
以下 AWS CLI 示例是针对 Unix、Linux 和 macOS 进行格式化的。对于 Windows，请将 `"\$LATEST"` 更改为 `$LATEST` 并将每行末尾的反斜杠 (\\) 继续符替换为脱字号 (^)。

**更新 `OrderFlowers` 目的 (AWS CLI)**

1. 在《》中 AWS CLI，从 Amazon Lex 那里获取意图。Amazon Lex 将输出发送到一个名为 **OrderFlowers-V2.json.** 的文件

   ```
   aws lex-models get-intent \
       --region {{region}} \
       --name OrderFlowers \
       --intent-version "\$LATEST" > OrderFlowers-V2.json
   ```

1. 在文本编辑器中打开 **OrderFlowers-V2.json**。

   1. 找到并删除 `createdDate`、`lastUpdatedDate` 和 `version` 字段。

   1. 将下面的内容添加到 `sampleUtterances` 字段中：

      ```
      I want to order flowers
      ```

   1. 保存该文件。

1. 使用以下命令将更新后的意图发送给 Amazon Lex：

   ```
   aws lex-models put-intent  \
       --region {{region}} \
       --name OrderFlowers \
       --cli-input-json file://OrderFlowers-V2.json
   ```

   Amazon Lex 会发送以下响应：

现在您已更新了目的，接下来要重建使用它的所有自动程序。

**重建 `OrderFlowersBot` 自动程序 (AWS CLI)**

1. 在中 AWS CLI，获取`OrderFlowersBot`机器人的定义并使用以下命令将其保存到文件中：

   ```
   aws lex-models get-bot \
       --region {{region}} \
       --name OrderFlowersBot \
       --version-or-alias "\$LATEST" > OrderFlowersBot-V2.json
   ```

1. 在文本编辑器中，打开 **OrderFlowersBot-V2.json**。删除 `createdDate`、`lastUpdatedDate`、`status` 和 `version` 字段。

1. 在文本编辑器中，将下面一行添加到自动程序定义中。

   ```
   "processBehavior": "BUILD",
   ```

1. 在中 AWS CLI，通过运行以下命令来构建机器人的新版本：

   ```
   aws lex-models put-bot \
       --region {{region}} \
       --name OrderFlowersBot \
       --cli-input-json file://OrderFlowersBot-V2.json
   ```

   服务器的响应如下：

## 下一个步骤
<a name="gs-cli-next-exercise-3"></a>

[练习 3：添加 Lambda 函数 (AWS CLI)](gs-cli-update-lambda.md)