2.7 KiB
2.7 KiB
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 一步完成线上候选到标准数据:
{
"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/ 前处理表requestIdtimestamp:优先主表timestampquery:优先前处理 query,缺失时用主表 queryprev_session:从前处理promptModel的[对话历史]抽取,这是 planning 模型真实看到的 sessiontarget:优先用户输入,否则用前处理code/planningOriginalResult,再用主表仲裁信息兜底complex:优先用户输入,默认 false
时间筛选支持:
date: 单日,格式YYYYMMDD或YYYY-MM-DDdate_from+date_to: 起止日期,包含两端日期lookback_days: 最近 N 天,例如用户说“一周内”就传7
如果需要拆开调试,后处理仍可复用 skills/product-data/scripts/:
normalize_dataset_draft.pyvalidate_dataset_records.pyexport_dataset_records.py- 可选
export_training_jsonl.py - 可选
export_planning_eval_csv.py