Amazon Alexa 入门实验

32802d541fda7db1a05447d0c4386bd0.gif

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.需要注册两个帐号

亚马逊云科技帐号:https://aws.amazon.com

亚马逊开发者帐号:https://developer.amazon.com(注册个人开发者需要上传身份证)

7a77f3accf0b2f1564374a9b066a0fbe.png

Demo 具体操作流程

1.登录亚马逊开发者网站,网站右上角点击“Sign In”

36cf56e78b5c661261d5d90a7a407e84.png

2.登录后进入开发者控制台

ca464c2573a528e0747cb833e92c9380.png

3.选择顶部的 ALEXA SKILLS KIT 按钮

7d68fa50eb28ad36ab4eacce6a0c181d.png

4.创建一个 Skill,并且取个名字

b5de8c7b47b933e05c3236d65a7c4e9d.png

5.本示例选定自定义 skill,后三个为预编译模型

16cf673fc1700113737ba7bf765c1b11.png

6.下图为 Amazon Alexa 主界面,先重点关注右侧的 checklist,完成一个 Skill,必须完成图中这4项 Invocation Name -> Intents, Sample, and Slots -> Build Model -> Endpoint

77e46f5947e0b895696a4566e80717c9.png

7.Invocation Name : 给触发 Skill 取个名字,这个名字很重要,本示例设置为 rebecca,记得保存

c8daa75e577ffd8533e9f433655131e5.png

8.返回主界面后,Invocation Name 设置完成

48f86602da4886176876ad5c8c441939.png

2a1ae130a444554586f09f11568c3a2b.png

9.Intents, Samples, and Slots: 定义对话逻辑,也就是交互模型都在这里进行创建。此示例中为了大家方便操作,把配置文件制作为 json 文档,请把 json 文档内容粘贴进“JSON Editor”,https://github.com/alexa/alexa-cookbook/blob/master/handling-responses/dialog-directive-delegate/sample-nodejs-plan-my-trip/speech-assets/InteractionModel.json, 点击”Save Model”保存后,再点击”Build Model”(要稍等一会), 最后返回主界面会看到 checklist 完成第二、三步。

21bfb77e55f745584bbdecf09184ecef.png

246701f7d4618759a54aed9f879f7d18.png

7ab46c60659a1b874aecbbc95565b2be.png

10.会多出一些 Intents 和 slots,这些都是由刚才的 Json 定义而来的,并且 checklist 完成了 Build Model

0e97cc9a4fed77ef93dfc66476b149bb.png

11.选择左下角 Endpoint 按钮进入 Amazon Lambda 配置,选择 Amazon Lambda ARN 按钮

03ec41f962ab3650fe100b20c74e9f22.png

ebc5f3d470abbc631ab685f5cc10f040.png

到此为止,alexa skill kit 告一段落,Amazon Lambda ARN 暂时空着,接下来先配置 Amazon Lambda 。

12.登录至亚马逊云科技控制台,选择 US East (N. Virginia) 地区,然后进入 Amazon Lambda 服务

d68aa11cffad88418de00a75c8955dcb.png

13.创建 Amazon Lambda 函数

38809430632212eb6a9f99cb6519017c.png

选择蓝图(Blueprints), 晒选框输入“alexa-skill”,然后选择 alexa-skill-kit-sdk-factskill,最后点击右下角的 “configure”

5e70f4f8b9ee43463f09dbdaa18584ec.png

14.创建 Amazon Lambda 函数名称以及角色,两个名字可以不一样

851a7d5cfdeccb7f1c216d8aea5924b1.png

设置 Amazon Lambda 角色,记得点击右下角 Allow

31c890c185824dff0f2d2cdb6eb45ab4.png

下面代码部分暂时不用管,点击创建函数

9ea4423ed8f0b608c638e8ec692307cf.png

15.配置触发器:选择“Alexa Skill Kit”

a7be2aac696353341a3aff655ac4c847.png

Skill ID 请查看第11步(图片2)中,Your Skill ID 中字段进行复制,添加后注意保存

b9674706a88e6863ec401fdff25358d2.png

16. Amazon Lambda 函数代码打包上传。此项目 Demo 代码路径:https://github.com/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 中

a4c00f9a51375107b99cbfaa2704dcf9.png

95984971c2f28bdf2c7de08422261bfc.png

16.2. 此项目有 alexa-sdk 的依赖,所以使用 npm 安装依赖:

$ npm install

64f47b48fd5092279e71689c9573c56f.png

16.3. 项目打包:生成 zip 包

$ zip -q -r9 ~/CreateThumbnail.zip *

*左滑查看更多

f1e3f0192a53fb98d247c4c64915f8d4.png

16.4. 上传 zip 包,界面如下图

c4f6f0f59e48b909b18fa59412c8c325.png

Amazon Lambda 代码包上传完成。

17.复制右上角的 Amazon Lambda ARN

ed6c5e16782bb83a040b698bfb0a3413.png

18.回到第11步图二页面,设置 Endpoint, 把 Amazon Lambda ARN 粘贴到 Default Region 中,并且保存

bf190cf49e4405fae7fa7e6839bdeece.png

19.回到 alexa skill kit 主界面,查看 checklist,确保所有项为绿色对勾表示配置完成

f017bce4c99231fb0b57e3ce35659652.png

20.接下来就可以测试配置好 Amazon Alexa, 继续使用亚马逊开发者帐号登录 https://echosim.io, 然后按住空格键录音,你可以说“open rebecca”,系统会回答“Let’s plan a trip. Where would you like to go?”然后跟着提示回答就可以了。

9ca02fb3c952ead7d5c891db40bb3d2e.png

本篇作者

abdabbd0c89db76a1a768050b7195c41.png

童轶

亚马逊云科技解决方案架构师

负责基于亚马逊云科技的云计算方案的架构设计,同时致力于亚马逊云科技云服务在国内和全球的应用和推广。加入亚马逊云科技之前,在国内知名互联网游戏公司担任高级系统工程师,有七年的游戏运维和 DevOps 经验。现致力于 Amazon IoT, Serverless 架构的研究与推广。

be92b3676c6707ea7cde7154edbdac09.png

0506eb0ed693bd3017a09da0350bc4db.gif

5036cd0c518b9a621675a3cd43afc1ba.gif

听说,点完下面4个按钮

就不会碰到bug了!

a0145cdb813a7f6c29edb65ff05f6378.gif

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值