本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通常,Amazon Lex V2 会管理与您用户的对话流程。对于简单的机器人,利用默认流程即足以产生良好的用户体验。但是,对于更复杂的机器人,您可能需要控制对话并在对话流程中实现更复杂对话路径的引导。
例如,在预订租车的机器人中,您可能需要不将车辆租给年轻驾驶人。在这种情况下,您可以创建一个条件来检查驾驶人是否低于指定年龄,如果是,则跳转到结束响应。

要设计这样的交互,您可以配置对话中每个时刻的下一步,评估条件,设置值并调用代码挂钩。
条件分支可帮助您创建用户进行复杂交互的对话路径。您可以在任何时间节点使用条件分支,将对话的控制权移交给机器人。例如,您可以在机器人引发第一个槽位值之前创建一个条件,您可以在引发每个槽位值之间创建一个条件,或者您可以在机器人关闭对话之前创建一个条件。有关可以添加条件的节点列表,请参阅添加意图。
当您创建机器人时,Amazon Lex V2 会根据各个槽位的优先级来创建默认的对话路径。要自定义对话路径,可以修改对话中任何节点的下一步。有关更多信息,请参阅 配置对话中的后续步骤。
要创建基于条件的替代路径,可以在对话中的任何节点使用条件分支。例如,您可以在机器人引发第一个槽位值之前创建一个条件。您可以在引发每个槽位值之间创建一个条件,也可以在机器人关闭对话之前创建一个条件。有关允许您添加条件的节点列表,请参阅添加条件以构建对话的分支。
您可以根据槽位值、会话属性、输入模式和输入转录或来自 Amazon Kendra 的响应来设置条件。
您可以在对话中的每个节点处设置槽位和会话属性值。有关更多信息,请参阅 在对话期间设定值。
您也可以将下一个操作设置为对话框代码挂钩以运行 Lambda 函数。有关更多信息,请参阅 调用对话框代码挂钩。
下图是在控制台中为某个槽位创建路径的过程。在此示例中,Amazon Lex V2 将引发槽位“age”。如果槽位的值小于 24,Amazon Lex V2 会跳转到结束响应,否则 Amazon Lex 将遵循默认路径。

注意
Amazon Lex V2 于 2022 年 8 月 17 日发布了对用户对话管理方式的更改。借助此更改,您可以更好地控制用户的对话路径。有关更多信息,请参阅 Amazon Lex V2 中的对话流更改。2022 年 8 月 17 日之前创建的机器人不支持对话框代码挂钩消息、设置值、配置后续步骤和添加条件。