码迷,mamicode.com
首页 > 其他好文 > 详细

彩虹屁神器:这么创建Lambda,Alexa帮你夸!

时间:2020-12-22 12:11:29      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:iter   要求   后端   输入   llb   并且   很多   指示   reg   

技术图片
图源:unsplash

不知道为了什么,忧愁它围绕着我。2020重拳出击,打得很多人都措手不及,回顾过去的几个月,“丧”这种情绪弥漫在各个角落。

是时候告别不开心了!

世界上的有些人还未告别隔离期。一个人被“困”在家里实在不是什么愉快的体验。别担心,你还有智能音箱!

我们打算编写一项Alexa功能,让亚马逊设备说些有趣的事。时运维艰,我想我们都需要微笑。

技术图片

这里用的是一种叫“冲击式幽默”的喜剧风格。当一个人听到他们的名字,加上来自一个Alexa的赞美时,他们绝对想不到,接下来的几分钟会发生什么。

本教程不要求读者具备编程能力(尽管它确实有所帮助),只需要遵循指示即可。

直男不会逗女朋友开心怎么办,还不开学家庭矛盾激化怎么办,Alexa帮你忙!

技术图片

课前准备

开始本教程前需要准备这些:

· AWS免费帐户
· 内置Alexa的设备——Amazon Echo、 Echo Dot、 FireTV、Fire Tablets等。
· 大约20分钟的时间

技术图片

创建Lambda函数

现在开始吧!

登录AWS帐户然后找到AWS Lambda,可以在Compute部分中找到它:

技术图片

然后点击AWS Lambda中的Create Function按钮:

技术图片

对于这个Lambda函数,将会用到其他人创建的无服务器应用程序存储库。这些存储库是由AWS、AWS合作伙伴和其他开发人员创建的,并且随时可供使用。

如果没看到任何与Alexa相关的选项,尝试将区域切换到us-east-1,这便是我正在用的一个。

技术图片

接下来,单击上面的alexa-skills-kit-nodejs-factskill。

点击该链接后,将所有设置调至默认状态。重新命名应用程序:

技术图片

完成函数设置后,单击右下角的deploy按钮。CloudFormation将负责这项部署。几分钟后你将看到:

技术图片

现在,使用AWS的Lambda函数时(在左侧的导航栏上),将会看到新创建的函数。

技术图片

单击新创建的函数链接。

技术图片

编辑Lambda函数

有趣的地方来了。进入Lambda函数后,可以向下滚动到函数代码中的文本编辑器。搜索这段代码。这是专为说英语的人准备的版本。选择你使用的语言:

const enData = {
        translation: {
          SKILL_NAME:  Space Facts ,
          GET_FACT_MESSAGE:  Here s your fact:  ,
          HELP_MESSAGE:  You can say tell me a space fact, or,you can say exit... What can I help you with? ,
          HELP_REPROMPT:  What can I help you with? ,
          FALLBACK_MESSAGE:  The Space Facts skill can t help youwith that.  It can help you discoverfacts about space if you say tell me a space fact. What can I help you with? ,
          FALLBACK_REPROMPT:  What can I helpyou with? ,
          ERROR_MESSAGE:  Sorry, an error occurred. ,
          STOP_MESSAGE:  Goodbye! ,
          FACTS:
            [
               A year on Mercury is just 88 days long. ,
               Despite being farther from the Sun, Venus experienceshigher temperatures than Mercury. ,
               On Mars, the Sun appears about half the size as it doeson Earth. ,
               Jupiter has the shortest day of all the planets. ,
               The Sun is an almost perfect sphere. ,
            ],
        },
      };

我们必须编辑GET_FACT_MESSAGE字段和FACTS数组作为绝对最小值,使其按照我们希望的方式工作。请随意编辑其他内容:

const enData = {
        translation: {
          SKILL_NAME:  Space Facts ,
          GET_FACT_MESSAGE:  What do you think of her? ,
          HELP_MESSAGE:  You can say tell me a space fact, or,you can say exit... What can I help you with? ,
          HELP_REPROMPT:  What can I help you with? ,
          FALLBACK_MESSAGE:  The Space Facts skill can t help youwith that.  It can help you discoverfacts about space if you say tell me a space fact. What can I help you with? ,
          FALLBACK_REPROMPT:  What can I helpyou with? ,
          ERROR_MESSAGE:  Sorry, an error occurred. ,
          STOP_MESSAGE:  Goodbye! ,
          FACTS:
            [
               You think Tara is super silly, but also a really greatperson and you are glad she is here right now ,
            ],
        },

你肯定注意到我已经从FACTS数组中取出了所有东西。这是因为Alexa这个特定功能设计是为了从数组中随机选取一个元素。当数组中只有一个元素时,也就是说只有一个选项:)

把你想要的通通放进这些字段里。玩得开心点!

好了,这就是所有需要做的了。把它用在家里有Alexa的设备上。

技术图片

创建Alexa功能

进入https://developer.amazon.com/alexa/console/ask;这就是为Alexa创建实际功能的地方。先创建一个开发人员帐户。

技术图片
图源:unsplash

如果你还没有注册,也可以使用在亚马逊Alexa上注册的账户,这会使整个过程变容易很多。

如果还没有在亚马逊上注册Alexa账户,这也不难。只需在手机上下载Alexa应用程序,按操作步骤来即可。

进入https://developer.amazon.com/alexa/console/ask之后,点击右手边的Create Skill按钮:

技术图片

然后给它命名,选择自定义模型添加功能,提供自己的方法来托管后端资源:

技术图片

然后把模板改为FactSkill,生成Lambda函数。只要点击Choose,Alexa应用程序就创建好了!容易吧。

现在,这一步至关重要。我们必须将终端更改为AWS Lambda函数的终端。否则,它怎么知道要触发哪个Lambda函数?

返回AWS内的Lambda函数,找到右上角的ARN:

技术图片

将其复制到剪贴板,并将其粘贴到Endpoint选项卡的Default Region字段:

技术图片

点击顶部的保存终端按钮。

现在我们需要添加一个新的功能。这是需要对Alexa说的,让其触发Lambda函数。以下便是我输入进去的,"我觉得塔拉怎么样? "塔拉是我女朋友的名字;你可以输入任何东西。

这个话语是你需要对Alexa设备说的话,让它响应你在AWS Lambda函数代码中写的东西。

技术图片

添加完所有需要Alexa响应的语句后,单击Save Model和Build Model。这应该只需要几秒钟或几分钟就可以搞定。

看到这条消息出现在下方时,说明创建成功:

技术图片

现在找到顶部导航栏中的Test选项卡。将启用技能测试改为开发。在左侧输入话语,就能触发Lambda函数,并输出响应。

技术图片

现在,如果Alexa设备已经注册到你的账户,就可以向设备发出语句,然后返回相同的响应,但这次是来自Alexa。

可以探索的事情还有很多,这里也只是一些皮毛而已。尽情玩吧!

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:李世琛、蔡雪莲
相关链接:
https://towardsdatascience.com/how-i-used-aws-lambda-to-make-my-girlfriend-smile-61194596f2d

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读
EMNLP2017论文集28篇论文解读
2018年AI三大顶会中国学术成果全链接
ACL2017论文集:34篇解读干货全在这里
10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

技术图片

彩虹屁神器:这么创建Lambda,Alexa帮你夸!

标签:iter   要求   后端   输入   llb   并且   很多   指示   reg   

原文地址:https://blog.51cto.com/15057819/2565611

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!