如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用默认插槽值
使用默认值时,如果用户输入中未提供插槽,您可以指定一个源用于为新意图填充的插槽值。此来源可以是之前的对话、请求或会话属性,也可以是您在构建时设置的固定值。
您可以将以下内容作为默认值来源。
-
之前的对话(上下文)— #context-name.parameter-name
-
会话属性 — [attribute-name]
-
请求属性 — <attribute-name>
-
固定值 — 任何与先前值不匹配的值
通过 PutIntent 操作向意图添加插槽时,可以添加默认值列表。将按这些默认值列出的顺序对其进行排列。例如,假设您有一个带插槽的意图,其插槽定义如下:
"slots": [
{
"name": "reservation-start-date",
"defaultValueSpec": {
"defaultValueList": [
{
"defaultValue": "#book-car-fulfilled.startDate"
},
{
"defaultValue": "[reservationStartDate]"
}
]
},
Other slot configuration settings
}
]
识别出意图后,名为“reservation-start-date”的插槽可以设置为如下值:
-
如果“book-car-fulfilled”上下文处于活动状态,则将“startDate”参数的值用作默认值。
-
如果“book-car-fulfilled”上下文未处于活动状态,或者未设置“startDate”参数,则将“reservationStartDate”会话属性的值用作默认值。
-
如果前两个默认值均未使用,则该插槽没有默认值,Amazon Lex 将照常引发一个值。
如果使用插槽的默认值,则即使需要该插槽,也不会引发该插槽。