Files
zk-data-agent/skills/online-mining-v2/knowledge/数据源字段说明.md
T
2026-05-14 17:42:08 +08:00

115 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数据源字段说明
## main`arch-flat-nlp-log-f-*`
适合拿最终线上请求结果。
常用字段:
| 字段 | 含义 |
| --- | --- |
| `request_id` | 请求 id,和 product-data 的 `request_id` 对齐。 |
| `timestamp` | 请求时间戳。 |
| `query` | 当前 query。 |
| `domain` | 最终 domain。 |
| `func` / `func_name` | 最终 function 或函数名。 |
| `session_id` | 主表会话 id,只用于排查,不等同于 planning 模型输入 session。 |
| `device_id` | 设备 id。 |
| `device` | 设备 JSON,包含设备类型、经纬度等。 |
| `text` / `display_text` / `to_speak` | 小爱回复文本,可作为上一轮 tts。 |
| `intention` | 传统意图结果。 |
| `intention.intent_arbitrator_info` | 中控仲裁信息,含 `llm_agent_info``score_domains``hit_rules` 等。 |
| `llm_*` | 大模型分类相关字段,覆盖情况取决于链路。 |
适合筛选:
- `query` 包含/正则。
- `domain``func``func_name`
- `session_id``device_id`、设备类型。
- `intention.intent_arbitrator_info.llm_agent_info.agentType`
## pre_processing`pre-processing*`
适合拿前处理和规划模型判断过程。
常用字段:
| 路径 | 含义 |
| --- | --- |
| `requestId` | 请求 id。 |
| `timestamp` | 前处理日志时间戳。 |
| `responseBoby.nodes.0.core.query.query` | 当前 query。注意字段名是 `responseBoby`。 |
| `responseBoby.nodes.0.core.dispatch_large_model_result.code` | 前处理最终 code。 |
| `responseBoby.nodes.0.core.dispatch_large_model_result.dispatchLargeModelInput.promptModel` | planning 模型 prompt。 |
| `responseBoby.nodes.0.core.dispatch_large_model_result.dispatchLargeModelInput.hitRuleList` | 触发规则。 |
| `responseBoby.nodes.0.core.dispatch_large_model_result.planningDebugInfo.planningOriginalResult` | planning 模型原始输出。 |
| `responseBoby.nodes.0.core.excellent_domains_result` | 候选 domain 及旧意图结果。 |
| `responseBoby.nodes.0.properties.0.debug.domain_infos` | 前处理召回 domain 列表。 |
| `responseBoby.nodes.0.properties.0.debug.promptString` | agent LLM prompt。 |
| `responseBoby.nodes.0.properties.0.debug.planningPrompt` | planning prompt。 |
| `responseBoby.nodes.0.properties.0.agentLLMIntent` | agent LLM 判定。 |
适合筛选:
- `query` 包含/正则。
- `planningOriginalResult` 包含某标签或 function。
- `promptModel` 包含某上下文、历史或 query 结构。
- `excellent_domains_result[*].domain` 包含某候选 domain。
- `domain_infos[*].domain` 包含某召回 domain。
## join 规则
两张表通过:
```text
main.request_id == pre_processing.requestId
```
精确查询时优先使用 keyword 字段:
```text
main.request_id.keyword
pre_processing.requestId.keyword
```
join 后优先使用:
- query:优先 `pre_processing` 的 query,缺失时用 `main.query`
- timestamp:优先 `main.timestamp`,缺失时用 `pre_processing.timestamp`
- tts:优先 `main.to_speak`,再 `main.text``display_text`
- label 参考:模型输出用 `pre_processing.planning_result`,线上最终结果用 `main.domain` / `main.func`
## 转 canonical record 的字段映射
`build_online_records.py` 固定执行以下映射,模型不要手写转换逻辑:
| canonical 字段 | 来源 |
| --- | --- |
| `source.type` | 固定 `online` |
| `source.request_id` | 主表 `request_id` 或前处理表 `requestId` |
| `source.timestamp` | 优先主表 `timestamp`,缺失时用前处理表 `timestamp` |
| `turn.query` | 优先前处理 `responseBoby.nodes.0.core.query.query`,缺失时用主表 `query` |
| `turn.timestamp` | 同 `source.timestamp` |
| `prev_session` | 前处理 `promptModel``[对话历史]`,这是 planning 模型真实看到的 session |
| `prev_session[].query` | `[对话历史]` 中的 `用户:` 行 |
| `prev_session[].tts` | `[对话历史]` 中紧随其后的 `小爱:` 行,没有内容时保留空字符串 |
| `prev_session[].timestamp` | 线上 prompt 不带历史时间戳,工具按当前轮 timestamp 往前每轮 1 分钟补齐,保证顺序和 5 分钟拼接约束 |
| `context` | 先置 `{}`,后续由专用工具补充 |
| `label.dataset_label` | 用户输入的批次标签 |
| `label.target` | 用户输入 `target`;否则依次用前处理 `code``planningOriginalResult`、主表 `llm_agent_info.agentType`、主表 `domain` 推断 |
| `dimensions.complex` | 用户输入,默认 false |
| `meta` | 保存 `session_id/device_id/device/main_domain/main_func/planning_result/planning_code/hit_rules/candidate_domains/target_source` |
## 按 rid 转数据的固定流程
当用户说“把这个 rid 的数据拉下来作为测试数据”时:
1. 如果用户给“一周内/最近 7 天”,传 `lookback_days: 7`;给起止日期时传 `date_from/date_to`;只给某一天时传 `date`
2. 调用 `build_online_records.py`,传 `request_ids``dataset_label`、必要时传 `target/complex/date/lookback_days/date_from/date_to`
3. 检查返回的 `summaries[].target_source``prev_session_count`
4. 展示 query、target、target_source、prev_session_count 给用户确认。
5. 产物默认在当前会话 `output/records.jsonl``output/records.csv`
注意:不要用主表 `session_id` 拼接 `prev_session`。中控 planning 模型的输入历史以
前处理表 `dispatchLargeModelInput.promptModel` 中的 `[对话历史]` 为准。