本文旨在介绍如何创建小爱训练计划。
通过创建专属训练计划,用户可以在设备上进行使用,也可以将个人创建的技能提交到小爱技能库中,获取大量的贡献值,让其他所有的用户都能使用该技能。
设备支持创建训练任务需要使用小米账号登录,当前支持两种方式进行训练计划接入,并各有优劣,开发者可以根据自身需求,选择合适的方式。
| 接入方式 | 优点 | 缺点 |
|---|---|---|
| 浏览器接入 | 接入操作简单 无开发经验的人员也可顺利接入 | 用户需要显式登录一次, 换相应的Oauth权限 创建的技能不支持视频和图片的上传 |
| API接入 | 支持录音/音频/视频/图片上传的能力,如果上传的是图片和视频,还需要注入cookie, ai_app_cap=img,video | 接入过程比较复杂 |
1、在浏览器中输入https://i.ai.mi.com/mico/aiauth?client_id=xxxxx&device_id=xxx 访问。其中client_id和device_id可以在开放平台中获取。
2、登录需要创建训练计划的小米账号。

3、击页面上的“创建一个技能”或者选择“批量创建技能”,界面上会给出示例。


4、在输入框中,填入需要提问的问题,如果有多个句式对应同一个答复内容,可以点击“添加句式”,输入多个问题,输入完成后,点击“下一步”。

5、对于小爱同学的答复,可以选择回答为一句话或者是其他音频文件,开发者根据自己的需求进行选择,也支持文字和音频文件同时回复。


创建完成后,开发者可以点击“预览”,查看创建的训练计划。开发者也可以提交知识库审核,待审核通过后,所有用户都可以使用该技能。

注意:
需要开发者协助用户完成一次授权操作, 并保存相关的Oauth token, 以便下次登录的时候实现免登录。
采用Oauth方式换取access_token,然后访问如下网址:
https://i.ai.mi.com/mico/aiauth?client_id=xxxx&device_id=xxx&scope_data=xxx#access_token=xxx (基于设备授权的方式)
access_token作为hash值,client_id、device_id和scope_data统一作为query值进行传递。
其中scope_data的生成规则是:btoa(JSON.stringify({d: device_id}))
完成第一步操作后,需要访问训练计划的Oauth2 API,进行训练任务的创建。
Oauth鉴权方法 ${clientId},${token},${scopeData}根据实际情况填写。
指定设备的鉴权需要在header填写 ,以下列举header的样式:
'Authorization: DO-TOKEN-V1 app_id:${clientId},access_token:${token},scope_data:${scopeData}'
参考:https://dev.mi.com/console/doc/detail?pId=897
指定应用的鉴权需要在header填写 ,以下列举header的样式:
'Authorization: AO-TOKEN-V1 dev_app_id:${clientId},access_token:${token}'
API相关操作
开发者可以按照以下表格中的要求,满足在创建训练任务过程中,需要执行的各种操作。通过调用API接口的代码,转化为用户可操作的可视化界面。

下文中示例代码可下载文档接入指导文档进行复制。
上传文件

token和url请求

文件下载

查询个人训练列表



查询指定组的个人训练



创建训练


修改训练

删除训练
