一小时搭建自己的天猫精灵技能——开发语音技能
回答
收藏

一小时搭建自己的天猫精灵技能——开发语音技能

桃花
2023-06-29 17:19·浏览量:870
桃花
发布于 2023-06-29 17:19870浏览



处理请求

在配置的后端服务中,index.handler 做为智能应用平台请求的入口,接受请求,并返回响应

请求的正文如下,我们主要关注【intentName】意图、【slotEntities】识别到的参数


参数名

类型

是否固有

描述

intentId

Long

意图ID,测试领域和线上领域中同一个意图的意图ID不同。如果所有意图绑定同一个后端服务地址,不应该根据意图ID区分是哪个意图。

intentName

String

意图标识,测试领域和线上领域中同一个意图的意图标识相同

intentId

Long

意图ID,测试领域和线上领域中同一个意图的意图ID不同。如果所有意图绑定同一个后端服务地址,不应该根据意图ID区分是哪个意图。

slotEntities

List<SlotEntity>

从用户语句中抽取出的 slot 参数信息


业务处理

接下来我们可以把handler中大部分的代码删除,把开始写我们的业务处理,也就是对之前两个意图【guide】【report】的处理


handler最后返回 acommon_reply()方法


处理响应

响应数据格式要求如下

响应数据字段说明

字段名

类型

是否必要

描述

returnCode

String

"0"默认表示成功,其他表示不成功

returnErrorSolution

String

出错时解决办法的描述信息

returnMessage

String

返回执行成功的描述信息

returnValue

Object

响应结果对象


returnValue 响应字段说明

字段名

类型

必要

描述

reply

String

回复给用户的 TTS 文本信息

resultType

ResultType

回复时的状态标识,当值为 ASK_INF时,天猫精灵播放完回复内容后会自动开麦;当值为 RESULT 时,天猫精灵播放完回复内容后不会开麦

askedInfos

List<AskedInfoMsg>

追问的参数信息,可同时携带多个参数。

executeCode

String

"SUCCESS"代表执行成功;

"PARAMS_ERROR"代表接收到的请求参数出错;

"EXECUTE_ERROR"代表自身代码有异常;

"REPLY_ERROR"代表回复结果生成出错

gwCommands

List<GwCommand>

最新版响应协议定义的

command结构


askedInfos 字段说明:

字段名

类型

必要

描述

parameterName

String

追问的参数名称。

此名称是在意图中定义的,不是实体标识

intentId

Long

参数所在的意图ID。

线上领域和测试领域中的意图ID不同,要从请求数据中获取意图ID,请勿使用固定值


我们用common_reply() 把响应内容过程封装一下

有小伙伴看这里会问,好像在业务处理中没有看到参数的提问,parameter_name的值是None是怎么回事?

一方面是因为我们在智能应用平台配置意图时已经对缺少的参数进行了精灵追问,另一方面我们是对【guide】意图追问,而【guide】我们在配置时无参数。

收藏
全部回答1
最新
发布回答
回答