70 lines
2.7 KiB
Markdown
70 lines
2.7 KiB
Markdown
# online-mining-v2
|
||
|
||
`online-mining-v2` 是线上数据挖掘 skill。它把 `elk-fetch` 作为默认线上数据源,把 `product-data` 作为挖掘结果的标准数据后处理链路。
|
||
|
||
## 设计目标
|
||
|
||
- 线上数据源默认走 ELK,而不是本地 parquet。
|
||
- 挖掘能力放在 skill 目录内,不注册新的平台工具。
|
||
- 所有脚本支持 JSON stdin/stdout,方便迁移到其他 Agent。
|
||
- 挖出的线上 case 不直接手写最终格式,而是转成 `product-data` 的 dataset draft,再进入 canonical record、校验和导出。
|
||
|
||
## 主要脚本
|
||
|
||
| 脚本 | 作用 |
|
||
| --- | --- |
|
||
| `scripts/elk_profile_index.py` | 采样索引 schema 和关键字段,帮助 Agent 判断字段可用性。 |
|
||
| `scripts/elk_search_cases.py` | 按 query/domain/prompt/model output/candidate domain 等条件搜索候选 case。 |
|
||
| `scripts/elk_fetch_by_request_ids.py` | 批量按 request id 拉取 main/pre_processing 原始摘要。 |
|
||
| `scripts/elk_join_request_logs.py` | 把 `arch-flat-nlp-log-f-*` 和 `pre-processing*` 按 request id 合并。 |
|
||
| `scripts/build_dataset_draft.py` | 把 review 后的线上 case 转成 product-data dataset draft text。 |
|
||
| `scripts/build_online_records.py` | 把 rid/候选 case 直接转成 canonical records,并可导出 records.csv、training.jsonl、eval_planning.csv。 |
|
||
|
||
## 数据源
|
||
|
||
- `main`:`arch-flat-nlp-log-f-*`
|
||
- `pre_processing`:`pre-processing*`
|
||
|
||
字段说明见 `knowledge/数据源字段说明.md`。
|
||
|
||
## 后处理
|
||
|
||
优先使用 `scripts/build_online_records.py` 一步完成线上候选到标准数据:
|
||
|
||
```json
|
||
{
|
||
"request_ids": ["<rid>"],
|
||
"lookback_days": 7,
|
||
"dataset_label": "线上挖掘样本",
|
||
"target": "Agent(tag=\"xxx\")",
|
||
"complex": false,
|
||
"output_dir": "output",
|
||
"export_records": true,
|
||
"export_training": false,
|
||
"export_eval": false
|
||
}
|
||
```
|
||
|
||
它会补齐:
|
||
|
||
- `request_id`:主表 `request_id` / 前处理表 `requestId`
|
||
- `timestamp`:优先主表 `timestamp`
|
||
- `query`:优先前处理 query,缺失时用主表 query
|
||
- `prev_session`:从前处理 `promptModel` 的 `[对话历史]` 抽取,这是 planning 模型真实看到的 session
|
||
- `target`:优先用户输入,否则用前处理 `code/planningOriginalResult`,再用主表仲裁信息兜底
|
||
- `complex`:优先用户输入,默认 false
|
||
|
||
时间筛选支持:
|
||
|
||
- `date`: 单日,格式 `YYYYMMDD` 或 `YYYY-MM-DD`
|
||
- `date_from` + `date_to`: 起止日期,包含两端日期
|
||
- `lookback_days`: 最近 N 天,例如用户说“一周内”就传 `7`
|
||
|
||
如果需要拆开调试,后处理仍可复用 `skills/product-data/scripts/`:
|
||
|
||
1. `normalize_dataset_draft.py`
|
||
2. `validate_dataset_records.py`
|
||
3. `export_dataset_records.py`
|
||
4. 可选 `export_training_jsonl.py`
|
||
5. 可选 `export_planning_eval_csv.py`
|