修改label-master

This commit is contained in:
wangsenhao
2026-06-08 14:43:44 +08:00
parent 84e792285b
commit 54bc581cf2
11 changed files with 519 additions and 25 deletions
@@ -102,3 +102,171 @@ VisionQA(imageSource="PHOTO",direction="前",object=x0)
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=["后排"]))
```