7.8 KiB
7.8 KiB
对象目录
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 信息 |
示例:
x0=Location(country="美国",province="华盛顿",city="西雅图")
CalendarQA(type="TIME",target_time="现在",location=x0)
PersonalDate
返回类型:object
功能范围:获取用户个人相关的特定时间点,如生日、结婚纪念日,或者亲人、朋友的时间纪念日,用于辅助个人相关时间查询。
参数:
| 参数 | 说明 |
|---|---|
| type | 枚举:BIRTHDAY(生日),ANNIVERSARY(结婚纪念日) |
| relation | List[str] 关系人,可以是本人、父母、配偶、子女、朋友姓名等 |
示例:
x0=PersonalDate(type="BIRTHDAY",relation=["本人"])
TimeDistance(type="DAY",start_time="现在",end_time=x0)
Resource
返回类型:object
功能范围:资源类信息,包括文档、图片、视频、音频、网页等,用于辅助总结、问答或资源处理。
参数:
| 参数 | 说明 |
|---|---|
| type | 枚举:DOC、URL、IMAGE、VIDEO、AUDIO |
示例:
x0=Resource(type="DOC")
Summarize(object=x0)
VisionQA 辅助对象
以下对象常作为 VisionQA 的 object 参数,用于给视觉问答增加业务类型约束:
| 对象 | 说明 |
|---|---|
| Vehicle | 车辆信息,可包含 color、brand、type |
| Food | 食物场景 |
| Icon | 图标、按钮、界面元素 |
| Person | 人物场景 |
| Animal | 动物场景 |
| Plant | 植物场景 |
| Text | 文字、题目、阅读场景 |
示例:
x0=Vehicle(brand="奔驰")
VisionQA(imageSource="PHOTO",direction="前",object=x0)
生成类辅助对象
Generate 可使用如下对象:
| 对象 | 说明 |
|---|---|
| Video | 视频 |
| Image | 图片 |
| 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,不强行归一。
抽取示例
只包含设备信息
电视播放小猪佩奇
→ Agent(tag="视频播放",device=Device(category=["电视"]))
音箱回答我天空为什么这么蓝
→ QA(device=Device(category=["音箱"]))
只包含房间信息
卧室播放儿歌
→ Agent(tag="音乐播放",device=Device(room=["卧室"]))
客厅播放海绵宝宝
→ Agent(tag="视频播放",device=Device(room=["客厅"]))
只包含空间信息
家里播放音乐
→ Agent(tag="音乐播放",device=Device(space=["家"]))
车上放个电影
→ Agent(tag="视频播放",device=Device(space=["车"]))
只包含位置信息
后排播放电台
→ Agent(tag="电台播放",device=Device(location=["后排"]))
前排播放音乐
→ Agent(tag="音乐播放",device=Device(location=["前排"]))
包含设备 + 房间
客厅音箱播放青花瓷
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["客厅"]))
卧室电视播报一下天气
→ WeatherQA(device=Device(category=["电视"],room=["卧室"]))
包含设备 + 位置
后排电视打开抖音
→ Agent(tag="应用控制",device=Device(category=["电视"],location=["后排"]))
二排电视画一个小狗
→ x0=Image()
Generate(object=x0,device=Device(category=["电视"],location=["二排"]))
包含设备 + 位置 + 空间
让我车上后排的电视唱一首歌
→ Agent(tag="音乐播放",device=Device(category=["电视"],space=["车"],location=["后排"]))
车上后排电视报一下天气
→ WeatherQA(device=Device(category=["电视"],space=["车"],location=["后排"]))
包含设备 + 房间 + 空间
家里主卧的音箱播放周杰伦的歌
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["主卧"],space=["家"]))
让我家客厅的电视播放熊出没
→ Agent(tag="视频播放",device=Device(category=["电视"],room=["客厅"],space=["家"]))
全部设备模式(mode="AllDevice")
全部电视播放小猪佩奇
→ Agent(tag="视频播放",device=Device(category=["电视"],mode="AllDevice"))
全部音箱停止播放音乐
→ Agent(tag="播放器控制",device=Device(category=["音箱"],mode="AllDevice"))
全屋播放模式(mode="WholeHousePlay",线上未实现,仅协议定义)
全屋播放小猪佩奇
→ Agent(tag="视频播放",device=Device(mode="WholeHousePlay"))
全屋播放青花瓷
→ Agent(tag="音乐播放",device=Device(mode="WholeHousePlay"))
被动多轮(继承上一轮的 device)
q1: 客厅电视播放电影
q2: 声音大点
→ Agent(tag="系统控制",device=Device(category=["电视"],room=["客厅"]))
q1: 卧室音箱播放音乐
q2: 播放周杰伦的歌
→ Agent(tag="音乐播放",device=Device(category=["音箱"],room=["卧室"]))
特殊规则("屏"/"屏幕"不归一)
前排屏播放音乐
→ Agent(tag="音乐播放",device=Device(category=["屏"],location=["前排"]))
后排屏幕播放动画片
→ Agent(tag="视频播放",device=Device(category=["屏幕"],location=["后排"]))