主动任务管理
1.相关说明
1.1 鉴权认证
API鉴权认证使用百度云通用鉴权方式,参考:https://cloud.baidu.com/doc/Reference/s/Njwvz1wot
1.2 相关概念
任务(Task):由自然语言描述经过大模型改写后生成的结构化检测任务,包含视觉事件定义、音频事件定义、触发策略、响应策略等配置。
视觉事件定义(Visual Event Definition):给视觉检测用的结构化规则集合,是核心的图像判定依据,包含判定描述、观测目标、必要/增强/排除信号等。
音频事件定义(Audio Event Definition):给ASR/文本检测用的结构化规则,用来判断听到的话是否说明事件正在发生。
触发策略(Trigger Policy):控制事件触发的去重与冷却规则,避免同一事件在短时间内重复触发。
响应策略(Response Policy):生成提醒话术时的风格和语气指导。
1.3 任务状态
| 中文 | 英文 |
|---|---|
| 创建中 | CREATING |
| 可用 | USABLE |
| 禁用 | FORBIDDEN |
| 已删除 | DELETED |
1.4 垂类检测类型
| 取值 | 说明 |
|---|---|
| general_scene | 通用场景 |
| facial_expression | 面部表情 |
| body_posture | 身体姿态 |
1.5 回复风格
| 取值 | 说明 |
|---|---|
| 关怀 | 语气温和但明确,像长辈提醒 |
| 严肃 | 语气正式,强调规则 |
| 轻松 | 语气活泼,不带压力 |
1.6 eventDefinitions(事件定义列表)
每个事件定义项的字段说明:
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| eventType | String | 事件类型,取值:visual(视觉事件)、audio(音频事件) |
| description | String | 一句话描述"什么算、什么不算",是判定边界摘要 |
| observationTargets | List |
让模型优先关注的对象/区域列表,如"人物"、"手机或平板" |
| requiredSignals | List |
必须满足的关键证据,越完整事件越成立 |
| enhancedSignals | List |
加分项,不是必须,但出现后会增强置信度 |
| continuousStatus | List |
达到什么状态才算真的发生,通常包含动作组合和持续时间要求 |
| exclusionSignals | List |
明确的误报排除条件,出现这些情况不该判成当前事件 |
| attentionalSignals | List |
容易混淆但本质不是该事件的相似动作,帮助模型做类别区分 |
| additionalVisualModel | List |
附加视觉模型(垂类检测),决定下游走哪类模型/规则,取值详见:1.4 垂类检测类型 |
1.7 postTriggerActions(触发后动作)
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| type | String | 动作类型,取值:tts_speaking(语音播报)、webhook(HTTP回调) |
| params | Object | 动作参数 |
1.8 triggerPolicy(触发策略)
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| description | String | 去重窗口内什么视觉变化才允许再次触发的描述,强调"变化标准" |
| coolingSeconds | Integer | 重触发冷却窗口秒数,归一化后限制在 5~120 |
2.任务管理
2.1 任务改写
2.1.1 接口描述
对自然语言描述的任务,使用大模型将其改写为结构化的任务JSON数据。本接口仅返回改写结果,不会创建任务。可用于在创建任务前预览大模型改写效果,或对改写结果进行调整后再通过创建任务接口提交。
2.1.2 请求(Request)
请求语法
1POST /api/v{version}/human_tasks/rewrite
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求体
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| description | String | 是 | 自然语言描述的任务内容,如"检测用户玩手机"、"检测老人摔倒" |
| taskName | String | 否 | 任务名称。若不传,则由大模型根据description自动生成 |
请求示例
1POST /api/v1/human_tasks/rewrite HTTP/1.1
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
5{
6 "description": "检测用户玩手机",
7 "taskName": "检测用户玩手机"
8}
2.1.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| taskName | String | 任务名称,若请求中未传则由大模型自动生成 |
| description | String | 原始自然语言描述 |
| eventDefinitions | List | 事件定义列表,详见1.6 eventDefinitions |
| postTriggerActions | List | 事件确认后要执行的动作列表,详见1.7 postTriggerActions |
| triggerPolicy | Object | 事件触发去重与冷却策略,详见1.8 triggerPolicy |
响应示例
1{
2 "taskName": "检测用户玩手机",
3 "description": "检测用户玩手机",
4 "eventDefinitions": [
5 {
6 "eventType": "visual",
7 "description": "只有在人物持续注视并主动操作手持电子屏幕时才判定为玩手机,短暂看一眼、接电话或拿普通物品不算。",
8 "observationTargets": ["人物", "手机或平板", "人物手部", "人物视线方向"],
9 "requiredSignals": [
10 "人物手中持有手机或平板等带屏幕电子设备",
11 "屏幕朝向人物本人且人物视线明显落在屏幕上",
12 "手指存在滑动、点击、双手持握浏览等持续操作动作"
13 ],
14 "enhancedSignals": [
15 "人物头部前倾或低头贴近屏幕",
16 "屏幕存在明显发光或界面内容"
17 ],
18 "continuousStatus": [
19 "至少同时满足手持电子屏幕、视线看向屏幕、存在持续操作动作三个条件,且持续超过3秒。"
20 ],
21 "exclusionSignals": [
22 "手机贴近耳朵处于接打电话状态",
23 "人物只是短暂看一眼时间或通知",
24 "人物举着手机朝外拍照录像",
25 "手里拿的是纸张、卡片、零食、遥控器等非电子设备",
26 "人物仅拿着设备但视线没有看向屏幕"
27 ],
28 "attentionalSignals": [
29 "拿普通小物件靠近脸部",
30 "握着手机但没有明显操作动作",
31 "边走边拿手机但没有持续注视屏幕"
32 ],
33 "additionalVisualModel": ["general_scene", "body_posture"],
34 "prerequisiteVisualEvents": [
35 {
36 "eventName": "xxx",
37 "description": "xxx"
38 }
39 ]
40 }
41 ],
42 "postTriggerActions": [
43 {
44 "type": "tts_speaking",
45 "params": {
46 "replyStyle": "关怀"
47 }
48 }
49 ],
50 "triggerPolicy": {
51 "description": "若仍是同一人在同一位置持续看同一设备且姿态变化不大,则不重复触发;若换人、停下后再次开始、或设备/位置明显变化,则可再次触发。",
52 "coolingSeconds": 20
53 }
54}
2.2 创建任务
2.2.1 接口描述
创建任务,直接传入结构化的任务数据(eventDefinitions、postTriggerActions、triggerPolicy)。适用于用户先调用2.1 任务改写接口预览改写结果,确认后再将改写结果传入本接口创建任务的场景。
2.2.2 请求(Request)
请求语法
1POST /api/v{version}/human_tasks
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求体
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| description | String | 否 | 任务描述。结构化模式传入,用于记录任务的概要说明 |
| taskName | String | 否 | 任务名称。若不传,自然语言模式下由大模型自动生成,结构化模式下必传 |
| callUrl | String | 否 | http协议的回调地址 |
| eventDefinitions | List | 否 | 事件定义列表,详见1.6 eventDefinitions。结构化模式下必传,自然语言模式下不可传 |
| postTriggerActions | List | 否 | 事件确认后要执行的动作列表,详见1.7 postTriggerActions。结构化模式下可传,自然语言模式下不可传 |
| triggerPolicy | Object | 否 | 事件触发去重与冷却策略,详见1.8 triggerPolicy。结构化模式下可传,自然语言模式下不可传 |
请求示例
1POST /api/v1/human_tasks
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
5{
6 "taskName": "检测用户玩手机",
7 "description": "检测用户玩手机",
8 "callUrl": "http://placeholder/v1/events",
9 "eventDefinitions": [
10 {
11 "eventType": "visual",
12 "description": "只有在人物持续注视并主动操作手持电子屏幕时才判定为玩手机,短暂看一眼、接电话或拿普通物品不算。",
13 "observationTargets": ["人物", "手机或平板", "人物手部", "人物视线方向"],
14 "requiredSignals": [
15 "人物手中持有手机或平板等带屏幕电子设备",
16 "屏幕朝向人物本人且人物视线明显落在屏幕上",
17 "手指存在滑动、点击、双手持握浏览等持续操作动作"
18 ],
19 "enhancedSignals": [
20 "人物头部前倾或低头贴近屏幕",
21 "屏幕存在明显发光或界面内容"
22 ],
23 "continuousStatus": [
24 "至少同时满足手持电子屏幕、视线看向屏幕、存在持续操作动作三个条件,且持续超过3秒。"
25 ],
26 "exclusionSignals": [
27 "手机贴近耳朵处于接打电话状态",
28 "人物只是短暂看一眼时间或通知",
29 "人物举着手机朝外拍照录像",
30 "手里拿的是纸张、卡片、零食、遥控器等非电子设备",
31 "人物仅拿着设备但视线没有看向屏幕"
32 ],
33 "attentionalSignals": [
34 "拿普通小物件靠近脸部",
35 "握着手机但没有明显操作动作",
36 "边走边拿手机但没有持续注视屏幕"
37 ],
38 "additionalVisualModel": ["general_scene", "body_posture"]
39 }
40 ],
41 "postTriggerActions": [
42 {
43 "type": "tts_speaking",
44 "params": {
45 "replyStyle": "关怀"
46 }
47 }
48 ],
49 "triggerPolicy": {
50 "description": "若仍是同一人在同一位置持续看同一设备且姿态变化不大,则不重复触发;若换人、停下后再次开始、或设备/位置明显变化,则可再次触发。",
51 "coolingSeconds": 20
52 }
53}
2.2.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| taskId | String | 任务的唯一标识 |
响应示例
1{
2 "taskId": "task_8a3f1b2c4d5e6f7a"
3}
2.3 查询任务列表
2.3.1 接口描述
用于查询用户账号下的任务列表,支持分页查询和检索。
2.3.2 请求(Request)
请求语法
1GET /api/v{version}/human_tasks?pageNo={pageNo}&pageSize={pageSize}&taskNameOrId={taskNameOrId}&status={status}
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| pageNo | Integer | 是 | 第几页 |
| pageSize | Integer | 是 | 每页记录数 |
| taskNameOrId | String | 否 | 用于模糊搜索,支持检索 taskName 或 taskId |
| status | String | 否 | 任务状态过滤,取值详见:1.3 任务状态 |
请求示例
1GET /api/v1/human_tasks?pageNo=1&pageSize=10&taskNameOrId=玩手机&status=USABLE
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
2.3.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| pageNo | int | 第几页 |
| pageSize | int | 每页记录数 |
| totalCount | int | 账户下可见的任务总记录数 |
| data | List | 任务列表 |
| + taskId | String | 任务的唯一标识 |
| + taskName | String | 任务名称 |
| + status | String | 任务状态,取值详见:1.3 任务状态 |
| + createTime | String | 创建时间,北京时间格式,如 2026-04-14 10:30:00 |
响应示例
1{
2 "pageNo": 1,
3 "pageSize": 10,
4 "totalCount": 2,
5 "data": [
6 {
7 "taskId": "task_8a3f1b2c4d5e6f7a",
8 "taskName": "检测用户玩手机",
9 "status": "USABLE",
10 "createTime": "2026-04-14 10:30:00"
11 },
12 {
13 "taskId": "task_9b4e2c3d5e6f7a8b",
14 "taskName": "检测用户持续玩手机",
15 "status": "USABLE",
16 "createTime": "2026-04-13 14:20:00"
17 }
18 ]
19}
2.4 查询任务详情
2.4.1 接口描述
根据任务ID,查询任务的完整详情信息,包含大模型改写后的结构化任务数据。
2.4.2 请求(Request)
请求语法
1GET /api/v{version}/human_tasks/{taskId}
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求路径参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| taskId | String | 是 | 任务的唯一标识 |
请求示例
1GET /api/v1/human_tasks/task_8a3f1b2c4d5e6f7a
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
2.4.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
| 参数名 | 参数类型 | 参数描述 |
|---|---|---|
| taskId | String | 任务的唯一标识 |
| taskName | String | 任务名称,作为统一事件标识使用 |
| status | String | 任务状态,取值详见:1.3 任务状态 |
| description | String | 任务描述 |
| callUrl | String | http协议的回调地址 |
| createTime | String | 创建时间,北京时间格式,如 2026-04-14 10:30:00 |
| eventDefinitions | List | 事件定义列表,详见1.6 eventDefinitions |
| postTriggerActions | List | 事件确认后要执行的动作列表,详见1.7 postTriggerActions |
| triggerPolicy | Object | 事件触发去重与冷却策略,详见1.8 triggerPolicy |
响应示例
1{
2 "taskId": "task_8a3f1b2c4d5e6f7a",
3 "taskName": "检测用户玩手机",
4 "status": "USABLE",
5 "description": "检测用户玩手机",
6 "callUrl": "http://placeholder/v1/events",
7 "createTime": "2026-04-14 10:30:00",
8 "eventDefinitions": [
9 {
10 "eventType": "visual",
11 "description": "只有在人物持续注视并主动操作手持电子屏幕时才判定为玩手机,短暂看一眼、接电话或拿普通物品不算。",
12 "observationTargets": ["人物", "手机或平板", "人物手部", "人物视线方向"],
13 "requiredSignals": [
14 "人物手中持有手机或平板等带屏幕电子设备",
15 "屏幕朝向人物本人且人物视线明显落在屏幕上",
16 "手指存在滑动、点击、双手持握浏览等持续操作动作"
17 ],
18 "enhancedSignals": [
19 "人物头部前倾或低头贴近屏幕",
20 "屏幕存在明显发光或界面内容"
21 ],
22 "continuousStatus": [
23 "至少同时满足手持电子屏幕、视线看向屏幕、存在持续操作动作三个条件,且持续超过3秒。"
24 ],
25 "exclusionSignals": [
26 "手机贴近耳朵处于接打电话状态",
27 "人物只是短暂看一眼时间或通知",
28 "人物举着手机朝外拍照录像",
29 "手里拿的是纸张、卡片、零食、遥控器等非电子设备",
30 "人物仅拿着设备但视线没有看向屏幕"
31 ],
32 "attentionalSignals": [
33 "拿普通小物件靠近脸部",
34 "握着手机但没有明显操作动作",
35 "边走边拿手机但没有持续注视屏幕"
36 ],
37 "additionalVisualModel": ["general_scene", "body_posture"]
38 }
39 ],
40 "postTriggerActions": [
41 {
42 "type": "tts_speaking",
43 "params": {
44 "replyStyle": "关怀"
45 }
46 }
47 ],
48 "triggerPolicy": {
49 "description": "若仍是同一人在同一位置持续看同一设备且姿态变化不大,则不重复触发;若换人、停下后再次开始、或设备/位置明显变化,则可再次触发。",
50 "coolingSeconds": 20
51 }
52}
2.5 删除任务
2.5.1 接口描述
根据任务ID删除单个任务。删除后任务状态变更为DELETED,不可恢复。
2.5.2 请求(Request)
请求语法
1DELETE /api/v{version}/human_tasks/{taskId}
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求路径参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| taskId | String | 是 | 任务的唯一标识 |
请求示例
1DELETE /api/v1/human_tasks/task_8a3f1b2c4d5e6f7a
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
2.5.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
无
2.6 批量删除任务
2.6.1 接口描述
根据任务ID列表批量删除任务,为原子操作,要么全部成功,要么全部失败。删除后任务状态变更为DELETED,不可恢复。
2.6.2 请求(Request)
请求语法
1DELETE /api/v{version}/human_tasks?taskIds={taskIds}
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| taskIds | String | 是 | 待删除的任务ID,以英文逗号分隔,如 task_abc,task_def |
请求示例
1DELETE /api/v1/human_tasks?taskIds=task_8a3f1b2c4d5e6f7a,task_9b4e2c3d5e6f7a8b
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
2.6.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
无
2.7 修改任务
2.7.1 接口描述
修改任务信息。直接传入结构化的任务数据,服务端全量覆盖更新。
更新时,请求体中传入的参数采用全量覆盖策略,对于未做更新的字段也应原封不动地带回。
2.7.2 请求(Request)
请求语法
1PUT /api/v{version}/human_tasks/{taskId}
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求路径参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| taskId | String | 是 | 任务的唯一标识 |
请求体
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| taskName | String | 否 | 任务名称 |
| description | String | 否 | 任务描述 |
| callUrl | String | 否 | http协议的回调地址 |
| eventDefinitions | List | 事件定义列表,详见1.6 eventDefinitions | |
| postTriggerActions | List | 事件确认后要执行的动作列表,详见1.7 postTriggerActions | |
| triggerPolicy | Object | 事件触发去重与冷却策略,详见1.8 triggerPolicy |
请求示例
1PUT /api/v1/human_tasks/task_8a3f1b2c4d5e6f7a
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
5{
6 "taskName": "检测用户玩手机",
7 "description": "检测用户玩手机",
8 "callUrl": "http://placeholder/v1/events",
9 "eventDefinitions": [
10 {
11 "eventType": "visual",
12 "description": "只有在人物持续注视并主动操作手持电子屏幕时才判定为玩手机,短暂看一眼、接电话或拿普通物品不算。",
13 "observationTargets": ["人物", "手机或平板", "人物手部", "人物视线方向"],
14 "requiredSignals": [
15 "人物手中持有手机或平板等带屏幕电子设备",
16 "屏幕朝向人物本人且人物视线明显落在屏幕上",
17 "手指存在滑动、点击、双手持握浏览等持续操作动作"
18 ],
19 "enhancedSignals": [
20 "人物头部前倾或低头贴近屏幕",
21 "屏幕存在明显发光或界面内容"
22 ],
23 "continuousStatus": [
24 "至少同时满足手持电子屏幕、视线看向屏幕、存在持续操作动作三个条件,且持续超过5秒。"
25 ],
26 "exclusionSignals": [
27 "手机贴近耳朵处于接打电话状态",
28 "人物只是短暂看一眼时间或通知",
29 "人物举着手机朝外拍照录像",
30 "手里拿的是纸张、卡片、零食、遥控器等非电子设备",
31 "人物仅拿着设备但视线没有看向屏幕"
32 ],
33 "attentionalSignals": [
34 "拿普通小物件靠近脸部",
35 "握着手机但没有明显操作动作",
36 "边走边拿手机但没有持续注视屏幕"
37 ],
38 "additionalVisualModel": ["general_scene", "body_posture"]
39 }
40 ],
41 "postTriggerActions": [
42 {
43 "type": "tts_speaking",
44 "params": {
45 "replyStyle": "严肃"
46 }
47 }
48 ],
49 "triggerPolicy": {
50 "description": "若仍是同一人在同一位置持续看同一设备且姿态变化不大,则不重复触发;若换人、停下后再次开始、或设备/位置明显变化,则可再次触发。",
51 "coolingSeconds": 30
52 }
53}
2.7.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
无
3.任务与互动应用关联
3.1 绑定任务
3.1.1 接口描述
将一个或多个任务绑定到指定的互动应用上,一个应用可绑定多个任务。每次都是全量更新,因此需要传入全部的任务。
3.1.2 请求(Request)
请求语法
1PUT /v1/apps/{appId}/llm
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求路径参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| appId | String | 是 | 应用的唯一标识 |
请求体
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| type | String | 是 | 大模型配置的类型,这里默认传SYSTEM |
| humanTaskIdList | List |
是 | 待绑定的任务ID列表 |
请求示例
1PUT /v1/apps/testAppId/llm
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
5{
6 "type": "SYSTEM",
7 "humanTaskIdList":["task_hsdskbthcd7ze0x"]
8}
3.1.3 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
无
3.2 解绑任务
3.2.2 接口描述
解绑全部的任务
3.2.3 请求(Request)
请求语法
1PUT /v1/apps/{appId}/llm
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
请求头域
除公共头域外,无其它特殊头域。
请求路径参数
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| appId | String | 是 | 应用的唯一标识 |
请求体
| 参数名 | 参数类型 | 必要性 | 参数描述 |
|---|---|---|---|
| type | String | 是 | 大模型配置的类型,这里默认传SYSTEM |
| humanTaskIdList | List |
是 | 空的task列表,此处必须传空的列表 |
请求示例
1PUT /v1/apps/testAppId/llm
2host: rtc-aiagent.baidubce.com
3content-type: application/json
4authorization: <bce-authorization-string>
5{
6 "type": "SYSTEM",
7 "humanTaskIdList":[]
8}
3.2.4 响应(Response)
响应头域
除公共头域外,无其它特殊头域。
响应体
无
评价此篇文章
