天猫精灵技能应用平台提供了从语音交互模型定义、语义解析理解能力,到技能开发、测试、部署的一整套开发工具和便捷的可视化操作工作台,帮助开发者高效地将各类技能应用快速接入到天猫精灵音箱以及精灵生态硬件终端。
目前平台支持以下几种应用类型的接入:
- 语音技能
- 灵活定义语音交互方式,开发业务逻辑代码、创建屏显页面来响应任意的用户语音请求。
- 小程序
- 支持将支付宝小程序快速迁移到天猫精灵设备,同时也可利用内容模板小程序快速完成内容变现。
- 安卓Android APP应用
- 支持快速接入安卓生态应用,与天猫精灵带屏端设备无缝打通,同时支持语音交互能力。
- H5网页小游戏
- 无需开发,支持现成H5网页小游戏的快速接入,同时支持语音唤起。
以下我完成的是语音技能的使用
在自定义技能中,您(开发者)可以灵活地指定用户与技能的交互方式,通过自行开发业务逻辑代码、创建屏显页面来响应任意的用户请求(即意图),为其提供最合适的服务。
自定义技能适用各种类型的使用场景,例如:
- 信息查询类场景:例如,查百科、了解热点资讯、推荐美食餐厅;
- 沉浸式互动类场景:例如,玩游戏、上网课、儿童辅导教育;
- 生活服务类场景:例如订外卖、酒店、网约车;
- 其它任意场景
以下是一些参与步骤:
- 首先第一步进行登录并在应用技能接入中选择技能应用平台
- 第二步选择语言技能中的创建新技能
- 第三步填写技能基本信息,以下是官方公布的基本信息填写规则(技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。)
- 第四步填写基本信息后选择阿里云云开发进行创建
- 第五步配置语音交互模型,选择意图并且创建意图
- 第六步配置后端服务,开通相关的阿里云资源以后进行创建
- 第七步创建技能应用
- 第八步选择前往开发跳转至阿里云开发平台进行开发
- 第九步在阿里云开发平台找到/src/main/java/com/alibaba/ailabs/GenieEntry.java
packagecom.alibaba.ailabs; importcom.alibaba.ailabs.common.AbstractEntry; importcom.alibaba.da.coin.ide.spi.meta.ExecuteCode; importcom.alibaba.da.coin.ide.spi.meta.ResultType; importcom.alibaba.da.coin.ide.spi.standard.ResultModel; importcom.alibaba.da.coin.ide.spi.standard.TaskQuery; importcom.alibaba.da.coin.ide.spi.standard.TaskResult; importcom.alibaba.fastjson.JSON; importcom.aliyun.fc.runtime.Context; importjava.util.Map; importjava.util.stream.Collectors; /*** @Description 天猫精灵技能函数入口,FC* handler:com.alibaba.ailabs.GenieEntry::handleRequest* @Version 1.0**/publicclassGenieEntryextendsAbstractEntry { publicResultModel<TaskResult>execute(TaskQuerytaskQuery, Contextcontext) { context.getLogger().info("taskQuery: "+JSON.toJSONString(taskQuery)); ResultModel<TaskResult>res=newResultModel<>(); TaskResulttaskResult=newTaskResult(); // 从请求中获取意图参数以及参数值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); returnres; } }
- 第十步进行部署
- 第十一步进行测试,分为真机测试和在线测试