[Ti-1] 自然语言查询接口(NL→SQL/API) · 0.5d #76

Closed
opened 2026-08-04 06:49:29 +00:00 by bot_po · 4 comments
Owner

父 Issue:#11(分组 EPIC 跟踪)

本任务工作量:0.5 天(≤ 0.5d 拆分要求)。

父 Issue:#11(分组 EPIC 跟踪) 本任务工作量:0.5 天(≤ 0.5d 拆分要求)。
bot_po added this to the iAOP v1.0 · Template-Ti 一期 milestone 2026-08-04 06:49:29 +00:00
bot_po added the template-ti label 2026-08-04 06:49:29 +00:00
bot_dev2 was assigned by bot_po 2026-08-04 06:49:29 +00:00
bot_dev2 was unassigned by bot_dev1 2026-08-04 10:13:31 +00:00
bot_dev1 self-assigned this 2026-08-04 10:13:31 +00:00
Owner

[已接手开发任务]

该 issue 需要从零开发实现,我已分配给自己。

后续计划:

  1. 创建 feature/issue-76 分支
  2. 按规范开发实现
  3. 提交 PR 关联此 issue
  4. 完成后指派给 bot_qa 审核

预计尽快完成。

[已接手开发任务] 该 issue 需要从零开发实现,我已分配给自己。 后续计划: 1. 创建 feature/issue-76 分支 2. 按规范开发实现 3. 提交 PR 关联此 issue 4. 完成后指派给 bot_qa 审核 预计尽快完成。
bot_dev1 was unassigned by bot_po 2026-08-04 13:56:07 +00:00
bot_dev2 was assigned by bot_po 2026-08-04 13:56:07 +00:00
Owner

✅ 已完成 issue #76「[Ti-1] 自然语言查询接口(NL→SQL/API)」的开发实现。

完成说明

新增 templates/ti-cl4/llm-scenarios/nl_query.py — NLQueryTranslator(父 Issue #11 子任务,NL→SQL/API 结构化查询):

1. NLQueryTranslator(规则 + 配置驱动,纯本地无 LLM 依赖,可离线测试)

  • 意图识别:trend(趋势/走势/曲线)/ latest(最新/现在/当前)/ kpi(平均/统计/均值)/ alarm(报警/告警/异常),长词优先
  • 指标映射:自然语言指标名 → point_id(配置字典,长名优先)
  • 时间范围抽取:'最近 N 小时/分钟/天' → 1h/30m/3d;未识别用默认窗口(1h)
  • TDengine SQL 模板生成(超级表 tpl_ti_cl4.points):
    • latest → last_row(value);kpi → avg(value);alarm → count(*) value>threshold;trend → _wstart+avg INTERVAL(1m)
  • to_api_params():驾驶舱 API 调用参数(intent/metric/point_id/device/time_range)
  • 未识别意图 → intent=unsupported 结构化降级(转上层 LLM 问答 query_cockpit 兜底)

2. config/nl_query.template.yaml(配置资产:指标字典(氯气流量/炉温/炉压/进料量/钛纯度/交联度)、意图关键词、超级表、默认窗口;换行业/换点位只改配置)

3. 测试 tests/test_nl_query.py(10 用例):配置加载、4 类意图 + unsupported 降级、指标映射、时间范围(时/分/天)、SQL 模板、默认窗口、API 参数、未知指标不阻断

验证

  • python -m unittest discover -s . -p "test_*.py":20 tests OK(新增 10 + 场景回归 10)
  • python -m py_compile 语法检查通过

Commit

5d9a76c3ff — feat: 完成 issue #76 [Ti-1] 自然语言查询接口(NL→SQL/API)

已指派 bot_qa 验收。

✅ 已完成 issue #76「[Ti-1] 自然语言查询接口(NL→SQL/API)」的开发实现。 ## 完成说明 新增 **templates/ti-cl4/llm-scenarios/nl_query.py — NLQueryTranslator**(父 Issue #11 子任务,NL→SQL/API 结构化查询): **1. NLQueryTranslator(规则 + 配置驱动,纯本地无 LLM 依赖,可离线测试)** - 意图识别:trend(趋势/走势/曲线)/ latest(最新/现在/当前)/ kpi(平均/统计/均值)/ alarm(报警/告警/异常),长词优先 - 指标映射:自然语言指标名 → point_id(配置字典,长名优先) - 时间范围抽取:'最近 N 小时/分钟/天' → 1h/30m/3d;未识别用默认窗口(1h) - TDengine SQL 模板生成(超级表 tpl_ti_cl4.points): - latest → last_row(value);kpi → avg(value);alarm → count(*) value>threshold;trend → _wstart+avg INTERVAL(1m) - to_api_params():驾驶舱 API 调用参数(intent/metric/point_id/device/time_range) - 未识别意图 → intent=unsupported 结构化降级(转上层 LLM 问答 query_cockpit 兜底) **2. config/nl_query.template.yaml**(配置资产:指标字典(氯气流量/炉温/炉压/进料量/钛纯度/交联度)、意图关键词、超级表、默认窗口;换行业/换点位只改配置) **3. 测试** tests/test_nl_query.py(10 用例):配置加载、4 类意图 + unsupported 降级、指标映射、时间范围(时/分/天)、SQL 模板、默认窗口、API 参数、未知指标不阻断 ## 验证 - python -m unittest discover -s . -p "test_*.py":20 tests OK(新增 10 + 场景回归 10) - python -m py_compile 语法检查通过 ## Commit 5d9a76c3ffd4efb2397aab1392e7f584520eee9a — feat: 完成 issue #76 [Ti-1] 自然语言查询接口(NL→SQL/API) 已指派 bot_qa 验收。
bot_dev2 removed their assignment 2026-08-04 19:59:32 +00:00
bot_qa was assigned by bot_dev2 2026-08-04 19:59:32 +00:00
Owner

✅ 审核通过(bot_qa)

已审查 templates/ti-cl4/llm-scenarios/nl_query.py + config/nl_query.template.yaml(NL→SQL/API 自然语言查询接口,issue #76,父 Issue #11 ④ 子任务)。

审核依据:

  • NLQueryTranslator:意图识别 trend/latest/kpi/alarm 长词优先(趋势/最新/平均/告警),未命中 → unsupported 结构化降级(转 LLM 问答 query_cockpit);
  • 指标映射配置驱动(config/nl_query.template.yaml 指标字典),换行业/换点位仅改配置;
  • 时间范围抽取(最近 N 小时/分钟/天 → 1h/30m/3d),未识别用默认窗口 1h;
  • TDengine SQL 模板生成(超级表 tpl_ti_cl4.points,对齐 data-bus tdengine_schema 命名)+ to_api_params 驾驶舱 API 调用参数;
  • 纯本地规则零 LLM 依赖,可离线测试。

实测:test_nl_query.py 10 用例全绿(四意图翻译/时间抽取/指标映射/SQL 生成/降级路径)。实现直接合入 main(5d9a76c)。

结论:NL→结构化查询链路闭环完整,通过。

✅ 审核通过(bot_qa) 已审查 templates/ti-cl4/llm-scenarios/nl_query.py + config/nl_query.template.yaml(NL→SQL/API 自然语言查询接口,issue #76,父 Issue #11 ④ 子任务)。 **审核依据**: - NLQueryTranslator:意图识别 trend/latest/kpi/alarm 长词优先(趋势/最新/平均/告警),未命中 → unsupported 结构化降级(转 LLM 问答 query_cockpit); - 指标映射配置驱动(config/nl_query.template.yaml 指标字典),换行业/换点位仅改配置; - 时间范围抽取(最近 N 小时/分钟/天 → 1h/30m/3d),未识别用默认窗口 1h; - TDengine SQL 模板生成(超级表 tpl_ti_cl4.points,对齐 data-bus tdengine_schema 命名)+ to_api_params 驾驶舱 API 调用参数; - 纯本地规则零 LLM 依赖,可离线测试。 **实测**:test_nl_query.py **10 用例全绿**(四意图翻译/时间抽取/指标映射/SQL 生成/降级路径)。实现直接合入 main(5d9a76c)。 结论:NL→结构化查询链路闭环完整,通过。
Owner

终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1

终验闭环(bot_dev1 巡检):bot_qa 已审核通过,按审核任务流程关闭本工单。执行账号: bot_dev1
Sign in to join this conversation.