Use prompt history for online mining records
This commit is contained in:
@@ -31,8 +31,8 @@
|
||||
|
||||
流程:
|
||||
|
||||
1. 整理 `request_ids`、`dataset_label`、`target`、`complex`、日期。
|
||||
2. 如果没有日期,先按近 48 小时查;查不到要问用户补日期。
|
||||
1. 整理 `request_ids`、`dataset_label`、`target`、`complex`、时间范围。
|
||||
2. 如果用户说“一周内/最近 7 天”,传 `lookback_days: 7`;如果给起止日期,传 `date_from/date_to`;如果只给某一天,传 `date`。
|
||||
3. 调用 `build_online_records.py`。
|
||||
4. 检查返回的 `summaries`:
|
||||
- `query`
|
||||
@@ -46,6 +46,9 @@
|
||||
- `output/records.csv`
|
||||
- 用户要求训练/评测时,再导出 `training.jsonl` / `eval_planning.csv`
|
||||
|
||||
`prev_session` 以前处理 `promptModel` 的 `[对话历史]` 为准。不要用主表 `session_id`
|
||||
重建模型输入历史;它更适合排查同设备/同链路日志,不适合作为训练/评测 prompt 历史。
|
||||
|
||||
## 分支 B:基于线上问题补充生成数据
|
||||
|
||||
适用表达:
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
| `query` | 当前 query。 |
|
||||
| `domain` | 最终 domain。 |
|
||||
| `func` / `func_name` | 最终 function 或函数名。 |
|
||||
| `session_id` | 会话 id,可用于后续重建多轮。 |
|
||||
| `session_id` | 主表会话 id,只用于排查,不等同于 planning 模型输入 session。 |
|
||||
| `device_id` | 设备 id。 |
|
||||
| `device` | 设备 JSON,包含设备类型、经纬度等。 |
|
||||
| `text` / `display_text` / `to_speak` | 小爱回复文本,可作为上一轮 tts。 |
|
||||
@@ -90,10 +90,10 @@ join 后优先使用:
|
||||
| `source.timestamp` | 优先主表 `timestamp`,缺失时用前处理表 `timestamp` |
|
||||
| `turn.query` | 优先前处理 `responseBoby.nodes.0.core.query.query`,缺失时用主表 `query` |
|
||||
| `turn.timestamp` | 同 `source.timestamp` |
|
||||
| `prev_session` | 主表同 `session_id` 且 timestamp 早于当前请求的最多 10 轮,按时间升序排列 |
|
||||
| `prev_session[].query` | 主表历史轮 `query` |
|
||||
| `prev_session[].tts` | 主表历史轮 `to_speak/text/display_text`,没有时保留空字符串 |
|
||||
| `prev_session[].timestamp` | 主表历史轮 `timestamp` |
|
||||
| `prev_session` | 前处理 `promptModel` 的 `[对话历史]`,这是 planning 模型真实看到的 session |
|
||||
| `prev_session[].query` | `[对话历史]` 中的 `用户:` 行 |
|
||||
| `prev_session[].tts` | `[对话历史]` 中紧随其后的 `小爱:` 行,没有内容时保留空字符串 |
|
||||
| `prev_session[].timestamp` | 线上 prompt 不带历史时间戳,工具按当前轮 timestamp 往前每轮 1 分钟补齐,保证顺序和 5 分钟拼接约束 |
|
||||
| `context` | 先置 `{}`,后续由专用工具补充 |
|
||||
| `label.dataset_label` | 用户输入的批次标签 |
|
||||
| `label.target` | 用户输入 `target`;否则依次用前处理 `code`、`planningOriginalResult`、主表 `llm_agent_info.agentType`、主表 `domain` 推断 |
|
||||
@@ -104,8 +104,11 @@ join 后优先使用:
|
||||
|
||||
当用户说“把这个 rid 的数据拉下来作为测试数据”时:
|
||||
|
||||
1. 如果用户没给日期,先用近 48 小时查;查不到就问用户日期,不要继续生成空数据。
|
||||
2. 调用 `build_online_records.py`,传 `request_ids`、`dataset_label`、必要时传 `target/complex/date`。
|
||||
1. 如果用户给“一周内/最近 7 天”,传 `lookback_days: 7`;给起止日期时传 `date_from/date_to`;只给某一天时传 `date`。
|
||||
2. 调用 `build_online_records.py`,传 `request_ids`、`dataset_label`、必要时传 `target/complex/date/lookback_days/date_from/date_to`。
|
||||
3. 检查返回的 `summaries[].target_source` 和 `prev_session_count`。
|
||||
4. 展示 query、target、target_source、prev_session_count 给用户确认。
|
||||
5. 产物默认在当前会话 `output/records.jsonl` 和 `output/records.csv`。
|
||||
|
||||
注意:不要用主表 `session_id` 拼接 `prev_session`。中控 planning 模型的输入历史以
|
||||
前处理表 `dispatchLargeModelInput.promptModel` 中的 `[对话历史]` 为准。
|
||||
|
||||
Reference in New Issue
Block a user