alexa - Alexa无需“询问”技能即可调用自定义意图
问题描述
我想在不说ask + InvocationName的情况下调用我的话语。举例:
Alexa,我今天的计划是什么?
代替
Alexa,问我今天的计划是什么?
我在想你需要启动你的技能(Alexa,启动我的计划)并将shouldEndSession设置为false,但它不起作用,我做错了吗?
我发现“canfulfillintentrequest”在这里解释,但我无法在开发 alexa 面板上打开它:/
所以,我被卡住了,不确定这是否真的可能?
提前感谢您的回答。
解决方案
canfulfillintentrequest
如果您正在寻找与 Alexa 交互而无需通过其调用名称调用特定技能的无名称交互,这正是您想要的。
CanFulfillIntentRequest 的工作原理:
- 客户通过请求的操作、问题或不包含技能名称的陈述与 Alexa 交谈。
- Alexa,处理这个话语并查询一些可以处理的技能,
CanFulfillIntentRequest
以检查它们是否可以满足请求。 - 您的技能会收到
CanFulfillIntentRequest
处理过的话语和插槽。然后,您的技能必须返回一个canFulfillIntent
对象,该对象包含canFulfill
意图的必填字段以及 slotcanUnderstand
和的两个可选字段canFulfill
。 - Alexa 从原始技能列表中收集响应,并选择最佳技能来满足客户的要求。
- Alexa 使用实际 调用所选技能
IntentRequest
,就像客户可能通过名称调用技能一样。IntentRequest
然后,您的技能必须像往常一样对此做出回应。
如果您的技能支持该CanFulfillIntentRequest
界面,则可以选择并自动启用您的技能,以完成对尚未启用您的技能的用户的查询。
shouldEndSession
属性用于保持技能会话(当您需要用户响应时)最长 8 秒,然后reprompt
再保持 8 秒。你不能延长这个时间。当您处于活动会话中时,您不必使用调用名称。
注意:在 Alexa 中使用
CanFulfillIntentRequest
技能是作为公共预览版/测试版提供的,可能会改进或更改。此功能仅适用于英语(美国)技能。
推荐阅读
- scala - 结合具有相同物化值的多个源
- c++ - VSCode Dokcerized 容器中的 Permission Denied CPP
- javascript - 将样式应用于表格时如何同时将样式应用于表格和所有单元格
- .net-core - 使用 Ionide 插件在 VS Code 中运行 F# 程序
- firebase - 谷歌云功能 - 删除旧版本的功能?
- laravel - 重构和优化 Laravel 验证规则(required_with)
- sql - PosgreSQL 将表连接为数组
- java - 确定 `.` 和 `..` 是否是 Java 文件系统中的“特殊名称”
- ios - 直接深度链接到特定的聊天或消息?
- azure - 使用 terraform for AKS 群集创建虚拟网络