这是一个Amazon Alexa的示例项目。在本示例项目中,考虑到资讯爆炸的情况,我们想要利用Alexa自动播报真正感兴趣的话题。利用Serverless无服务器架构,实现了订阅指定网站的指定关键词(例:网站 AWS,关键词 大数据),利用Alexa自动播报相关资讯的简讯。
本演示仅用于试验和参考用途,如果您想在云端开发自己的应用,请登录AWS官网查看详细信息。
Serverless 数据采集架构:
Alex 新闻播报架构:
您需要具有 AWS 全球区账号,并具备 Admin 权限 (事实上并不需要这么大的权限,后续会降低权限要求)。
如果您已经安装好了 aws-cli,可以跳过此步骤
sudo pip install awscli
更多的安装方法,请参考 aws-cli链接
如果您已经配置好了 aws-cli,可以跳过此步骤
aws configure --profile ${your_profile_name}
配置遇到了问题?请参考 aws-cli链接
wget --no-check-certificate https://raw.githubusercontent.com/finishy1995/voixa/master/install.sh \
&& chmod u+x install.sh && ./install.sh
在 Amazon Developer 网站 上配置自己的 Alexa Skill,您需要首先创建一个账号,然后可以参考如下配置信息:
创建一个intents,添加Sample Utterances,以及Intent Slots Sample Utterances配置代码:
MyBlogIsIntent my favorite blog is {blog}
WhatsMyBlogIntent what's my favorite blog
WhatsMyBlogIntent what is my favorite blog
WhatsMyBlogIntent what's my blog
WhatsMyBlogIntent what is my blog
WhatsMyBlogIntent my blog
WhatsMyBlogIntent my favorite blog
WhatsMyBlogIntent get my blog
WhatsMyBlogIntent get my favorite blog
WhatsMyBlogIntent give me my favorite blog
WhatsMyBlogIntent give me my blog
WhatsMyBlogIntent what my blog is
WhatsMyBlogIntent what my favorite blog is
WhatsMyBlogIntent yes
WhatsMyBlogIntent yup
WhatsMyBlogIntent sure
WhatsMyBlogIntent yes pleaseBlog
Intent Schema配置代码:
{
"intents": [
{
"intent": "AMAZON.ResumeIntent"
},
{
"intent": "AMAZON.PauseIntent"
},
{
"slots": [
{
"name": "blog",
"type": "LIST_OF_BLOG"
}
],
"intent": "MyBlogIsIntent"
},
{
"intent": "WhatsMyBlogIntent"
},
{
"intent": "AMAZON.HelpIntent"
}
]
}
在控制台中cloudformation打开下图所示的WebsiteURL,然后订阅希望Alexa读的信息。
所有配置完成之后,就可以在Alexa配置网站的test中进行Alexa测试。
也可以在你自己的 Echo/Echo dot 上测试Alexa Skill或者使用 echosim网站进行测试。