Improve online mining record conversion

This commit is contained in:
wuyang6
2026-05-14 17:19:23 +08:00
parent e10cb6909b
commit c6b3233769
7 changed files with 651 additions and 63 deletions
+49 -7
View File
@@ -28,11 +28,12 @@ skills/online-mining-v2/
elk_fetch_by_request_ids.py
elk_join_request_logs.py
build_dataset_draft.py
build_online_records.py
```
默认数据源:
- `pre-processing-info*`:前处理日志,适合拿模型 prompt、模型输出、候选 domain、`excellent_domains_result`
- `pre-processing*`:前处理日志,适合拿模型 prompt、模型输出、候选 domain、`excellent_domains_result`
- `arch-flat-nlp-log-f-*`:主 NLP 日志,适合拿最终 `query``domain``func``session_id``device_id``device``tts/text/to_speak`
后处理全部复用 `product-data`
@@ -128,12 +129,51 @@ skills/online-mining-v2/
}
```
### 5. 给用户 review
### 5. 单条 rid 或已确认候选直接转元数据
如果用户给了明确 rid,或已经确认一批线上候选要直接作为样本,优先使用
`build_online_records.py`。这个脚本会完成:
- 主表 `arch-flat-nlp-log-f-*` 和前处理表 `pre-processing*` 双表拉取。
- 用主表 `session_id + timestamp` 补齐当前请求前最多 10 轮 session。
- 优先使用用户指定 `target`;没有指定时,按 `pre_processing.code` -> `planningOriginalResult` -> 主表 `llm_agent_info.agentType` -> 主表 `domain` 推断标签。
- 生成 product-data canonical records。
- 默认导出 `output/records.jsonl``output/records.csv`,可选导出 `training.jsonl``eval_planning.csv`
示例:
```json
{
"script_path": "skills/online-mining-v2/scripts/build_online_records.py",
"stdin": {
"request_ids": ["6656271eedfe4b478ac716448a3ad310"],
"date": "20260514",
"dataset_label": "线上挖掘样本",
"target": "Agent(tag=\"地图导航\")",
"complex": false,
"output_dir": "output",
"export_records": true,
"export_training": false,
"export_eval": false
},
"timeout_seconds": 300,
"max_output_chars": 30000
}
```
注意:
- 老 rid 超出近 48 小时时必须让用户补日期,传 `date=YYYYMMDD`
- 如果用户没有指定 `target`,脚本可以从线上模型输出推断,但最终仍建议展示 `target_source` 给用户确认。
- 如果脚本返回 `case has no query`,说明该 rid 在当前日期窗口没有命中主表/前处理表,不要继续伪造元数据。
### 6. 给用户 review
展示候选样本时只展示必要字段:
- request_id
- query
- target / target_source(如果已经转换)
- main.domain / main.func
- pre.planning_result
- pre.hit_rules
@@ -143,9 +183,10 @@ skills/online-mining-v2/
不要一次贴大量 prompt。需要看 prompt 时只展示截断摘要,或保存到会话 output 目录。
### 6. 用户确认后转成 product-data draft
### 7. 用户确认后转成 product-data draft
线上候选直接作为样本时,先生成 dataset draft text
一般情况下不要再手动接 normalize/export。只有当用户明确要看 draft text
或需要和 `product-data` 的人工生成流程混合时,才先生成 dataset draft text
```json
{
@@ -162,7 +203,7 @@ skills/online-mining-v2/
}
```
然后必须调用 product-data
然后调用 product-data
```json
{
@@ -179,7 +220,9 @@ skills/online-mining-v2/
}
```
再执行校验和导出:
更推荐直接使用第 5 步的 `build_online_records.py`,减少模型手动接线出错。
如果使用 draft 分支,再执行校验和导出:
- `validate_dataset_records.py`
- `export_dataset_records.py`,输出固定 `output/records.jsonl`
@@ -201,4 +244,3 @@ skills/online-mining-v2/
- canonical records:通过 product-data 导出到 `output/records.jsonl`
不要写项目根目录、`tasks/``src/``skills/`