Align label output target formats
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
输入理解
|
||||
-> 结构维度预判:自动任务 / 多指令 / complex
|
||||
-> 业务标签候选:候选召回、领域、标签、高频边界
|
||||
-> 输出能力判断:function program / intent / Agent 包装
|
||||
-> 输出能力判断:function program / Agent 包装 / 结构化外壳
|
||||
-> 组合最终结果
|
||||
-> 不确定则向用户确认
|
||||
```
|
||||
@@ -27,7 +27,6 @@
|
||||
如果是训练/评测数据生成,额外确认:
|
||||
|
||||
- 是否需要 function program。
|
||||
- 是否需要 intent。
|
||||
- 是否需要 `Agent(tag="xxx")` 包装。
|
||||
- 是否需要 complex、多指令、自动任务字段。
|
||||
|
||||
@@ -51,7 +50,7 @@
|
||||
- `索引/维度索引.md`
|
||||
- `判断维度/多指令判断.md`
|
||||
|
||||
多指令判断会给出多个 `subquery`。后续业务标签判断应对每个 subquery 分别进行。
|
||||
多指令判断会给出多个子句。后续业务标签判断应对每个子句分别进行,最终按多行 target 组合。
|
||||
|
||||
### complex
|
||||
|
||||
@@ -108,7 +107,7 @@ complex 是复杂度判断,独立于业务标签。它可以先粗判,但建
|
||||
- 这个类别是否已经 function 化。
|
||||
- function 是否需要参数。
|
||||
- 参数是否需要先构造 object。
|
||||
- 这个类别是否只是 intent。
|
||||
- 这个类别是否只是旧 tag / intent;如果没有明确 function,当前默认输出 `Agent(tag="xxx")`。
|
||||
- 当前任务是否要求 `Agent(tag="xxx")` 包装。
|
||||
- Agent 字段是否只是承接知识,而不是最终 target。
|
||||
|
||||
@@ -127,30 +126,24 @@ x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||||
```
|
||||
|
||||
### 单 query + intent
|
||||
|
||||
```text
|
||||
地图导航
|
||||
```
|
||||
|
||||
### 单 query + Agent 包装
|
||||
### 单 query + 旧 tag / intent 标签
|
||||
|
||||
```text
|
||||
Agent(tag="地图导航")
|
||||
```
|
||||
|
||||
### 用户明确要求 intent target 时
|
||||
|
||||
```text
|
||||
地图导航
|
||||
```
|
||||
|
||||
### 多指令
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "关闭卧室的灯", "intent": "设备控制"},
|
||||
{"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟计时器"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
complex=true
|
||||
Agent(query="退出导航",tag="地图导航")
|
||||
Agent(query="打开后视镜加热",tag="车载控制")
|
||||
```
|
||||
|
||||
### 自动任务
|
||||
@@ -170,9 +163,9 @@ Agent(tag="地图导航")
|
||||
|
||||
以下情况不要硬猜:
|
||||
|
||||
- 用户要生成数据,但没说明 target 使用 function program、intent 还是 Agent 包装。
|
||||
- function 和 intent 都可能满足。
|
||||
- 旧标签资料里只有 tag,但输出能力目录里没有对应 function 或 intent。
|
||||
- 用户明确要求 function program,但当前标签卡片没有 function 签名。
|
||||
- function 和 Agent 形式都可能满足,且用户对 target 形式有特殊要求。
|
||||
- 旧标签资料里只有 tag,但用户强制要求 function program。
|
||||
- 多指令和单意图之间存在明显歧义。
|
||||
- 自动任务和普通定时/延时控制存在冲突。
|
||||
- complex 维度需要作为数据字段输出,但用户没有定义格式。
|
||||
@@ -180,8 +173,8 @@ Agent(tag="地图导航")
|
||||
推荐提问方式:
|
||||
|
||||
```text
|
||||
我能判断业务标签大概率是“地图导航”,但这批数据的最终 target 还需要确认:
|
||||
你希望写成 Agent(tag="地图导航"),还是写成具体 function / intent 形式?
|
||||
我能判断业务标签大概率是“地图导航”。当前知识库没有确认可用的地图导航 function 签名,
|
||||
默认建议写成 Agent(tag="地图导航")。如果你希望走 function program,需要先补充地图导航的 function 定义。
|
||||
```
|
||||
|
||||
## 7. 推荐输出模板
|
||||
@@ -198,7 +191,7 @@ Agent(tag="地图导航")
|
||||
- 排除:餐饮服务,因为 query 明确要求导航动作
|
||||
|
||||
输出形态:
|
||||
- 推荐:Agent 包装 / intent / function program / 待确认
|
||||
- 候选:Agent(tag="地图导航");地图导航 intent
|
||||
- 需要确认:当前任务是否要求 Agent 包装
|
||||
- 推荐:Agent 包装 / function program / 待确认
|
||||
- 候选:Agent(tag="地图导航");已确认 function program
|
||||
- 需要确认:当前任务是否强制要求 function program
|
||||
```
|
||||
|
||||
@@ -1,24 +1,32 @@
|
||||
# 多指令判断
|
||||
|
||||
多指令是独立维度,不属于业务标签树。它用于判断一个 query 是否需要拆成多个可独立执行的子任务,以及每个子任务对应的业务标签或 intent。
|
||||
多指令是独立维度,不属于业务标签树。它用于判断一个 query 是否需要拆成多个可独立执行的子任务,以及每个子任务对应的业务标签或 function。
|
||||
|
||||
## 输出目标
|
||||
|
||||
推荐结构:
|
||||
当前数据开发默认口径下,多指令最终 target 不是一个 JSON group,而是:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "关闭卧室的灯", "intent": "设备控制"},
|
||||
{"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟"}
|
||||
]
|
||||
}
|
||||
]
|
||||
1. 先把原 query 拆成多个可独立判断的子句。
|
||||
2. 每个子句单独判断业务标签和输出形态。
|
||||
3. 每个子句单独输出一条叶子 target。
|
||||
4. 如果需要输出 complex,complex 作为独立行放在最前面,不属于任何单个子句。
|
||||
|
||||
示例:
|
||||
|
||||
```text
|
||||
complex=true
|
||||
Agent(query="退出导航",tag="地图导航")
|
||||
Agent(query="打开后视镜加热",tag="车载控制")
|
||||
```
|
||||
|
||||
其中 `condition` 由自动任务维度负责判断;没有条件时为 `null`。
|
||||
其中 `query` 字段保留拆分后的子句文本,`tag` 字段是该子句的业务标签。
|
||||
|
||||
注意:
|
||||
|
||||
- 多指令只决定“是否拆分、怎么拆分、如何改写子句”。
|
||||
- 每个子句的 `tag` 或 function 仍要继续走业务标签判断和输出形态判断。
|
||||
- 多指令不是和 `Agent(...)` / function 并列的最终标签,而是把多个叶子 target 组合起来的结构。
|
||||
- `condition` 由自动任务维度负责;普通多指令没有 condition。
|
||||
|
||||
## 单意图
|
||||
|
||||
@@ -52,50 +60,29 @@
|
||||
|
||||
### 动作继承
|
||||
|
||||
“打开空调和电视”应改写为:
|
||||
“打开空调和电视”应拆成两个子句并分别输出:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "打开空调", "intent": "设备控制"},
|
||||
{"subquery": "打开电视", "intent": "设备控制"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
Agent(query="打开空调",tag="设备控制")
|
||||
Agent(query="打开电视",tag="设备控制")
|
||||
```
|
||||
|
||||
### 无 trigger 的位置继承
|
||||
|
||||
“打开客厅电视和吸顶灯”应改写为:
|
||||
“打开客厅电视和吸顶灯”应拆成两个子句,并继承必要位置信息:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "打开客厅电视", "intent": "设备控制"},
|
||||
{"subquery": "打开客厅吸顶灯", "intent": "设备控制"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
Agent(query="打开客厅电视",tag="设备控制")
|
||||
Agent(query="打开客厅吸顶灯",tag="设备控制")
|
||||
```
|
||||
|
||||
### 设备继承
|
||||
|
||||
“客厅吸顶灯调到最亮色温调到最大”应改写为:
|
||||
“客厅吸顶灯调到最亮色温调到最大”应拆成两个子句,并继承设备名:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "客厅吸顶灯调到最亮", "intent": "设备控制"},
|
||||
{"subquery": "客厅吸顶灯色温调到最大", "intent": "设备控制"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
Agent(query="客厅吸顶灯调到最亮",tag="设备控制")
|
||||
Agent(query="客厅吸顶灯色温调到最大",tag="设备控制")
|
||||
```
|
||||
|
||||
## 典型单意图例子
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 标注输出形态
|
||||
|
||||
这个维度用于判断最终监督标签应该写成 function program、intent,还是 `Agent(tag="xxx")` 包装。详细 object、function、intent 定义见 `../输出能力/`。
|
||||
这个维度用于判断最终监督标签应该写成 function program、`Agent(tag="xxx")` 包装,还是特殊结构化输出。详细 object、function、intent 定义见 `../输出能力/`。
|
||||
|
||||
它和业务标签不同:
|
||||
|
||||
@@ -16,14 +16,44 @@
|
||||
- `../输出能力/意图目录.md`
|
||||
- `../输出能力/输出组合规范.md`
|
||||
|
||||
## 当前数据开发默认口径
|
||||
|
||||
在当前标签大师和数据开发链路里,最终 target 优先分成两类:
|
||||
|
||||
1. **Function 形式**:只有当某个能力已经有明确 function 定义和可用参数签名时,才输出 function program,例如 `QA()`、`CalendarQA(...)`、`Summarize(...)`。
|
||||
2. **Agent 形式**:没有明确 function 定义、或只是旧 tag / intent 业务标签时,默认输出 `Agent(tag="xxx")`,例如 `Agent(tag="地图导航")`。
|
||||
|
||||
`intent` 名称可以作为业务标签名、拆分子句里的意图字段或兼容中间形态,但在当前数据开发默认口径下,不作为首选最终 target。除非用户明确要求“输出 intent 形式”,否则不要把 `intent = 地图导航` 和 `Agent(tag="地图导航")` 并列反问。
|
||||
|
||||
## 两层输出结构
|
||||
|
||||
最终输出先判断外层结构,再判断叶子 target:
|
||||
|
||||
| 层级 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| 外层结构 | 单意图 | 只有一个 query 和一个叶子 target。 |
|
||||
| 外层结构 | 多指令 | 需要拆成多个子句,每个子句单独输出一条叶子 target,并按行组合。 |
|
||||
| 外层结构 | 自动任务 | 需要输出 condition + querys,每个子任务再写自己的叶子 target。 |
|
||||
| 叶子 target | function program | 已 function 化且签名明确的能力。 |
|
||||
| 叶子 target | `Agent(tag="xxx")` | 未 function 化或旧 tag / intent 标签。 |
|
||||
|
||||
自动任务、多指令不是和 function / Agent 并列的叶子 target,而是包住 function / Agent 的结构化外壳。
|
||||
|
||||
多指令场景里,Agent 叶子 target 需要保留子句文本:
|
||||
|
||||
```text
|
||||
Agent(query="退出导航",tag="地图导航")
|
||||
Agent(query="打开后视镜加热",tag="车载控制")
|
||||
```
|
||||
|
||||
## 基本原则
|
||||
|
||||
1. 不要默认把所有旧 `tag标签` 包装成 `Agent(tag="xxx")`。
|
||||
1. 已 function 化并且 function 签名明确的能力,优先使用 function program。
|
||||
2. object 只作为 function 参数,不单独作为最终 target。
|
||||
3. function 可以是多行 program,允许先构造 object 再调用 function。
|
||||
4. intent 可以直接作为 target,也可以按任务要求包装成 `Agent(tag="xxx")`。
|
||||
5. Agent 字段表示承接方,是知识维度,不等于最终 target。
|
||||
6. 如果当前数据任务没有明确要求 function、intent 还是 Agent 包装,必须向用户确认,不要自行决定。
|
||||
4. 未 function 化或 function 签名不明确的旧 `tag标签` / intent 标签,默认使用 `Agent(tag="xxx")`。
|
||||
5. Agent 字段表示承接方,是知识维度,不等于最终 target 里的 tag 名;不要写成 `Agent(tag="mapAgent")`。
|
||||
6. 如果用户明确要求 function program,但对应卡片没有 function 签名,必须说明 function 待补充,不要臆造函数名和参数。
|
||||
7. 对 QA 子类尤其要保守:`医疗问答`、`百科`、`美食问答` 等可能只是知识分类,最终输出可能是 `QA()`,不一定是 `Agent(tag="医疗问答")`。
|
||||
|
||||
## 常见 Function 形态
|
||||
@@ -41,7 +71,7 @@
|
||||
|
||||
## Agent 包装形态
|
||||
|
||||
当任务明确是规划模型的 Agent 标签数据,或者用户明确给出 `Agent(tag="xxx")`,可以使用 Agent 包装形态。
|
||||
当能力没有明确 function 定义,或者任务使用旧 tag / Agent 标签体系时,使用 Agent 包装形态。
|
||||
|
||||
例子:
|
||||
|
||||
@@ -51,7 +81,7 @@ Agent(tag="餐饮服务")
|
||||
Agent(tag="设备控制")
|
||||
```
|
||||
|
||||
如果用户只说“地图导航标签”但没有说明输出格式,标签知识可以推荐业务标签,但生成数据前仍要确认最终 target。
|
||||
如果用户只说“地图导航标签”,且没有明确要求 function program 或 intent target,在当前数据开发默认口径下推荐 `Agent(tag="地图导航")`。
|
||||
|
||||
## 推荐输出
|
||||
|
||||
@@ -60,14 +90,13 @@ Agent(tag="设备控制")
|
||||
```text
|
||||
业务标签:地图导航
|
||||
输出形态候选:
|
||||
- Agent:Agent(tag="地图导航")
|
||||
- Function:SearchRoute / Navigation / 其他地图 function 候选
|
||||
推荐:待用户确认,当前需求未说明使用 Agent 还是 Function
|
||||
- 推荐:Agent(tag="地图导航")
|
||||
- Function:当前知识库没有确认可用的地图导航 function 签名,不要臆造 Navigation(...)
|
||||
```
|
||||
|
||||
做数据生成时,如果 target 不明确,必须先问:
|
||||
做数据生成时,如果用户明确要求 function program,但对应标签没有可用 function 签名,必须先问:
|
||||
|
||||
```text
|
||||
这批数据最终 target 是使用 function program、intent,
|
||||
还是使用 Agent 包装,例如 Agent(tag="地图导航")?
|
||||
这批数据要求输出 function program,但当前标签卡片没有确认 function 签名。
|
||||
是否先按 Agent(tag="地图导航") 生成,还是你补充地图导航 function 定义?
|
||||
```
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
> 注意:旧标签资料中同时存在 tag 标签和 Function 定义。本卡片不直接声明最终训练标签;生成数据前必须结合 `判断维度/标注输出形态.md` 确认当前任务使用 Agent 形式还是 Function 形式。
|
||||
|
||||
- 旧 tag 标签:地图导航
|
||||
- Agent 包装候选(不代表最终):Agent(tag="地图导航")
|
||||
- Function 输出候选:待确认。
|
||||
- 推荐输出形态:待确认。
|
||||
- 推荐输出形态:Agent(tag="地图导航")
|
||||
- Function 输出候选:当前没有确认可用的 function 签名;典型 query 中的 Navigation、SwitchRoute、SearchPoi 等更像三级语义功能点,不要直接臆造成最终 function program。
|
||||
- 需要确认的情况:只有当用户明确要求地图导航走 function program 时,才需要先补充 function 名称、参数签名和示例。
|
||||
|
||||
## 功能抽象
|
||||
|
||||
@@ -27,7 +27,9 @@
|
||||
|
||||
## Function / Agent 说明
|
||||
|
||||
待补充。
|
||||
当前数据开发默认使用 `Agent(tag="地图导航")`。
|
||||
|
||||
典型 query 中括号里的 Navigation、SwitchRoute、ModifyDestination、SearchPoi、SearchRoute 等,暂时作为功能点线索使用,用于理解地图导航内部能力边界;在 function 签名未正式补充前,不作为最终 target 输出。
|
||||
|
||||
## 满足边界问题
|
||||
|
||||
|
||||
@@ -1411,16 +1411,16 @@
|
||||
"scope": "待补充。"
|
||||
},
|
||||
{
|
||||
"agent_candidate": "Agent(tag=\"地图导航\")",
|
||||
"agent_candidate": "",
|
||||
"confusing_labels": "地图问答QA收藏和记忆生活服务",
|
||||
"domain": "地图导航",
|
||||
"examples": "导航去云冈石窟走免费道路(Navigation)走着走另外一条路线(SwitchRoute)不去小米科技园了改去公司附近的充电站(ModifyDestination)变更下下个途径点(ModifyPassPoint)金属钛的钛(PoiMultiRoundCorrect,POI改写相关)导航到简单的简上海的尚简尚羽毛球馆(PoiSelfCorrect,POI改写相关)导航路线刷新一下(RefreshRoute)寻找沿路的美食(SearchAlongRoute)搜索附近中石油(SearchPoi)怎么走到骑马俱乐部最近(SearchRoute)添加途经点大义镇(AddPassPoint)继续更新全国的离线地图(AdjustOfflineMap)还有没有其他路可以选(AskOtherRoute)收藏充电站要小米自营的(CollectPoi)删了所有途径点(DeletePassPoint)不是这个地址是西三旗桥南(ModifyDestination) 修改一下最下的途径点(ModifyPassPoint)",
|
||||
"function_candidate": "待确认。",
|
||||
"function_candidate": "当前没有确认可用的 function 签名;典型 query 中的 Navigation、SwitchRoute、SearchPoi 等更像三级语义功能点,不要直接臆造成最终 function program。",
|
||||
"name": "地图导航",
|
||||
"old_tag": "地图导航",
|
||||
"path": "knowledge/标签/地图导航/地图导航.md",
|
||||
"principles": "边界1:导航-地图问答-QA执行上:地图问答先给导航,导航不召回,给QA(走哪问哪拆出来给导航)短线现状:导航需求,A到B路线查询可以。公交地铁站点查询等都不支持。问题:多轮下针对现有路线提问,很容易出现此类问题长线:原则1:依赖导航app接口查询结果的是地图问答,路线、公交地铁站等,现有接口不支持,走大模型兜底,而不是回复不支持产品问题@张睿@李循边界2:“在哪”,“去xxx”优先给导航,其他都是生活服务优先长线,计划“在哪”不区分导航和生活服务,统一满足边界3:单实体,默认QA,如果是导航需求则给导航和QA都算对。选项1:出富媒体卡片:百科+旅游+导航选项2:询问是否要去哪里单实体难以分端区分,应该在车载端满足时,单实体走poi搜索,有结果出一个导航的卡片。中控不做区分。各端的导航和生活服务单实体,都给导航优先,且QA满足应该调用搜索后出导航或生活类卡片。",
|
||||
"recommended_output_shape": "待确认。",
|
||||
"recommended_output_shape": "Agent(tag=\"地图导航\")",
|
||||
"scope": "基于高德地图/百度地图等,进行导航需求满足特殊的需求:附近的加油站附近的充电桩附近的服务区"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
这里维护“最终 target 怎么写”的知识。它和 `标签/` 目录不同:
|
||||
|
||||
- `标签/` 负责判断 query 属于哪个业务能力范围。
|
||||
- `输出能力/` 负责判断最终监督标签应该写成 object、function program、intent,还是需要用户确认。
|
||||
- `输出能力/` 负责判断最终监督标签应该写成 function program、`Agent(tag="xxx")`,还是多指令/自动任务等结构化输出。
|
||||
|
||||
## 三类返回类型
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
| --- | --- | --- |
|
||||
| object | 给 function 当参数的对象,例如 `Location`、`PersonalDate`、`Resource` | 通常不单独作为最终 target |
|
||||
| function | 可直接输出的函数调用,例如 `CalendarQA(...)`、`VisionQA(...)`、`QA()` | 可以作为最终 target |
|
||||
| intent | 业务意图名,例如 `地图导航`、`餐饮服务`、`商品购买` | 可以作为 intent target,也可以按任务要求再包装为 Agent |
|
||||
| intent | 业务意图名,例如 `地图导航`、`餐饮服务`、`商品购买` | 当前数据开发默认不作为首选最终 target,通常映射为 `Agent(tag="xxx")`;也可用于多指令/自动任务结构里的意图字段 |
|
||||
|
||||
## 使用原则
|
||||
|
||||
@@ -24,8 +24,9 @@ x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||||
```
|
||||
|
||||
4. `Agent` 字段表示由哪个 Agent 承接,是知识维度,不等于最终 target 一定写 `Agent(tag="xxx")`。
|
||||
5. 如果用户没有说明最终数据使用 function、intent 还是 `Agent(tag="xxx")`,生成数据前必须确认。
|
||||
4. `Agent` 字段表示由哪个 Agent 承接,是知识维度,不等于最终 target 一定写 `Agent(tag="ToolsAgent")`。
|
||||
5. 当前数据开发默认口径:已 function 化且签名明确的能力用 function program;未 function 化或只是旧 tag / intent 的能力用 `Agent(tag="xxx")`。
|
||||
6. 如果用户明确要求 function program,但当前知识库没有 function 签名,必须向用户确认,不要臆造 function。
|
||||
|
||||
## 文件说明
|
||||
|
||||
|
||||
@@ -8,11 +8,31 @@
|
||||
|
||||
```text
|
||||
业务标签:这句话属于哪个能力范围
|
||||
输出能力:最终 target 写 function、intent 还是 Agent 包装
|
||||
输出能力:最终 target 写 function program 还是 Agent 包装
|
||||
结构维度:是否多指令、是否自动任务
|
||||
复杂度维度:是否输出 `complex=false` 或 `complex=true`
|
||||
```
|
||||
|
||||
当前数据开发默认口径:
|
||||
|
||||
- 已 function 化且签名明确的能力,最终 target 写 function program。
|
||||
- 未 function 化或只是旧 tag / intent 的业务标签,最终 target 写 `Agent(tag="xxx")`。
|
||||
- intent 名称可以作为业务标签名、拆分子句里的意图字段或兼容中间形态;除非用户明确要求 intent target,否则不作为首选最终 target。
|
||||
- 多指令和自动任务是结构化外壳,不是和 function / Agent 并列的叶子 target。
|
||||
|
||||
## 两层组合方式
|
||||
|
||||
先确定外层结构:
|
||||
|
||||
- 单意图:直接输出一个叶子 target。
|
||||
- 多指令:拆成多个子句,每个子句单独输出一条叶子 target,然后按行组合。
|
||||
- 自动任务:输出 `condition` 和 `querys`,每个子任务有自己的叶子 target。
|
||||
|
||||
再确定叶子 target:
|
||||
|
||||
- function program:例如 `QA()`、`Summarize()`、`CalendarQA(...)`。
|
||||
- Agent 包装:例如 `Agent(tag="地图导航")`、`Agent(tag="餐饮服务")`。
|
||||
|
||||
## function program
|
||||
|
||||
当返回类型是 `function`,输出可以是单行或多行 program。
|
||||
@@ -51,11 +71,11 @@ x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||||
```
|
||||
|
||||
## intent target
|
||||
## intent 与 Agent target
|
||||
|
||||
当返回类型是 `intent`,可以直接输出 intent 名称,或按当前任务要求映射到 Agent 包装。
|
||||
当返回类型是 `intent`,在当前数据开发默认口径下优先映射到 Agent 包装。
|
||||
|
||||
intent 形式:
|
||||
业务标签 / 中间 intent 名称:
|
||||
|
||||
```text
|
||||
地图导航
|
||||
@@ -71,7 +91,7 @@ Agent(tag="餐饮服务")
|
||||
Agent(tag="商品购买")
|
||||
```
|
||||
|
||||
使用哪一种取决于当前训练/评测数据定义。没有明确说明时必须确认。
|
||||
除非用户明确要求输出 intent target,否则不要把 intent 名称作为首选最终 target。
|
||||
|
||||
## Agent 字段
|
||||
|
||||
@@ -88,20 +108,23 @@ Agent: mapAgent
|
||||
|
||||
## 多指令组合
|
||||
|
||||
如果 query 被拆成多个子任务,最终结构可以包含多个 subquery,每个 subquery 有自己的 function 或 intent。
|
||||
如果 query 被拆成多个子任务,当前数据开发默认按“多行 target”输出:每个子句单独一条 `Agent(query="...",tag="...")` 或 function target。
|
||||
|
||||
complex 是独立维度,如果需要输出,作为单独一行放在最前面,不归属于某个子句。
|
||||
|
||||
示例:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "关闭卧室的灯", "intent": "设备控制"},
|
||||
{"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟计时器"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
complex=true
|
||||
Agent(query="退出导航",tag="地图导航")
|
||||
Agent(query="打开后视镜加热",tag="车载控制")
|
||||
```
|
||||
|
||||
再例如:
|
||||
|
||||
```text
|
||||
Agent(query="关闭卧室的灯",tag="设备控制")
|
||||
Agent(query="定一个明天下午四点的闹钟",tag="闹钟计时器")
|
||||
```
|
||||
|
||||
## 自动任务组合
|
||||
@@ -138,7 +161,7 @@ Agent: mapAgent
|
||||
|
||||
如果用户要生成训练/评测数据,需要确认:
|
||||
|
||||
- target 使用 function program、intent,还是 `Agent(tag="xxx")`。
|
||||
- target 是否要求 function program;如果没有明确 function 定义,默认使用 `Agent(tag="xxx")`。
|
||||
- object 是否需要展开进 function target。
|
||||
- 多指令和自动任务是否需要输出结构化 JSON。
|
||||
- complex 是否作为独立字段输出。
|
||||
|
||||
Reference in New Issue
Block a user