本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解机器人对话
构建机器人后,您可以将您的客户端应用程序与 Amazon Lex V2 运行时操作集成,以便与您的机器人进行对话。用户启动与您的机器人的对话时,Amazon Lex V2 会创建一个会话。会话封装了您的应用程序和机器人之间交换的信息。有关更多信息,请参阅 了解 Amazon Lex V2 机器人会话。
典型的对话涉及用户和机器人之间的来回流程。例如:
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或RecognizeUtteranceAPI操作自行管理对话。使用该StartConversationAPI操作让 Amazon Lex V2 为您管理对话。
要管理对话,您必须向机器人发送用户言语,直到对话达到合乎逻辑的结局。当前对话是在会话状态下捕获的。每次用户言语后,会话状态都会更新。会话状态包含对话的当前状态,由机器人作为对每个用户话语的响应返回。
对话可以处于以下任意状态:
-
ElicitIntent— 表示机器人尚未确定用户的意图。
-
ElicitSlot— 表示机器人已检测到用户的意图并正在收集实现意图所需的信息。
-
ConfirmIntent— 表示机器人正在等待用户确认收集的信息是否正确。
-
Closed:表示用户的意图已完成,并且与机器人的对话已达到合乎逻辑的结局。
用户可以在第一个意图完成后指定新意图。有关更多信息,请参阅 与你的 Lex V2 机器人的对话情境。
意图可以具有以下状态:
-
InProgress— 表示机器人正在收集完成意图所需的信息。这与
ElicitSlot
对话状态有关。 -
等待中:表示当机器人要求提供特定槽位的信息时,用户请求机器人等待。
-
已履行:表示与意图关联的 Lambda 函数中的业务逻辑成功运行。
-
ReadyForFulfillment— 表示机器人收集了实现意图所需的所有信息,并且客户端应用程序可以运行配送业务逻辑。
-
失败:表示意图达成失败。
请参阅以下主题,了解如何使用 Amazon Lex V2 APIs 管理您的机器人与用户之间的对话上下文和会话。