Amazon Alexa 简介
Amazon Echo 是当前最炙手可热的智能语音音响,内置的语音助理 Amazon Alexa 可以高效准确的理解用户对它发出的语音指令,而不需要任何的遥控器。市场上的一些智能产品,比如咖啡机、灯具、电视等,只需要语音它们就可以执行一系列的动作,而这些产品都没有内置 Amazon Alexa,那设备厂商是如何做到的呢?开发者可以通过 Alexa Skill 来增加更多丰富多彩的应用。
Demo 介绍及准备工作
通过此 Demo,开发者可以学习如何从零开始通过 Amazon Alexa skill 设计出具有高度定制化的语言助手,最终使用对话方式定制旅行计划。
为了完成此 Demo,需要使用三个工具:
Alexa skill kit
Amazon Lambda
NodeJS
准备工作:
1.了解什么是 Alexa skill kit
Alexa Skill kit(ASK)是一套自助服务,其中包括 API、工具、文档和代码示例,使您能够轻松快速地为建立 Alexa Skill。
2.需要注册两个帐号
亚马逊云科技帐号:
亚马逊开发者帐号:(注册个人开发者需要上传身份证)
Demo 具体操作流程
1.登录亚马逊开发者网站,网站右上角点击“Sign In”
2.登录后进入开发者控制台
3.选择顶部的 ALEXA SKILLS KIT 按钮
4.创建一个 Skill,并且取个名字
5.本示例选定自定义skill,后三个为预编译模型
6.下图为 Amazon Alexa 主界面,先重点关注右侧的 checklist,完成一个 Skill,必须完成图中这4项Invocation Name->Intents,Sample, and Slots->Build Model->Endpoint。
7.Invocation Name : 给触发 Skill 取个名字,这个名字很重要,本示例设置为 rebecca,记得保存
8.返回主界面后,Invocation Name 设置完成
9.Intents, Samples, and Slots: 定义对话逻辑,也就是交互模型都在这里进行创建。此示例中为了大家方便操作,把配置文件制作为 json 文档,请把 json 文档内容粘贴进“JSON Editor”,/alexa/alexa-cookbook/blob/master/handling-responses/dialog-directive-delegate/sample-nodejs-plan-my-trip/speech-assets/InteractionModel.json,点击”Save Model”保存后,再点击”Build Model”(要稍等一会), 最后返回主界面会看到checklist完成第二、三步。
10.会多出一些 Intents 和 slots,这些都是由刚才的 Json 定义而来的,并且 checklist 完成了 Build Model
11.选择左下角 Endpoint 按钮进入 Amazon Lambda 配置,选择 Amazon Lambda ARN 按钮
到此为止,alexa skill kit 告一段落,Amazon Lambda ARN 暂时空着,接下来先配置 Amazon Lambda 。
12.登录至亚马逊云科技控制台,选择 US East (N. Virginia) 地区,然后进入 Amazon Lambda 服务
13.创建 Amazon Lambda 函数
选择蓝图(Blueprints), 晒选框输入“alexa-skill”,然后选择 alexa-skill-kit-sdk-factskill,最后点击右下角的 “configure”
14.创建 Amazon Lambda 函数名称以及角色,两个名字可以不一样
设置 Amazon Lambda 角色,记得点击右下角 Allow
下面代码部分暂时不用管,点击创建函数
15.配置触发器:选择“Alexa Skill Kit”
Skill ID 请查看第11步(图片2)中,Your Skill ID 中字段进行复制,添加后注意保存
16. Amazon Lambda 函数代码打包上传。此项目 Demo 代码路径:/alexa/alexa-cookbook/tree/master/handling-responses/dialog-directive-delegate/sample-nodejs-plan-my-trip/src 。此项目有alexa-sdk依赖,所以必须打包上传,以下打包上传步骤:
16.1. 克隆 alexa-cookbook 项目或者下载上述链接下的三个文件,此例为直接下载三个文件到新建目录 alexa-demo-skill-kit 中
16.2. 此项目有 alexa-sdk 的依赖,所以使用 npm 安装依赖:
$npminstall
16.3. 项目打包:生成 zip 包
$zip-q-r9~/CreateThumbnail.zip*
*左滑查看更多
16.4. 上传 zip 包,界面如下图
Amazon Lambda 代码包上传完成。
17.复制右上角的 Amazon Lambda ARN
18.回到第11步图二页面,设置 Endpoint, 把 Amazon Lambda ARN 粘贴到 Default Region 中,并且保存
19.回到 alexa skill kit 主界面,查看 checklist,确保所有项为绿色对勾表示配置完成
20.接下来就可以测试配置好 Amazon Alexa, 继续使用亚马逊开发者帐号登录 https://echosim.io, 然后按住空格键录音,你可以说“open rebecca”,系统会回答“Let’s plan a trip. Where would you like to go?”然后跟着提示回答就可以了。
本篇作者
童轶
亚马逊云科技解决方案架构师
负责基于亚马逊云科技的云计算方案的架构设计,同时致力于亚马逊云科技云服务在国内和全球的应用和推广。加入亚马逊云科技之前,在国内知名互联网游戏公司担任高级系统工程师,有七年的游戏运维和 DevOps 经验。现致力于 Amazon IoT, Serverless 架构的研究与推广。
听说,点完下面4个按钮
就不会碰到bug了!
如果觉得《Amazon Alexa 入门实验》对你有帮助,请点赞、收藏,并留下你的观点哦!