iAOP-Template-Ti 一期 · LLM 场景层(LLM Scenarios)
对应 PRD 5.4 / 5.5 与 EPIC #11「[Template-Ti 一期] ④ LLM 报警解释 / 交接班 / NL 查询」: 复用 ④ LLM 网关(core/llm-gateway)与领域 RAG(core/rag-kb),针对 Ti 场景 配置 RAG 知识域与提示词模板,落地三个业务场景:
- 报警根因解释(
alarm_explain):高利害,启用幻觉校验信度阈值,低信度转人工; - 交接班自动摘要(
shift_handover):生产概况 / 异常事项 / 安全注意事项; - 自然语言查询驾驶舱(
nl_query):NL → 指标 / 查询意图。
验收(Issue #11):路由准确率 ≥ 96.5%、幻觉校验通过。
模块结构
templates/ti-cl4/llm-scenarios/
├── __init__.py 场景包入口(导出 TiScenarioRunner)
├── scenarios.py Ti 场景编排(三场景 + 演示知识文档集 + 组件装配)
├── config/
│ └── scenarios.template.yaml 场景配置资产(提示词绑定 / RAG 知识域 / 验收指标)
└── tests/
├── _bootstrap.py 测试引导(挂载 ti_scenarios / llm_gateway / rag_kb)
└── test_scenarios.py 场景端到端 + 路由准确率 + 幻觉校验测试
用法
from ti_scenarios import TiScenarioRunner
runner = TiScenarioRunner()
# 1) 报警根因解释(高利害;低信度自动转人工)
r1 = runner.explain_alarm("炉温超上限报警怎么处理", confidence=0.95)
print(r1.answer) # 含 SOP 引用溯源
# 2) 交接班自动摘要
r2 = runner.generate_handover("甲班:生产平稳,炉温正常,无异常事项")
# 3) 自然语言查询驾驶舱
r3 = runner.query_cockpit("查询最近一小时的氯气流量趋势")
设计说明
- 内核零改动:场景层只复用
LLMGateway/PromptRegistry/SensitivityRouter/RagKnowledgeBase,换行业只改模板资产(prompts / router / kb / scenarios); - RAG 演示数据:
DEMO_KB_DOCS内置工艺规范 / 异常处置 SOP / 交接班规范等 演示文档;接入真实客户数据时替换kb_loader(TiScenarioRunner(kb_loader=...)); - 验收自检:
tests/test_scenarios.py::TestRouteAccuracy用 Ti 场景查询集 断言路由准确率 ≥ 96.5%;TestScenariosE2E覆盖三场景端到端与幻觉校验。
运行测试
cd templates/ti-cl4/llm-scenarios/tests
python -m unittest discover -s . -p "test_*.py"