1.概述

这是一个Amazon Alexa的示例项目。在本示例项目中,考虑到资讯爆炸的情况,我们想要利用Alexa自动播报真正感兴趣的话题。利用Serverless无服务器架构,实现了订阅指定网站的指定关键词(例:网站 AWS,关键词 大数据),利用Alexa自动播报相关资讯的简讯。
本演示仅用于试验和参考用途,如果您想在云端开发自己的应用,请登录AWS官网查看详细信息。

2.本Demo架构

Serverless 数据采集架构:
数据采集架构 Alex 新闻播报架构:
新闻播报架构

3.如何使用本demo

3.1 准备工作

(1)前提条件

您需要具有 AWS 全球区账号,并具备 Admin 权限 (事实上并不需要这么大的权限,后续会降低权限要求)。

(2)安装 aws-cli

如果您已经安装好了 aws-cli,可以跳过此步骤

sudo pip install awscli

更多的安装方法,请参考 aws-cli链接

(3)配置 aws-cli

如果您已经配置好了 aws-cli,可以跳过此步骤

aws configure --profile ${your_profile_name}

配置遇到了问题?请参考 aws-cli链接

3.2 一键部署本demo

wget --no-check-certificate https://raw.githubusercontent.com/finishy1995/voixa/master/install.sh \
&& chmod u+x install.sh && ./install.sh

3.3 配置 Alexa

Amazon Developer 网站 上配置自己的 Alexa Skill,您需要首先创建一个账号,然后可以参考如下配置信息: Alexa配置界面

(1)Invocation Name

(2)Slot Types

(3)Intents

创建一个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

(4)JSON Editor

Intent Schema配置代码:

{
    "intents": [
        {
            "intent": "AMAZON.ResumeIntent"
        },
        {
            "intent": "AMAZON.PauseIntent"
        },
        {
            "slots": [
                {
                    "name": "blog",
                    "type": "LIST_OF_BLOG"
                }
            ],
            "intent": "MyBlogIsIntent"
        },
        {
            "intent": "WhatsMyBlogIntent"
        },
        {
            "intent": "AMAZON.HelpIntent"
        }
    ]
}

(5)Endpoint

(6)订阅信息

在控制台中cloudformation打开下图所示的WebsiteURL,然后订阅希望Alexa读的信息。

所有配置完成之后,就可以在Alexa配置网站的test中进行Alexa测试。

3.4 Alexa Simulator

也可以在你自己的 Echo/Echo dot 上测试Alexa Skill或者使用 echosim网站进行测试。