我正在使用 AMAZON.US_CITY 插槽类型并使用对话框管理。尝试验证内置插槽的插槽值,所以知道如何完成吗?我提到了:https : //developer.amazon.com/docs/custom-skills/validate-slot-values.html#configure 我知道验证规则,但对于内置插槽类型,他们只提供两个选项 1。只接受一组值。2. 只拒绝一组值。因此,在第一种情况下,它接受与您指定的一组固定值匹配的值。在第二种情况下,它拒绝与您指定的一组固定值匹配的值。那么对于这种情况可以做些什么呢?如何创建满足我的条件的验证规则?
2 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
在Skill
你可以添加validation
到Slot
:
从 Intent 中选择槽
意图 > yourslot > 验证
Beloe Image 帮助您:
精慕HU
TA贡献1845条经验 获得超8个赞
Alexa 在 Alexa 开发人员控制台中提供的验证更简单,因为它完全由 Alexa 管理。
但实际上您也可以在 lambda 函数上管理所有内容。例如,如果您使用的是 pythonask-sdk-core库,您可以捕获槽值,使用您决定的自定义规则对其进行验证,ElicitSlotDirective如果不满足则返回一个。
示例代码:
if slot_value is not in ['accepted', 'values']:
prompt = "The slot value is invalid, say something else"
return handler_input.response_builder.ask(prompt).add_directive(
ElicitSlotDirective(
slot_to_elicit=slot_name
)).response
这将导致 alexa 向用户询问插槽的另一个值,同时保留有关意图的所有其他信息,例如其他插槽、实际意图、会话 ID...
添加回答
举报
0/150
提交
取消