4.2定义您的Alexa技能

简介

本练习将指导您完成定义和配置新Amazon Alexa技能的所有必要步骤。

先决条件

在创建和配置Amazon Alexa技能之前,您必须:

  1. 拥有Amazon开发人员帐户并进行登录
  2. 拥有AWS帐户并登录

有关更多详细信息,请参阅练习4.1

4.2.1创造Alexa技能

要创建新技能,请执行以下步骤:

在​Amazon开发人员功能板​屏幕(https://developer.amazon.com/dashboard)中,从​Alexa​菜单中选择​Alexa Skills Kit

选择Alexa技能

在​alexa开发人员控制台​中,单击​创建技能​按钮。

Alexa开发人员控制台

在​创建新技能​屏幕中:

  • 将​AEP​指定为​技能名称
  • 选择​英语(UK)​或​英语(US)​作为​默认语言
  • 选择​Custom​作为要在​中使用的模型。选择要添加到技能​部分的模型。

创建技能

选择​配置您自己的​作为​中使用的方法。选择方法来托管您技能的后端资源​部分。

创建技能2

接下来,单击​创建技能

注意

您的屏幕看起来可能会有所不同,具体取决于您选择的​默认语言

在​选择模板​屏幕中,选择​从头开始​作为模板,以在​选择模板​部分中使用。

单击​选择

选择模板

您的技能正在创建中,之后您将进入​AEP​技能主屏幕,该屏幕如下所示:

平台技能主屏幕

4.2.2定义调用名称

要调用您的技能,需要调用名称。 要定义此项,请执行以下操作:

单击左侧菜单中的​调用 ,然后单击​技能调用名称。 将“技能调用名称”更改为​adobe experience platform。 接下来,单击​保存模型

调用名称

这将更新对Alexa技能的调用,以便在后续步骤之一中测试您的技能时,您可以说是​Alexa,打开adobe experience platform

4.2.3定义意图、示例和插槽

下一步是配置与我们技能的交互。 与Alexa技能的交互通过所谓的意图进行,Amazon提供了5个内置意图(例如,AMAZON.HelpIntent,以寻求帮助)。 每种意图均定义示例语言;用于调用意图的短语。 每个意图都可以有一个或多个插槽值;值。

我们将使用JSON文件一次性设置所有这些内容,而不是让您逐步定义我们技能所需的各种意图、话语和时隙值。 为实现此操作,请执行以下步骤:

接下来,单击左侧菜单中的​交互模型,然后单击​JSON编辑器

JSON编辑器

下载并打开文件AWS Alexa Interaction Model

选择所有内容,然后复制所有内容。

原始

在右侧的​JSON编辑器​面板中,选择所有内容并粘贴您在上一步中复制的代码,方法是覆盖已存在的文本。 这将加载交互模型。

单击​保存模型

拖放JSON文件

单击左侧菜单中的​意图,此后您将在左边栏中看到我们技能的各种特定意图,例如​LdapIntent, GetProductIntent, … UseEmailAddressIntent。其中某些意图确实具有插槽,例如​productId(用于​GetProductIntent)。

保存模型

4.2.3定义接口

现在,我们将为技能定义界面。 界面定义您与技能的交互方式:只有通过语音,还是技能也支持显示和触摸? 如果我们希望自己的技能能够使用显示和触摸事件,则需要启用该界面。 此外,我们的技能实施将使用Amazon演示语言(测试版)。 要正确配置此项,请执行以下操作:

单击左侧菜单中的​接口

界面

在​界面​面板中,确保​Alexa演示语言​和​自动委派​都已启用。

启用接口

向上滚动,然后单击​保存接口

启用接口

4.2.4设置实施

您的技能逻辑是使用NodeJS Alexa SDK v2实现的。

您需要在AWS Lambda中部署您的功能,以便您能够从技能中调用它。 然后,您还需要告诉您的技能,在何处查找该无服务器功能,以便它在需要时可以调用该功能。

首先,让我们为您的技能设置无服务器功能。 为实现此操作,请执行以下步骤:

确保您已登录到​AWS管理控制台(https://us-east-2.console.aws.amazon.com/console/home)。

从右上方菜单的下拉列表框中选择您喜欢的数据中心。 例如​美国东部(俄亥俄州)​或​欧盟(爱尔兰)

数据中心

在​查找服务​中,键入​lambda​并按Enter。

Lambda

您最终将位于​AWS Lambda​主屏幕。 单击​创建函数

Lambda函数主屏幕

在​创建函数​屏幕中:

  • 选择​从头开始创作
  • 为您的技能函数指定​函数名称,例如​AEP
  • 从​Runtime​下拉列表中选择​Node.js 14.x

从头开始创作

单击​更改默认执行角色。 然后,选择​创建具有基本Lambda权限的新角色

接下来,单击​创建函数

Permissions

最终,您会进入​AEP​函数定义屏幕,并且​Code​选项卡处于活动状态。 单击​添加触发器

平台函数定义

在可用触发器的下拉列表中,选择​Alexa Skills Kit。 您现在还需要提供Alexa技能的技能ID。

所需配置

注意

如果​Alexa Skills Kit​在​添加触发器​列表中不提供,则您选择的数据中心不支持它。 选择其他数据中心(例如​EU(爱尔兰)),提供​Alexa Skills Kit​触发器。

返回到您的​Alexa技能。 单击左侧菜单中的​Endpoint。 搜索​您的技能ID。 单击​复制到剪贴板

端点

单击​复制到剪贴板​以复制技能。

在​AWS Lambda​主屏幕中,返回到​AEP​函数定义屏幕。

将技能ID粘贴到​技能ID验证​下的​技能ID​字段中。 确保选中​启用,这是默认和推荐的设置。

接下来,单击​Add

配置技能ID

返回AWS Lambda函数屏幕,单击​aep​下的​

选择平台

在​代码​选项卡中,单击选择​​上传,然后选择​.zip文件

函数代码

然后你会看到这个。 下载AWS Alexa Lambda Code,并将zip文件保存到您计算机上的某个位置,作为​aepskill.zip

单击​Upload

函数代码

从文件浏览器对话框中选择您在计算机上保存的​aepskill.zip。 单击​打开

平台技能ZIP

单击​保存

平台技能ZIP

接下来,转到选项卡​Configuration,然后单击​Environment Variables

环境变量

单击​编辑​并从下表中添加所需的变量,因此您的​环境变量​面板将如下所示。

环境变量

alexaBrandName luma
emailAddress rmaur@adobe.com
ldap --demoProfileLdap--
configurationId --configurationID--
重要
  • 将​alexaBrandName​定义为品牌名称的小写版本(例如,将Luma定义为​luma),
  • 如果您的品牌名称包含​**&,则将其替换为​和**。 例如,H&M变为​h和m

确保将​alexaBrandNameldap​和​emailAddress​替换为您的特定配置详细信息。

完成后,单击​Save

环境变量

最后,您需要复制代表我们技能的此功能的Amazon资源名称(ARN)。

单击​ARN - arm:aws.lambda:…旁边的复制图标… 文本。

ARN

返回至您的​Alexa开发人员控制台

在​Endpoint​配置屏幕中,将上一步中复制的ARN粘贴到​Default Region(Required)​字段中。

端点

接下来,单击​保存端点

4.2.5最后确定技能

设置调用、意图、接口和端点后,最后一步是构建您技能的最终版本。

为实现此操作,请执行以下步骤:

  • 从左侧菜单中选择​调用,然后单击​技能调用名称
  • 单击​保存模型,然后单击​生成模型。 这将建立该技能的模型。 这可能需要一段时间。

开始构建

验证是否在技能的主屏幕上检查了​技能生成器核对清单(可选​技能内产品​除外)中的所有项。 为实现此操作,请执行以下步骤:

单击​Build。 您的​alexa开发人员控制台​应在​技能培养检查表​中为前四个项目显示绿色复选标记。

已完成

您的技能及其实施现已准备就绪,可供使用。

您已完成此练习。

下一步:4.3使用您的Alexa技能

返回到模块4

返回到所有模块

在此页面上