更新时间:2025-06-26 06:06:41下载pdf
自控指令 是指通过用户与设备自身的对话,直接驱动设备执行对应操作的指令集合。适用于具备语音或文本交互能力的智能设备,例如 AI 娃娃、AI 机器人、智能饮水机等。
举例来说,当用户向机器人发出 “向前走”、“跳个舞” 的指令,或对 AI 娃娃说 “把声音调低”、“电量还有多少” 时,系统需要将这些自然语言转化为设备能够识别并执行的控制指令。这些控制能力的实现依赖于设备云端预先设置的 “自控指令”,其作用是在完成语义识别后精准下发指令。
表达式是一组多样化的指令表述,用于匹配用户的自然语言输入。它们与自控指令一一对应,能够提升系统对用户指令的识别率和匹配命中率。
例如,自控指令 “打开灯” 可能对应多个表达式,如 “把灯打开”、“灯开一下”、“开启灯光”、“打开房间灯” 等。通过维护丰富的表达式集合,系统能够识别用户在不同语境下的多样表达方式,并准确触发相应的设备控制动作。
类型 | 定义 | 典型场景及表达式 | 指令配置主体 | 控制触发方式 |
---|---|---|---|---|
自控指令 | 当前设备 自己识别语义并执行指令,用于设备与用户直接对话控制自身功能 |
|
当前设备本身 | 用户对设备说话(语音/文本) |
他控指令 | 当前设备 被其他设备控制,用于构建跨设备联动控制场景,如音响控制空调等 |
|
被控设备,例如音响控制灯,则灯需要配置被控指令,才能够被音响控制 | 用户对主控设备说话(语音/文本)发起设备控制 |
当设备需要具备 自主理解并响应用户语音/文本指令 的能力时,应配置自控指令。适用于以下典型场景:
设备具备语音交互能力,用户直接与设备对话。如 AI 娃娃、机器人、饮水机等。
示例:“声音调低”、“还剩多少电”
设备内置控制能力强,可控制自身硬件行为。定制化语义需求强,需支持多种表达说法。
示例:“播放故事”、“跳个舞”、“加热水”。
支持通过平台自定义表达式、意图和槽位配置。
家庭灯光控制
温控器控制
当设备对应的 PID 配置了 AI 自控指令,比如温控器、设置了温度指令且智能体配置了 “设备自控” 插件时,与 AI 对话即可实现设备控制。
产品 AI 能力中绑定智能体,且该智能体已添加 设备自控技能。
产品完成自控指令 配置并发布。注意,发布后预计 20 分钟左右生效。
配置 DP 指令是实现设备自控的基础。
首先,进入 涂鸦开发者平台,单击左侧菜单栏上的 智能体 > 智能体配置 > AI 控制指令配置,进入 AI 产品指令配置 页面,然后单击 自控指令。
如当前产品已有指令配置,会在页面显示品类已配置的功能指令。可以单击页面下方的 修改指令方案 对现有版本的修改进行确认,然后单击 确定 并开始指令配置的流程。请注意,指令方案修改后需要重新发布。
然后,根据需要选择添加 DP 指令或者非 DP 指令。详细配置步骤,请分别参考以下内容:
DP 指令为用于控制设备的功能点,例如开关、调节亮度、设置模式等。完成 DP 的结构和类型定义后,平台即可自动完成意图解析和指令下发。
首先,单击 添加指令,选择 DP 指令,然后在 创建自控指令 页面完成以下指令配置:
选择该指令需要支持的语种,用于后续表达式的本地化匹配。例如:
语言选择影响表达式的匹配效果,请务必根据实际用户使用语言进行配置。
在设备的功能定义中选择需要控制的 DP,平台支持以下 DP 类型:
Bool
:布尔类型Enum
:枚举类型Value
:数值类型String
:字符串类型目前暂不支持 Raw
类型。
不同的 DP 类型可配置的指令类型不同,详见下表:
DP 类型 | 可选指令类型 |
---|---|
Bool | 设置(如:打开、关闭) |
Enum | 设置(如:切换到某一模式) |
Value | 设置、调高、调低(如:设置亮度为 80%,调高温度) |
String | 设置(如:播放特定歌曲) |
配置 DP 值的同义词,能够实现表达的统一归一化,让用户用多样化的表述方式都可以准确命中正确指令。
例如:
on
,可配置同义词为:启动
、激活
、开启
off
,可配置同义词为:关闭
、休眠
、停止
配置方式:
#dpValue#
占位符动态引用匹配的同义词。仅布尔、枚举类 DP 支持维护同义词。
表达式用于匹配用户的自然语言输入,并触发对应指令。配置建议如下:
#percentValue#
表示百分比值,适用于数值型 DP。#dpValue#
表示 DP 值同义词。设备类型 | 指令类型 | DP 类型 | 表达式举例(中文) | 表达式举例(英文) | 下发值说明 |
---|---|---|---|---|---|
AI 娃娃 | DP | 数值 | 把音量调到#number# | Set the volume to #dpValue# | DP:volume(如 DP ID:101),值 = #number# |
DP | 数值 | 音量调高一点 | Increase the volume a bit | DP:volume,值 = 当前值 + 10(示例) | |
DP | 数值 | 降低音量 | Lower the volume | DP:volume,值 = 当前值 - 10(示例) | |
机器人 | 非DP | - | 向前走 | Move forward | 开发者自定义下发值:forward(示例) |
非DP | - | 向后退 | Move backward | 开发者自定义下发值:backward(示例) | |
非DP | - | 给我跳个舞 | Do a dance for me | 开发者自定义下发值:dance(示例) | |
非DP | - | 向左转 | Turn left | 开发者自定义下发值:left(示例) | |
非DP | - | 往右边走几步 | Walk a few steps to the right | 开发者自定义下发值:walk(示例) |
#dpValue#
占位符动态赋值。forward
、dance
,在设备端进行解析执行。完成以上配置后,点击保存指令配置,即可在方案列表中看到指令信息。
非 DP 指令适用于特定场景,在此类场景中,设备无需依赖平台定义的 DP,而是借助自定义的控制指令来完成交互。例如机器人、机械臂等具备自定义协议解析能力的设备,就可使用非 DP 指令进行交互。
首先,单击 添加指令,选择 非 DP 指令。然后,在 创建自控指令 页面完成以下配置:
选择指令支持的语种,便于构建多语言的自然语言交互能力。每种语种需要配置对应的表达式。
例如:
为每条非 DP 指令配置一个自定义的指令 Code,用于标识设备要执行的具体动作。
指令 Code 是设备识别该指令的唯一标识,建议保持其简洁明了。
为每个指令配置多个表达式,以支持用户的多样化语音或文字输入。
示例:
表达式(中文) | 表达式(英文) |
---|---|
向前走 | Move forward |
给我跳个舞 | Do a dance for me |
向右转一下 | Turn right |
可以使用占位符(如 #dpValue#
)提升表达式通用性和扩展性。
非 DP 指令支持自定义下发值,由设备端自主解析:
示例:
指令 Code | 下发内容(示例) | 说明 |
---|---|---|
forward | { "action": "move", "dir": "fwd" } |
向前移动 |
dance | "action_dance" |
执行舞蹈动作(字符串命令) |
turn_left | { "cmd": "turn", "value": "left" } |
左转动作命令 |
完成指令方案的配置后,单击页面下方的 确认配置,前往体验。
参考以下流程进行指令的体验:
测试完成后,单击页面下方的 下一步:发布生效 来发布指令使其生效。请注意,发布后则无法撤回。确认无误,单击 确定。发布后,页面会显示为 发布生效。
可以通过单击 版本管理 进入 历史版本 页面来查看和编辑指令的发布版本。
也可以单击 新增版本 来体验配置并发布新的指令版本。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈