

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

# 了解 Amazon Lex V2 机器人对话
<a name="managing-conversations"></a>

构建机器人后，您可以将您的客户端应用程序与 Amazon Lex V2 运行时操作集成，以便与您的机器人进行对话。用户启动与您的机器人的对话时，Amazon Lex V2 会创建一个*会话*。会话封装了您的应用程序和机器人之间交换的信息。有关更多信息，请参阅 [了解 Amazon Lex V2 机器人会话](managing-sessions.md)。

典型的对话涉及用户和机器人之间的来回流程。例如：

```
User : I'd like to make an appointment
Bot : What type of appointment would you like to schedule?
User : dental
Bot : When should I schedule your dental appointment?
User : Tomorrow
Bot : At what time do you want to schedule the dental appointment on 2021-01-01?
User : 9 am
Bot : 09:00 is available, should I go ahead and book your appointment?
User : Yes
Bot : Thank you. Your appointment has been set successfully.
```

使用[RecognizeText](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html)或 [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)API 操作自行管理对话。使用 [StartConversation](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_StartConversation.html)API 操作让 Amazon Lex V2 为您管理对话。

要管理对话，您必须向机器人发送用户言语，直到对话达到合乎逻辑的结局。当前对话是在会话状态下捕获的。每次用户言语后，会话状态都会更新。会话状态包含对话的当前状态，并由机器人在对每个用户言语的响应中返回。

对话可以处于以下任意状态：
+ **ElicitIntent**— 表示机器人尚未确定用户的意图。
+ **ElicitSlot**— 表示机器人已检测到用户的意图并正在收集实现意图所需的信息。
+ **ConfirmIntent**— 表示机器人正在等待用户确认收集的信息是否正确。
+ **Closed**：表示用户的意图已完成，并且与机器人的对话已达到合乎逻辑的结局。

用户可以在第一个意图完成后指定新意图。有关更多信息，请参阅 [与 Lex V2 机器人的对话上下文](conversation-contexts.md)。

意图可以具有以下状态：
+ **InProgress**— 表示机器人正在收集完成意图所需的信息。这与 `ElicitSlot` 对话状态有关。
+ **等待中**：表示当机器人要求提供特定槽位的信息时，用户请求机器人等待。
+ **已履行**：表示与意图关联的 Lambda 函数中的业务逻辑成功运行。
+ **ReadyForFulfillment**— 表示机器人收集了实现意图所需的所有信息，并且客户端应用程序可以运行配送业务逻辑。
+ **失败**：表示意图达成失败。

请参阅以下主题，了解如何使用 Amazon Lex V2 APIs 管理您的机器人与用户之间的对话上下文和会话。

**Topics**
+ [与 Lex V2 机器人的对话上下文](conversation-contexts.md)
+ [了解 Amazon Lex V2 机器人会话](managing-sessions.md)