254页手册变配置:现场总线设备上线的RAG六段流水线

调试一台现场设备,工程师要在数百页PDF手册里找寄存器地址、波特率、站地址、功能码和PDO映射,再手工抄进 SCADA 或 DCS。论文给出的量级是:每个调试周期可能消耗数百工程小时,在新建项目中可占项目成本的三成;抄错一个寄存器地址或波特率,轻则传感器失声,重则执行器误动作。CLARITY 尝试把这条链路自动化,但它没有让大模型“直接写配置”,而是把检索、弃权、校验、部署拆成六段,任何一段不放心就停下来。

本体加权的混合检索

手册按512个token切块、重叠64个token,用 BGE-M3 生成1024维向量存入 Qdrant,同时建 BM25 索引以匹配寄存器号和零件号这类精确标识。另有一条本体图:从 ECLASS、资产管理壳(AAS)和 SOSA/SSN 的标签构建,检索时若块中出现本体标签就加0.1分。稠密与稀疏各取前20,用 RRF(k=60)融合,再经交叉编码器重排取前5段交给模型。

评测中混合检索的 HitRate@10 为0.964,高于任一单路的0.929;重排把 MRR@10 从0.557提到0.625,nDCG@10 从0.634提到0.679。检索本身很便宜:嵌入59毫秒、搜索不到1毫秒、20个候选重排321毫秒(CPU)。

先弃权,再生成,最后 SHACL 校验

生成用本地 llama3.1:8b(温度0.1),按协议模板填 JSON-LD。模型输出先过四步修复(去JS注释、去尾逗号、规范Python字面量、统一引号),15次基准运行中有11次至少触发一步。真正决定能不能写入的是两道弃权门:生成前要求重排分数的 sigmoid 最大值≥0.72,且检索上下文引用的本体IRI解析比例≥0.80;生成后再扫描JSON块之外的文字,出现“未说明”“未知”等不确定表述就拦下。

通过者才做 SHACL 校验——例如 Modbus 寄存器必须落在1–65534,功能码限定在合法集合。四个协议适配器(Modbus RTU、OPC-UA、Profibus DP、CANopen)在任何网络I/O之前执行硬约束,写入后逐值回读。

从五台设备到一台 UR5e

在28条字段级查询加5条语料外查询的金标准上,文档内查询的重排分数全部≥0.526,语料外全部≤0.061,形成8.6倍间隔,因此0.061–0.526之间的任意阈值都能取得完美的弃权精确率与召回率;生产阈值0.72更保守,在困难查询上误弃权一次,方向是安全的。生成器字段级F1为0.87,12次运行中9次完全匹配;端到端每台设备2.6–6.6秒,五台设备的基准上没有一次不安全写入,也没有一次静默失败。

组件级评测还定位到唯一系统性失败在 OPC-UA 的 JSON-LD 生成——只看端到端指标是发现不了的。更接近真实的一幕是:系统直接从一台 UR5e 协作机器人未改动的厂商文档(254页用户手册加8页寄存器表,共496个块)完成配置,三次运行字段级F1均为1.0,并用回读与关节一致性检查确认。

这套流水线的价值不在于“8B模型有多强”,而在于把不确定性显式化:检索分数不够就弃权,IRI 覆盖率不够就弃权,SHACL 不过就不部署。对工业知识工程而言,这是一种可复制的模式——本体不是装饰,而是检索加权、生成约束和验证形状的共同骨架。

资料来源:RAG-Based Auto-Configuration for Industrial Fieldbus Devices — arXiv(2026-08-09)。本文为技术要点整理/编译,非原文全文。