5.3 KiB
5.3 KiB
数据源字段说明
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 规则
两张表通过:
main.request_id == pre_processing.requestId
精确查询时优先使用 keyword 字段:
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 的数据拉下来作为测试数据”时:
- 如果用户给“一周内/最近 7 天”,传
lookback_days: 7;给起止日期时传date_from/date_to;只给某一天时传date。 - 调用
build_online_records.py,传request_ids、dataset_label、必要时传target/complex/date/lookback_days/date_from/date_to。 - 检查返回的
summaries[].target_source和prev_session_count。 - 展示 query、target、target_source、prev_session_count 给用户确认。
- 产物默认在当前会话
output/records.jsonl和output/records.csv。
注意:不要用主表 session_id 拼接 prev_session。中控 planning 模型的输入历史以
前处理表 dispatchLargeModelInput.promptModel 中的 [对话历史] 为准。