Improve online mining record conversion
This commit is contained in:
@@ -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/`。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user