springboot项目接入天猫精灵

springboot项目接入天猫精灵

最近工作需要使用到天猫精灵的语音功能,大体是通过呼叫对应的“调用词”实现携带参数,然后调用我项目中的接口,以实现对应的业务。所以在此简单的记录下使用过程
实际上:天猫精灵的官方文档记录的也很详细

重点参见自定义接入

1、创建语音技能
  • 去创建
    在这里插入图片描述

  • 创建一个意图
    在这里插入图片描述
    先简单填入一个单轮对话(配置语料指向),此时我设置了默认意图。所以我对天猫精灵说

    天猫精灵 热水用完了 (调用词)

    天猫精灵 热水用完了 吃了没 (调用词+单轮对话)

    都调用的是这个意图

    在这里插入图片描述

  • 创建实体,对于实体的创建,只有你在如下情况需要用到

    天猫精灵 热水用完了 {今天}的天气 (调用词)+ 单轮对话<包含数据>
    天猫精灵 热水用完了 放一首{周杰伦}的歌曲
    天猫精灵 热水用完了 我要去{19R}楼

    像如上这些情况,考虑到{}中的数据是要作为参数传递给后端服务来进行操作的。所以需要创建对应实体。实体的作用就是为了在{}插槽的位置将你口述语音识别的内容转化为符合实体中设定的值的内容。
    在这里插入图片描述
    当然你也可以引用公共的实体(长度,任意数等),这里的@floor写的时候不需要加@,这个标识可以作为后面单论对话的插值,如我要去@{floor}楼
    在这里插入图片描述

  • 这里也创建一个带参的意图,创建单论对话的时候要选择“模板”
    在这里插入图片描述
    同时,你也可以使用例句的标注模式,选中即可标注。
    在这里插入图片描述
    在这里插入图片描述

  • 部署后端服务,可以为意图单独绑定服务,这里测试方便就绑定同一服务。这里的服务部署地址就是你为这个意图写的controller的路径,当然得是公网上的。我们先下载认证文件,将认证文件放到我们的springboot项目下,表示这个技能可与这个web service配对 文档指向3
    在这里插入图片描述在这里插入图片描述
    这里除了放在路径下,也可以直接写一个controller,如下。如果后面认证失败,可以试试

    @PostMapping("/aligenie/6523cc265ed8证书.txt")
    public String authentication(){return "**sdgg********************************sdkfh";//证书内容
    }
    



2、一个SpringBoot项目
  • 导入官方提供的依赖 文档指向1

    <dependency><groupId>com.alibaba.da.coin</groupId><artifactId>semantic-execute-meta</artifactId><version>1.1.18-REALEASE</version>
    </dependency>
    
  • 便于操作,我就直接再控制层中写代码 , 大家可以直接去 文档指向2 查看官方提供的简单示例和呼叫天猫精灵时产生的请求头和请求正文。参照请求正文的格式,我们可以从传递过来的taskQuery取得正文中的任何数据

    @RestController
    @RequestMapping("/genie")
    @Slf4j
    public class GenieController {@PostMapping("/getGenieMsg")public ResultModel<TaskResult> bindingBuilding(@RequestBody String taskQuery) {log.info("天猫精灵测试 : leading:" + taskQuery);TaskQuery query = MetaFormat.parseToQuery(taskQuery);Map<String, String> requestData = query.getRequestData();log.info("requestData:" + requestData.toString());List<SlotEntity> slotEntities = query.getSlotEntities();if (slotEntities.size() > 0) {log.info("slotEntities:" + slotEntities.get(0).getStandardValue());}//返回数据ResultModel<TaskResult> resultModel = new ResultModel<TaskResult>();TaskResult result = new TaskResult();resultModel.setReturnCode("0");result.setReply("测试成功");result.setExecuteCode(ExecuteCode.SUCCESS);result.setResultType(ResultType.RESULT);resultModel.setReturnValue(result);return resultModel;}
    }
    

    然后将服务跑起来,采用花生壳的内网穿透将服务部署到公网上,这么用来测试很方便。不会可以参见这篇文章
    在这里插入图片描述

3、后端部署

继续回到天猫精灵的控制台,将公网服务器地址加上Controller路径填上去,点击保存的时候他会判断你的web service有没有认证文件,如果点击报错报错,可以检查一下 检查指向1

关于服务器SSL证书可参见 文档指向4
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、测试

在这里插入图片描述

后端返回数据
2021-12-04 21:13:06.796  INFO 5388 --- [nio-8091-exec-2] c.a.s.demo.controller.GenieController    : 
天猫精灵测试 : leading:{"sessionId":"79c799a7-d4ee-495e-b472-0effa1c23fa3","utterance":"热水用完了","requestData"{}, //非真机,没有数据"botId":114376,"domainId":63502,"skillId":84340,"skillName":"TIAMTEst","intentId":123759,"intentName":"天猫精灵测试","slotEntities":[], //没有传参"requestId":"20211204211305435-225488739","device":{},"skillSession":{"skillSessionId":"ae3fa617-ecf7-4c90-a2ac-8ba05038a24e","newSession":true},"context":{"system":{"apiAccessToken":""}}}
2021-12-04 21:13:06.796  INFO 5388 --- [nio-8091-exec-2] c.a.s.demo.controller.GenieController    : 
requestData:{}

在这里插入图片描述

2021-12-04 21:29:51.463  INFO 5388 --- [nio-8091-exec-7] c.a.s.demo.controller.GenieController    : 
天猫精灵测试 : leading:{"sessionId":"206b0ee1-c4bf-4834-9caa-571960f2a9fc","utterance":"热水用完了上K2楼","requestData":{},"botId":114376,"domainId":63502,"skillId":84340,"skillName":"TIAMTEst","intentId":123760,"intentName":"传参测试","slotEntities":[{"intentParameterId":95268,"intentParameterName":"floor1","originalValue":"K2","standardValue":"k2","liveTime":0,"createTimeStamp":1638624590055,"slotName":"floor1:floor","slotValue":"k2"}],"requestId":"20211204212949987-504243894",device":{},"skillSession":{"skillSessionId":"1e66de8b-3c89-43c4-8af2-0536edda3f83","newSession":false},"context":{"system":{"apiAccessToken":""}}}
2021-12-04 21:29:51.464  INFO 5388 --- [nio-8091-exec-7] c.a.s.demo.controller.GenieController    : 
requestData:{}
2021-12-04 21:29:51.464  INFO 5388 --- [nio-8091-exec-7] c.a.s.demo.controller.GenieController    : 
slotEntities:k2

然后就可以通过传递过来的设备号,参数等信息进行业务逻辑代码的编写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49383.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天猫精灵智能家居对接,及天猫iot官网配置图文讲解(一)

天猫智能家居对接 1-1、介绍 这篇文章主要是介绍&#xff0c;如何使用java对接天猫精灵智能家居提供的api。这么做的好处就是能让用户通过天猫精灵发送命令到我们的服务器&#xff0c;然后操控设备执行一系列的命令&#xff0c;当然这些功能呢都是天猫精灵官方制定的协议&…

java对接天猫精灵语音助手实现对公司其下的智能设备进行控制(附上源码)

java对接天猫精灵语音助手实现对公司其下的智能设备进行控制 前言当初刚来广州 公司上一任java已经离职半年 &#xff0c;项目已经跑不动了&#xff0c;才招人的&#xff0c;所以我获得的是一个连跑都跑不起来的项目源码并且对项目一无所知&#xff0c;一年前网上并没有对接天…

天猫精灵智能设备对接(7) OAuth2.0

在开始之前先放两篇参考&#xff0c;一篇英文http://bshaffer.github.io/oauth2-server-php-docs/cookbook/&#xff0c;一篇中文https://www.cnblogs.com/endv/p/7868549.html&#xff0c;中文博客里的内容基本上是把英文官方文档翻译一遍。到这里如果你不知道OAuth2.0是啥可以…

天猫精灵对接2(OAuth 搭建)

根据 接入方式及流程 中的说明&#xff0c;可知&#xff0c;搭建过程中&#xff0c;我们需要自己整一个 OAuth 的授权平台&#xff0c;具体说明可以参考蟋蟀大哥的文章 ASP.NET WebApi OWIN 实现 OAuth 2.0 &#xff0c;我的实际代码也是基于文章给出的源码修改的。 第一步 认…

天猫精灵对接智能设备

why to do&#xff1a;   我之前一直很喜欢智能家居&#xff0c;可惜的是现在市场上成品的智能家居实在是太贵了&#xff0c;屌丝的码农是在背不起每月高额的房贷和装修费用的基础上&#xff0c;再买成品的智能设备&#xff08;像某米那样一个智能开关&#xff0c;竟然卖那么…

从零玩转系列之SpringBoot3-核心原理

一、简介 1.前置知识 ● Java17 ● Spring、SpringMVC、MyBatis ● Maven、IDEA 2.环境要求 环境&工具版本(or later)SpringBoot3.1.xIDEA2023.xJava17Maven3.5Tomcat10.0Servlet5.0GraalVM Community22.3Native Build Tools0.9.19 二、SpringBoot3-核心原理 1.事件和监听器…

SpringBoot3【⑤ 核心原理】

1. 事件和监听器 1. 生命周期监听 场景&#xff1a;监听应用的生命周期 1. 监听器-SpringApplicationRunListener 自定义SpringApplicationRunListener来监听事件&#xff1b; 1.1. 编写SpringApplicationRunListener 这个接口的实现类 1.2. 在 META-INF/spring.factories …

开发必备,开源 or 免费的 AI 编程助手

AI 大模型的火热&#xff0c;让开发圈近来如虎添翼&#xff0c;各种各样基于 AI 技术的开发者工具和新范式不断涌现&#xff0c;尤其是 Github 和 OpenAI 共同推出的 Copilot X &#xff0c;更是一骑绝尘。本文推荐一些开源 or 免费的 AI 编程工具&#xff0c;不妨试着用起来。…

超过5000人的2年研究表明,这一活动破坏你的身心健康

Tips 原文作者&#xff1a;Minda Zetlin 原文出处&#xff1a;A 2-Year Study of More Than 5,000 People Shows This 1 Activity Destroys Your Emotional and Physical Health 阅读时&#xff0c;把文中的 Fackbook 换成微信。 国外主要用 Facebook&#xff1b; 国内主要是微…

申请阿里云服务器并搭建公网可支持数据上传下载的HTTP服务器

1. 前言 拥有一台自己的云服务器可以做很多事情。阿里云服务器毫无疑问是国内最好的。 阿里云服务器可以用于各种互联网应用的搭建和运行&#xff0c;提供稳定、高性能的服务。 阿里云服务器的用途&#xff0c;包括但不限于以下几个方面&#xff1a; 网站托管&#xff1a;可以将…

谷歌眼镜秀出时尚风采:对面的女孩看过来

摘要&#xff1a;在近日举办的纽约时尚周上&#xff0c;让身材火辣的模特带上谷歌的眼镜&#xff0c;行走在T台之上。主打时尚牌&#xff0c;进一步加固谷歌眼镜在大众消费阶层的印象&#xff0c;尤其是女性消费者。谷歌眼镜创始人Sebastian Thrun指出&#xff1a;谷歌眼镜特别…

学生台灯什么牌子好对眼睛好?专业护眼灯的学生台灯分享

据报告统计&#xff0c;2022年我国儿童青少年总体近视率为52.7%&#xff0c;其中6岁儿童为14.3%&#xff0c;小学生为35.6%&#xff0c;初中生为71.1%&#xff0c;高中生为80.5%&#xff0c;这些数据让人不寒而栗&#xff01; 专家表示&#xff0c;导致儿童青少年近视的因素&am…

【UGP VR眼镜排行榜】2018VR眼镜眼镜哪个好?什么VR眼镜值得买?综合推荐十大热品

科技的发展&#xff0c;高科技产品层出不穷&#xff0c;VR眼镜的出现使人们足不出户也能享受到高品质的观影感受。VR(Virtual Reality&#xff09;即虚拟现实&#xff0c;简称VR.虚拟现实头戴显示器设备&#xff0c;简称VR头显VR眼镜.现在&#xff0c;VR眼镜已不是什么稀奇的东…

《谷歌眼镜》新书作者:眼镜需要成为AR的载体吗?

近10年前&#xff0c;谷歌推出了首款AR眼镜Google Glass&#xff0c;尽管这款产品并没有如预期般取得成功&#xff0c;但它为后续AR硬件技术的发展奠定了基础。我们知道&#xff0c;从微软HoloLens开始&#xff0c;AR头显/眼镜产品更侧重于B端应用&#xff0c;面向C端发售的很少…

Karl Guttag:现有Micro LED/LCoS+光波导AR眼镜对比解析

轻量化是未来AR眼镜的发展趋势&#xff0c;为了缩减尺寸&#xff0c;AR眼镜厂商尝试了多种方案&#xff0c;长期来看Micro LED光机在小型化上更有优势&#xff0c;但现阶段LCoS光机的图像表现更好。在CES 2023期间&#xff0c;DigiLens、Lumus、Vuzix、OPPO、Avegant也展出了不…

偏光太阳镜测试图片软件,[专题]真假偏光太阳镜简单、实用辨别方法!

偏光太阳镜主要是通过镜片的平衡排列的结晶体原理&#xff0c;只让与晶体平衡的光波通过&#xff0c;而向其它角度震动的光波会一律被阻挡的方法(如同百叶窗的原理)制作而成。 正是利用这种原理&#xff0c;偏光太阳镜便可以有效地排除和滤除光束中的偏振光&#xff0c;使光线能…

智能眼镜的两种显示方式

to管理员&#xff1a;哪一个是广告&#xff0c;全是广告&#xff01;难不成网友的链接都不能给了&#xff1f;&#xff01;你们的评判标识是什么&#xff1f; 就现有的技术而言&#xff0c;受限于通讯及周边模块、电源的限制&#xff0c;眼镜只适合于作为显示器使用。 眼镜显示…

谷歌眼镜

谷歌眼镜(Google Project Glass)是由谷歌公司于2012年4月发布的一款“拓展现实”眼镜&#xff0c;它具有和智能手机一样的功能&#xff0c;可以通过声音控制拍照&#xff0c;视频通话和辨明方向以及上网冲浪、处理文字信息和电子邮件等。 查看精彩图册 目录 产品简介 发布信息…

微信小程序开发制作 | 小程序开发者工具功能介绍

小程序开发者工具是微信官方提供的用于开发和调试小程序的工具。它支持 Windows 和 Mac 两种操作系统&#xff0c;并提供了许多实用的功能&#xff0c;使得小程序开发者能够快速地开发和调试小程序。 下面是小程序开发者工具的主要功能介绍&#xff1a; 1.编辑器&#xff1a;…

微信里的小程序怎么制作

自小程序普及以来&#xff0c;除了公司企业&#xff0c;很多的个体户商家都会想了解微信里的小程序怎么制作的&#xff0c;毕竟小程序能解决很多经营上的需求。那么就给大家讲解微信里的小程序怎么制作的流程&#xff0c;希望大家对此能有了解。 流程一、制作小程序前准备 我…