在 Lex V2 机器人的意图中使用默认槽位值 - Amazon Lex

在 Lex V2 机器人的意图中使用默认槽位值

使用默认值时,如果用户输入中未提供插槽,您可以指定一个源用于为新意图填充的插槽值。此来源可以是之前的对话、请求或会话属性,也可以是您在构建时设置的固定值。

您可以将以下内容作为默认值来源。

  • 之前的对话(上下文)— #context-name.parameter-name

  • 会话属性 — [attribute-name]

  • 请求属性 — <attribute-name>

  • 固定值:任何与先前值不匹配的值

通过 CreateIntent 操作向意图添加槽时,可以添加默认值列表。将按这些值列出的顺序对其进行排列。例如,假设您有一个带插槽的意图,其插槽定义如下:

"slots": [ { "botId": "string", "defaultValueSpec": { "defaultValueList": [ { "defaultValue": "#book-car-fulfilled.startDate" }, { "defaultValue": "[reservationStartDate]" } ] }, Other slot configuration settings } ]

识别出意图后,名为“reservation-start-date”的插槽可以设置为如下值:

  1. 如果“book-car-fulfilled”上下文处于活动状态,则将“startDate”参数的值用作默认值。

  2. 如果“book-car-fulfilled”上下文未处于活动状态,或者未设置“startDate”参数,则将“reservationStartDate”会话属性的值用作默认值。

  3. 如果前两个默认值均未使用,则该槽位没有默认值,Amazon Lex V2 将照常引发一个值。

如果使用插槽的默认值,则即使需要该插槽,也不会引发该插槽。