天猫精灵—天气小蜜简单回复
1、注册登录、填写信息。
登录
点击登录,进入登录成功页面
提示进行实名认证,跟着提示内容,完成实名认证
实名认证完成
2、创建语音技能
1.认证通过后进入技能应用平台,我们要创建一个语音技能,选中语音技能分类:点击创建技能。
2.填写技能基本信息
选中语音技能 中的 自定义技能 填写技能创建信息:技能名称和调用词
- 技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。
- 技能属性选择 公有技能 / 私有技能。技能属性选择,建议您先参考【公有&私有】,由于我们要开发一个面向所有天猫精灵用户的应用,所以技能属性这里选择公有技能。
- 技能调用词
也称为唤醒词,是用户使用这个技能所需要说的关键字。如“天猫精灵,天气小蜜”,则使用了调用词为“天气小蜜”的技能。
技能创建成功。
3、配置语音交互模型
创建技能成功后,需配置语音交互模型,才可与用户进行语音对话,语音交互模型包含意图、实体、问答三块,本节课先配置意图。
首先了解下什么是意图:意图是用户使用语音技能的目的,语音技能至少要有一个意图(至少向用户提供一个功能,也可以是多个)只说调用词会进入默认意图所以有调用词的技能需要有默认意图。
了解什么是意图后,接下来开始创建语音交互模型。
第一步,点击创建意图按钮进入创建意图页面;
第二步,设置意图名称、意图标识,并将这条意图设置为默认意图,设置好后点击提交。
4、配置后端服务
1.顶部导航栏中选择后端服务,并在左侧导航栏中选择服务部署。
2.单击编辑部署,选择 阿里云云原生开发 的方式,点击关联阿里云账号。
3.选择阿里云账号的登录方式;
4.登陆阿里云账号(如果没有阿里云账号就注册一个);
5.登陆成功后需要您签署《云开发平台服务协议》,签署之后就可以免费使用云开发平台进行服务开发了;
6.签署协议后,在团队注册页翻到页面底部,单机同意授权,授权后单机下一步;
7.完成并返回技能开发平台;
8.单击开通阿里云资源;
9.依次开通阿里云服务资源;
10.点击创建技能应用按钮;
11.选择开发语言和开发模板进行创建,这里以 Java 空白模板为例 创建应用;
12.创建应用后,点击保存按钮保存阿里云服务器配置;
13.点击前往开发,跳转云阿里开发平台;
14.跳转到阿里云开发平台后,会自动进入 CloudIDE,平台会自动生成模板代码,查看代码路径:src/main/GenieEntry.java,您可以直接在示例代码上进行开发;
package com.alibaba.ailabs;
import com.alibaba.ailabs.common.AbstractEntry;
import com.alibaba.da.coin.ide.spi.meta.ExecuteCode;
import com.alibaba.da.coin.ide.spi.meta.ResultType;
import com.alibaba.da.coin.ide.spi.standard.ResultModel;
import com.alibaba.da.coin.ide.spi.standard.TaskQuery;
import com.alibaba.da.coin.ide.spi.standard.TaskResult;
import com.alibaba.fastjson.JSON;
import com.aliyun.fc.runtime.Context;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description 天猫精灵技能函数入口,FC
* handler:com.alibaba.ailabs.GenieEntry::handleRequest
* @Version 1.0
**/
public class GenieEntry extends AbstractEntry {
@Override
public ResultModel<TaskResult> execute(TaskQuery taskQuery, Context context) {
context.getLogger().info("taskQuery: " + JSON.toJSONString(taskQuery));
ResultModel<TaskResult> res = new ResultModel<>();
TaskResult taskResult = new TaskResult();
// 从请求中获取意图参数以及参数值
Map<String, String> paramMap = taskQuery.getSlotEntities().stream().collect(Collectors.toMap(slotItem -> slotItem.getIntentParameterName(), slotItem -> slotItem.getStandardValue()));
taskResult.setReply("你的意图是:" + taskQuery.getIntentName() + ",参数是:" + paramMap);
taskResult.setExecuteCode(ExecuteCode.SUCCESS);
taskResult.setResultType(ResultType.RESULT);
res.setReturnCode("0");
res.setReturnValue(taskResult);
return res;
}
}
15.完成代码编写后,要把代码提交到仓库中,不然再进来就没有了,提交步骤:点击源代码管理,然后点击提交按钮;
提交到仓库时需要填写本次提交的内容介绍;
16.提交完成后要选择部署环境,打开 CloudIDE 左侧的 部署调试插件,进入到部署面板,选择预发环境进行部署;
17.环境选择好之后,我们要检查路由、函数映射表,第一个字段是应用访问的路径,格式为:/skill-78623/entry,其中数字 67954 为智能应用平台上此应用的技能id,技能id显示在技能概览页中的基本信息表中,这个字段一般系统会默认自动填好。
18.第二个字段表示某个文件的函数入口,如果选择Java语言, 此数据为:com.alibaba.ailabs.GenieEntry::handleRequest,表示当应用发布之后,天猫精灵这边的请求会发送到 com.alibaba.ailabs.GenieEntry类的handleRequest方法,handleRequest是从AbstractEntry类中继承的方法, 请不要重写此方法。如果选择NodeJS语言或Python语言,此数据为:index.handler,表示含义和前面类似;由于我们选的是java语言, 所以第二个字段我们要填com.alibaba.ailabs.GenieEntry::handleRequest。
19.第三个字段表示请求的类型,这里只能是post类型。
20.第三个字段表示请求的类型,这里只能是post类型。
21、在 部署日志
标签页可以看到部署的进度以及部署是否成功。
5、测试
第一步,进入测试模块,打开在线测试;
第二步,输入创建技能时设置的调用词“天气小蜜”并发送,测试欢迎意图是否配置成功,系统回复默认欢迎语则技能测试成功;