Files
zk-data-agent/skills/online-mining-v2/README.md
T
2026-05-14 17:42:08 +08:00

2.7 KiB
Raw Blame History

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。

数据源

  • mainarch-flat-nlp-log-f-*
  • pre_processingpre-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 / 前处理表 requestId
  • timestamp:优先主表 timestamp
  • query:优先前处理 query,缺失时用主表 query
  • prev_session:从前处理 promptModel[对话历史] 抽取,这是 planning 模型真实看到的 session
  • target:优先用户输入,否则用前处理 code/planningOriginalResult,再用主表仲裁信息兜底
  • complex:优先用户输入,默认 false

时间筛选支持:

  • date: 单日,格式 YYYYMMDDYYYY-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