Alexa-hosted Skill,Alexa 托管技能
只有自定义模型的技能可以使用Alexa托管。可以将现有技能转换为托管技能,也可以将托管技能转换为自管理。
开发者可以连接自己的AWS账户。若为指定自己的账户,将创建内置的单独的AWS账户(不与其他开发者共享,不提供登陆)。使用内置AWS账户时,资源消耗仅限FreeTier。
三个Region:佛吉尼亚us-east-1、俄勒冈us-west-2、爱尔兰eu-west-1
自动创建以下资源:在所有上述Rgion中创建Lambda Endpoint。在开发者选择的Region中创建一个用于存储媒体文件的S3桶、一个用于存储Session的S3桶。创建一个CodeCommit仓库。
S3对象默认以加密存储。
仅支持Node.js和Python。
提供“live stage”和“development stage”两个版本。
可以测试“development stage”版本。如果仅更新了代码,可以使用“Promote to live”按钮一键部署到生产。如果涉及语言模型的更改,则需要re-certification流程才能上线。
可以直接更改“live stage”代码并点击“Deploy to live”按钮使变更生效;不过这种方式将无法测试对代码的变更。
只要指定了“package.json”或“requirements.txt”,CodeCommit就会在部署时自动下载依赖。
AttributesManager,属性管理器
能够管理三种属性:Request Attributes、Session Attributes、Persistent Attributes。所有属性都由开发者代码设置和读取。
Request Attributes仅在当前Request中生效。通常可用于请求拦截器。
Session Attributes在一个Session会话的多个Request之间共享,这由SDK自行管理。
Persistent Attributes(持久性属性)在一个Alexa用户(绑定当前Alexa设备的Amazon账户)的所有Request之间共享。必须为SDK指定PersistenceAdapter,通常使用S3桶。在设置了属性之后,还必须主动调用“savePersistentAttributes”保存。
Yes/No Intent 是/否意图
Alexa内置支持是/否意图。但在一次对话中,用户可能多次说出“是/否”,但是针对完全不同的问题进行回答。可以实现是/否意图,使用Session Attributes存储先前的询问用户的问题并对不同问题的“是/否”回答作出不同反应,但这样使程序看起来比较混乱。更合适的办法是在用户的每个回答位置使用单独的自定义插槽。
Utterance Profiler,表达分析器
在Build>Custom界面中,点击右上角的Evaluate Model(评估模型)按钮可以打开表达分析器。以文本方式输入用户话语后,可以显示Alexa将此话语归类为何种intent。
Echo Button相关
Echo Button是亚马逊曾推出的硬件发光WiFi按钮,当初的设计是用于Alexa主持的游戏交互。此硬件现已停产。
GadgetController和GameEngine曾用于与Echo Button交互。不过这两个接口已经弃用。
Custom Interfaces作为新的替代接口,这允许硬件发送自定义的文本或二进制消息,与Skill Endpoint互动。