数据资源

语音交互不仅仅是一问一答,语音技能通常需要查询资源来获取一些信息。如用户询问“今天天气怎么样”时就需要使用查询天气相关信息的数据资源,从而回答用户的问题,给予用户所需的信息。

数据资源种类

数据资源根据来源可分为2类,API资源和Function,如下:

1、API资源分为web api和native api 2种,WebAPI即通过云端调用接口的API;NativeAPI即通过本地调用接口的API。

2、Function可看做是一种比较特殊的web api, 不需要开发者填写web地址,只需要提供一段代码块,由DUI平台自动生成web地址。DUI平台会自动把function代码部署到思必驰提供的服务器上,以数据源配置的参数作为输入参数,输出结果作为对话定制的数据源。

 

资源 地址 支持格式 依赖 灵活性 支持控件
Web api 云端服务 https://,http:// 需网络 需配置资源参数 视具体资源
Native api 客户端服务 (敬请期待) 客户端资源,如sdk、apk 需和客户端对接 视具体资源
Function 云端服务 Node.js,7.6.0+,python3 需联网 完全可自定义 视具体资源

资源配置

无论技能创建者使用哪种类型的数据资源,都需要完成资源配置。

API配置

配置步骤

1、选择使用API资源。您可以参照《API接口编写说明》来定义API。

2、在输入框中,填写API的地址。

3.添加API资源后地址栏右侧出现一个API配置按钮,点击后出现弹窗,在弹窗内根据API资源参数说明完成API配置。

Minion

配置规则

1、无需开发者手动配置默认参数:intent和duiWidget是默认参数,其中,intent是代表正在编写的意图;duiWidget代表技能创建者选择使用的DUI控件类型。因此,当选定要使用的控件类型后,DUI平台已经将这两个参数填写完毕,不可更改,不可删除。
2、开发者必须配置必需语义槽对应的API参数:一旦开发者将某个语义槽勾选为必需语义槽后,那么在API配置中不可删除该语义槽,且必须配置对应的API参数。如:意图【导航】中被必需语义槽#目的地#,在API配置时,就必须配置对应的参数“destination”。
3、开发者可按需配置非必需语义槽对应的API参数。如:意图【音乐】中有两个语义槽#歌手名#和#歌曲名#,这两个语义槽都是非必需语义槽,因此在API配置时,可以只配置对应#歌手名#的API参数“singer”或对应#歌曲名#的API参数“title”,或者两个语义槽都配置对应的API参数。

测试接口

完成API配置后,可点击按钮“测试接口”,无需将技能导入到客户端来进行测试。测试结果将以Json格式返回,并且可以查看使用该API后的控件样式。
注:只有使用web API才能使用“测试接口”的功能。当使用的是native api时,API配置弹窗中不展示测试示例的内容,并且不能使用测试接口的功能。

Minion

function 配置

Function即函数, 是由开发者编写的一段代码块, 用于适配并返回DUI控件所需的数据。Function 基于开源项目Fission,目前支持Node.js 6、Python 2.7。

配置步骤

1、如果团队没有已创建好的的Function,开发者就需要在选择编写Function以后,在出现的地址栏中选择创建新的Function,跳转步骤2;如果团队中已经有创建好的Function,开发者可以根据需要复用这些已创建的function,跳转步骤3或者创建新的function,跳转步骤2。
Minion
2、选择创建新的function后,会自动出现一个弹窗,在弹窗内完成function配置,并且填写function代码块,点击提交&测试按钮。
3、选择复用function后,点击地址栏右侧的配置function,在打开的对话框中完成参数配置。如果修改了复用的function的名称或代码,那么使用这个function的技能都会受到影响。

Function编写示例