Files
zk-data-agent/skills/label-master/knowledge/输出能力/对象目录.md
T
2026-06-08 14:43:44 +08:00

273 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 对象目录
object 用于辅助 function 填参,通常不单独作为最终 target。只有目标 function 的参数需要 object 时才抽取。
## Location
返回类型:`object`
功能范围:获取用户所在或 query 指定的位置信息,包括国家、省份、城市、县/区、乡镇、景点或 POI,用于辅助地点相关查询。
参数:
| 参数 | 说明 |
| --- | --- |
| country | Optional[str] 国家名称 |
| province | Optional[str] 省份名称 |
| city | Optional[str] 城市名称 |
| district | Optional[str] 县/区名称 |
| town | Optional[str] 乡镇名称 |
| poi | Optional[str] 景点或 POI 信息 |
示例:
```text
x0=Location(country="美国",province="华盛顿",city="西雅图")
CalendarQA(type="TIME",target_time="现在",location=x0)
```
## PersonalDate
返回类型:`object`
功能范围:获取用户个人相关的特定时间点,如生日、结婚纪念日,或者亲人、朋友的时间纪念日,用于辅助个人相关时间查询。
参数:
| 参数 | 说明 |
| --- | --- |
| type | 枚举:BIRTHDAY(生日),ANNIVERSARY(结婚纪念日) |
| relation | List[str] 关系人,可以是本人、父母、配偶、子女、朋友姓名等 |
示例:
```text
x0=PersonalDate(type="BIRTHDAY",relation=["本人"])
TimeDistance(type="DAY",start_time="现在",end_time=x0)
```
## Resource
返回类型:`object`
功能范围:资源类信息,包括文档、图片、视频、音频、网页等,用于辅助总结、问答或资源处理。
参数:
| 参数 | 说明 |
| --- | --- |
| type | 枚举:DOC、URL、IMAGE、VIDEO、AUDIO |
示例:
```text
x0=Resource(type="DOC")
Summarize(object=x0)
```
## VisionQA 辅助对象
以下对象常作为 `VisionQA``object` 参数,用于给视觉问答增加业务类型约束:
| 对象 | 说明 |
| --- | --- |
| Vehicle | 车辆信息,可包含 color、brand、type |
| Food | 食物场景 |
| Icon | 图标、按钮、界面元素 |
| Person | 人物场景 |
| Animal | 动物场景 |
| Plant | 植物场景 |
| Text | 文字、题目、阅读场景 |
示例:
```text
x0=Vehicle(brand="奔驰")
VisionQA(imageSource="PHOTO",direction="前",object=x0)
```
## 生成类辅助对象
`Generate` 可使用如下对象:
| 对象 | 说明 |
| --- | --- |
| Video | 视频 |
| Image | 图片 |
| Text | 文本 |
示例:
```text
x0=Image()
Generate(object=x0)
```
## Device
返回类型:`object`
功能范围:当 query 中出现"主控设备 / 房间 / 空间 / 车内位置 / 设备模式"任一类信息时,作为 function 的 `device=` 参数补充设备约束。
### 任务定义(什么时候抽 Device)
- **抽**query 显式表达"指定某个主控设备执行某个动作",例如"电视播放小猪佩奇"。
- **不抽**query 中的设备是**被控设备**而非主控设备,例如"空调调到二十六度"——空调是被控对象,不抽 `device`
判断要点:query 是不是在告诉系统「请用 X 这个设备执行 Y 动作」?是 → 抽 X 进 device。X 仅作为动作目标 → 不抽。
### 抽取槽位
| 槽位 | 类型 | 描述 |
| --- | --- | --- |
| `category` | `List[str]` | 主控设备类型,**按词表归一化**(见下) |
| `room` | `List[str]` | 房间名,不归一化,直接抽 query 中出现的房间 |
| `space` | `List[str]` | 空间类型,可选值:`家``车` |
| `location` | `List[str]` | 车上设备位置,不归一化,直接抽 query 中出现的位置 |
| `mode` | `str` | 模式类型,可选值:`AllDevice`(指定全部设备)、`WholeHousePlay`(全屋播放) |
### 主控设备归一化词表(`category` 槽用)
| `category` 归一化值 | query 泛化词 |
| --- | --- |
| 手机 | 手机、折叠机、全面屏、红米手机、小米手机 |
| 平板 | 平板、pad |
| 音箱 | 音箱、音响、无屏音箱、sound、sound pro、AI 音箱、Sound、有屏音箱、触屏音箱、带屏音箱 |
| 闺蜜机 | 闺蜜机 |
| 电视 | 电视、TV、蓝牙电视、红外电视、65 寸电视、75 寸电视、85 寸电视、100 寸电视、小米电视、红米电视、小米盒子、电视盒子 |
| 中控屏 | 家庭屏、智慧屏、智能家庭屏、智慧面板、中控屏、车机、车载屏幕、中控 |
| 手表 | 手表、智能手表、小米手表、儿童手表 |
| 手环 | 手环、智能手环、小米手环 |
| 耳机 | 耳机、蓝牙耳机、小米耳机 |
| 眼镜 | 眼镜、智能眼镜、AI 眼镜、小米眼镜 |
| 投影仪 | 投影仪 |
| 显示器 | 显示器、显示屏 |
| 笔记本电脑 | 电脑、笔记本、笔记本电脑、笔电 |
> 词表外的设备 query 字面(含"屏"/"屏幕"等独立词),按 query 字面量保留写入 `category`,不强行归一。
### 抽取示例
#### 只包含设备信息
```text
电视播放小猪佩奇
→ Agent(tag="视频播放",device=Device(category=["电视"]))
音箱回答我天空为什么这么蓝
→ QA(device=Device(category=["音箱"]))
```
#### 只包含房间信息
```text
卧室播放儿歌
→ Agent(tag="音乐播放",device=Device(room=["卧室"]))
客厅播放海绵宝宝
→ Agent(tag="视频播放",device=Device(room=["客厅"]))
```
#### 只包含空间信息
```text
家里播放音乐
→ Agent(tag="音乐播放",device=Device(space=["家"]))
车上放个电影
→ Agent(tag="视频播放",device=Device(space=["车"]))
```
#### 只包含位置信息
```text
后排播放电台
→ Agent(tag="电台播放",device=Device(location=["后排"]))
前排播放音乐
→ Agent(tag="音乐播放",device=Device(location=["前排"]))
```
#### 包含设备 + 房间
```text
客厅音箱播放青花瓷
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["客厅"]))
卧室电视播报一下天气
→ WeatherQA(device=Device(category=["电视"],room=["卧室"]))
```
#### 包含设备 + 位置
```text
后排电视打开抖音
→ Agent(tag="应用控制",device=Device(category=["电视"],location=["后排"]))
二排电视画一个小狗
→ x0=Image()
Generate(object=x0,device=Device(category=["电视"],location=["二排"]))
```
#### 包含设备 + 位置 + 空间
```text
让我车上后排的电视唱一首歌
→ Agent(tag="音乐播放",device=Device(category=["电视"],space=["车"],location=["后排"]))
车上后排电视报一下天气
→ WeatherQA(device=Device(category=["电视"],space=["车"],location=["后排"]))
```
#### 包含设备 + 房间 + 空间
```text
家里主卧的音箱播放周杰伦的歌
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["主卧"],space=["家"]))
让我家客厅的电视播放熊出没
→ Agent(tag="视频播放",device=Device(category=["电视"],room=["客厅"],space=["家"]))
```
#### 全部设备模式(mode="AllDevice"
```text
全部电视播放小猪佩奇
→ Agent(tag="视频播放",device=Device(category=["电视"],mode="AllDevice"))
全部音箱停止播放音乐
→ Agent(tag="播放器控制",device=Device(category=["音箱"],mode="AllDevice"))
```
#### 全屋播放模式(mode="WholeHousePlay",线上未实现,仅协议定义)
```text
全屋播放小猪佩奇
→ Agent(tag="视频播放",device=Device(mode="WholeHousePlay"))
全屋播放青花瓷
→ Agent(tag="音乐播放",device=Device(mode="WholeHousePlay"))
```
#### 被动多轮(继承上一轮的 device)
```text
q1: 客厅电视播放电影
q2: 声音大点
→ Agent(tag="系统控制",device=Device(category=["电视"],room=["客厅"]))
q1: 卧室音箱播放音乐
q2: 播放周杰伦的歌
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["卧室"]))
```
#### 特殊规则("屏"/"屏幕"不归一)
```text
前排屏播放音乐
→ Agent(tag="音乐播放",device=Device(category=["屏"],location=["前排"]))
后排屏幕播放动画片
→ Agent(tag="视频播放",device=Device(category=["屏幕"],location=["后排"]))
```