本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Lex V2 提供了在对话的每个步骤中设置槽位值和会话属性值的功能。然后,您可以在对话期间使用这些值来评估条件,或者在履行意图期间使用这些值。
您可以为当前意图设置槽位值。如果对话的下一步是调用另一个意图,则可以设置新意图的槽位值。
如果被分配的槽位未填,或者无法解析 JSON 路径,则该属性将设置为 null
。
使用槽位值和会话属性时,请使用以下句法:
-
槽位值:用大括号(“{}”)将槽位名称括起来。对于当前意图中的槽位值,您只需要使用槽位名称即可。例如,
{slot}
。如果要在下一个意图中设置值,则必须同时使用意图名称和槽位名称来标识该槽位。例如,{intent.slot}
。示例:
-
{PhoneNumber} = "1234567890"
-
{CheckBalance.AccountNumber} = "99999999"
-
{BookingID} = "ABC123"
-
{FirstName} = "John"
槽位的值可能为以下任一值:
-
常量字符串
-
引用 Amazon Lex 响应中的转录块的 JSON 路径(适用于 en-US 和 en-GB)
-
会话属性
示例:
-
{username} = "john.doe"
-
{username_confidence} = $.transcriptions[0].transcriptionConfidence
-
{username_slot_value} = [username]
注意
槽位值也可以设置为
null
。如果您需要重新引发某个已填槽位值,则必须先将该值设置为null
,然后再提示客户输入槽位值。如果被分配的槽位未填,或者无法解析 JSON 路径,则该属性将设置为null
。 -
-
会话属性:用方括号(“[]”)将属性名称括起来。例如,
[sessionAttribute]
。示例:
-
[username] = "john.doe"
-
[username_confidence] = $.transcriptions[0].transcriptionConfidence
-
[username_slot_value] = {username}
会话属性的值可能为以下任一值:
-
常量字符串
-
引用 Amazon Lex 响应中的转录块的 JSON 路径(适用于 en-US 和 en-GB)
-
槽位值参考
注意
如果被分配的槽位未填,或者无法解析 JSON 路径,则该属性将设置为
null
。 -
注意
Amazon Lex V2 于 2022 年 8 月 17 日发布了对用户对话管理方式的更改。借助此更改,您可以更好地控制用户的对话路径。有关更多信息,请参阅 Amazon Lex V2 中的对话流更改。2022 年 8 月 17 日之前创建的机器人不支持对话框代码挂钩消息、设置值、配置后续步骤和添加条件。