

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

# 创建对话路径
<a name="building-paths"></a>

通常，Amazon Lex V2 会管理与您用户的对话流程。对于简单的机器人，利用默认流程即足以产生良好的用户体验。但是，对于更复杂的机器人，您可能需要控制对话并在对话流程中实现更复杂对话路径的引导。

例如，在预订租车的机器人中，您可能需要不将车辆租给年轻驾驶人。在这种情况下，您可以创建一个条件来检查驾驶人是否低于指定年龄，如果是，则跳转到结束响应。

![不将车辆租给 24 岁以下驾驶人的租车机器人的对话流程图。](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/conditional-flowchart.png)


要设计这样的交互，您可以配置对话中每个时刻的下一步，评估条件，设置值并调用代码挂钩。

条件分支可帮助您创建用户进行复杂交互的对话路径。您可以在任何时间节点使用条件分支，将对话的控制权移交给机器人。例如，您可以在机器人引发第一个槽位值之前创建一个条件，您可以在引发每个槽位值之间创建一个条件，或者您可以在机器人关闭对话之前创建一个条件。有关可以添加条件的节点列表，请参阅[添加意图](add-intents.md)。

当您创建机器人时，Amazon Lex V2 会根据各个槽位的优先级来创建默认的对话路径。要自定义对话路径，可以修改对话中任何节点的下一步。有关更多信息，请参阅 [配置对话中的后续步骤](paths-nextstep.md)。

要创建基于条件的替代路径，可以在对话中的任何节点使用条件分支。例如，您可以在机器人引发第一个槽位值之前创建一个条件。您可以在引发每个槽位值之间创建一个条件，也可以在机器人关闭对话之前创建一个条件。有关允许您添加条件的节点列表，请参阅[添加条件以构建对话的分支](paths-branching.md)。

您可以根据槽位值、会话属性、输入模式和输入转录或来自 Amazon Kendra 的响应来设置条件。

您可以在对话中的每个节点处设置槽位和会话属性值。有关更多信息，请参阅 [在对话期间设定值](paths-setting-values.md)。

您也可以将下一个操作设置为对话框代码挂钩以运行 Lambda 函数。有关更多信息，请参阅 [调用对话框代码挂钩](paths-code-hook.md)。

下图是在控制台中为某个槽位创建路径的过程。在此示例中，Amazon Lex V2 将引发槽位“age”。如果插槽的值小于 24，Amazon Lex V2 将跳转到关闭响应，否则 Amazon Lex V2 将遵循默认路径。

![显示插槽条件编辑器的 Amazon Lex V2 控制台。](http://docs.aws.amazon.com/zh_cn/lexv2/latest/dg/images/conditional-slot.png)


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