云计算百科
云计算领域专业知识百科平台

面向科学装置的纠错式智能混合RAG与运维实测评测体系

面向科学装置的纠错式智能混合RAG与运维实测评测体系

arXiv原文链接:https://arxiv.org/html/2607.24663v1

摘要

大型科学用户设施数十年运维知识分散存储于电子日志、技术手册、内部维基、运维聊天、工单、设备停机记录、实时控制系统等异构数据源,传统单一检索系统无法统一整合。本文设计并落地APS-RAG平台——面向先进光子源(APS)的检索增强生成系统,支持自然语言查询全机构运维知识库;同时配套一套贴合真实运维场景的标准化评测框架。
检索引擎融合稠密向量、稀疏BM25、知识图谱三路召回,基于查询类型自适应 reciprocal-rank 融合;内置LangGraph实现纠错式智能迭代回路;基于Model Context Protocol(MCP)搭建原生ReAct工具执行层,可调用EPICS实时设备时序数据。
本文构建APS-Bench评测集,共50道基于真实运维语料生成的问答,每道题目附带人工校验标准答案与关键证据片段标注。基线朴素BM25检索严格关键信息召回率仅63.8%,完整纠错式智能图谱RAG方案可达70.3%。实验证明跨编码器重排器是性能决定性组件,移除后严格关键召回率暴跌32.8%;知识图谱、纠错迭代回路可小幅提升效果,但增益不具备统计显著性。
本文完整开源评测集、六分层评测工具、MCP检索技能代码,可为同步辐射、加速器等大型科研装置搭建知识库问答系统提供可复用工程范式。
关键词:RAG;Agentic智能检索;纠错式CRAG;知识图谱检索;MCP工具协议;加速器运维;评测基准;科学设施知识库
在这里插入图片描述

一、引言

大型加速器、同步辐射类科学装置常年连续运行,运维经验分散在多套独立系统:

  • BELY电子运行日志:束流丢失、设备调试、实验班次记录;
  • ICMS受控技术文档:设备规范、调试流程、故障处置方案;
  • 运维工单系统:设备维修、更换、故障处理全流程;
  • Teams内部运维聊天:实时排障沟通;
  • 内部维基:分系统操作手册;
  • MCR停机结构化记录;
  • SDDS、OAG控制软件文档;
  • EPICS归档:实时/历史设备PV过程变量(不可预索引,实时调用)。
  • 操作人员排查故障、实验人员查阅历史方案时,需要切换多套系统、记忆各类查询语法,学习成本极高;资深员工离职会带走大量隐性运维经验。仅依靠大模型无检索直接生成回答极易产生无依据幻觉,检索增强生成(RAG)可将回答锚定真实文档、每条结论附带原文引用,解决事实性错误问题。
    现有领域RAG工作存在短板:仅做基础稠密/稀疏混合检索,缺少故障链路知识图谱、迭代纠错智能回路,且缺少贴合加速器运维的专用评测数据集(通用QA基准无法衡量设备故障、时序、多步骤流程类问题效果)。
    本文核心贡献:

  • 部署APS-RAG完整工程系统:三路自适应融合检索、纠错智能循环、MCP原生工具层、知识图谱故障链路检索一体化架构;
  • 提出六分层运维导向评测体系,设计APS-Bench 50题领域专用基准,含自动数据集生成流水线、关键证据nugget标注方案;
  • 大规模消融实验量化各组件增益,证明跨编码器重排是性能核心保障;
  • 开放全套代码、评测脚本、基准数据集、MCP检索技能,支持其他科研设施直接复用落地。
  • 二、相关工作

    在这里插入图片描述

    2.1 通用RAG、智能RAG、纠错CRAG体系

  • 基础RAG:稠密DPR向量检索 + BM25稀疏检索 + RRF融合,仅单次检索生成答案;
  • Self-RAG、CRAG纠错RAG:增加检索-校验-重检索迭代逻辑,检测回答证据不足时自动扩写查询、二次召回;
  • Agentic RAG:LangGraph等图编排框架实现多轮工具调用、条件分支、自校验门控;
  • GraphRAG:构建实体-关系知识图谱,处理多跳因果、故障链式问题。
    本文在通用架构基础上创新:自适应权重RRF三路融合(稠密/稀疏/图谱)+ 专用运维知识图谱 + MCP实时设备数据工具链。
  • 2.2 加速器领域LLM知识库系统

    已有CALMS(阿贡)、GAIA(DESY欧洲XFEL)、电子离子对撞机RAG、日志检索工具等同类系统,但存在共同缺陷:

  • 仅基础单路/混合检索,无迭代纠错智能体;
  • 缺少故障因果知识图谱,无法追溯“故障-原因-处置流程”链路;
  • 无标准化运维专用评测集,仅靠人工定性评估,无法量化组件收益;
  • 不支持实时EPICS设备时序数据联动检索。
    APS-RAG填补以上空白,同时配套完整可复现定量评测框架。
  • 2.3 评测基准相关研究

    miniF2F、SQuAD等通用问答基准侧重文本抽取,不匹配加速器多跳、时序、故障类查询;InPars提出基于文档自动生成问答对的数据集构建方法,本文基于该思路改造为运维专用生成流水线,新增难度分层、查询类型约束、关键证据标注模块。

    三、APS-RAG系统整体架构

    3.1 APS八大知识库数据源

    系统预索引7类静态文档,EPICS PV实时数据通过MCP动态调用,各数据源文档规模统计:

    数据源文档数量总字符GPT-4分词Token总量
    BELY运行日志 4.5k 14.0M 4.2M
    ICMS技术文档 5.8k 72.0M 20.6M
    运维工单Work Requests 17.3k 3.0M 0.8M
    Teams运维聊天 9.4k 2.4M 0.8M
    内部维基 0.2k 0.8M 0.1M
    MCR停机记录 103.0k 7.9M 1.9M
    SDDS控制工具文档 0.6k 1.4M 0.4M
    OAG操作界面文档 0.7k 0.8M 0.2M

    数据源处理规范

  • 分源自定义Schema:保留唯一文档ID、创建时间、所属设备系统、标题、正文,支持精确溯源引用;工单、日志等嵌套结构扁平化分块存储;
  • 每日增量同步流水线:通过文档哈希diff比对,仅新增/修改文档执行向量、BM25、图谱增量更新,无需全量重建索引;
  • 父子分块索引机制:完整父文档保存全局上下文,拆分子块用于检索嵌入;块重叠200字符,每块前置文档元信息保证检索片段自完备;
  • 稠密检索:e5-large-v2生成1024维向量存入Qdrant;稀疏检索:Elasticsearch BM25;知识图谱Neo4j存储故障、设备、流程实体关系。
  • 3.2 整体检索生成流水线

    用户输入自然查询后完整链路:

  • 查询预处理:时间解析、同义词扩充、缩写展开、多查询变体生成、意图分类(8类运维查询);
  • 三路并行召回:稠密向量、BM25关键词、知识图谱Cypher查询;
  • 自适应RRF融合:根据查询类型分配三路检索权重;
  • Jina v3跨编码器重排,取Top50候选片段;
  • 纠错智能回路校验答案证据完备度,不足则扩写查询重检索(最多2轮);
  • ReAct MCP工具层:按需调用EPICS实时PV、图片检索、数值计算;
    7 LLM生成带原文ID内联引用的可验证回答。
  • 3.3 自适应三路RRF融合公式

    RRF(d)=∑cwck+rc(d),k=60\\mathrm{RRF}(d)=\\sum_{c}\\frac{w_{c}}{k+r_{c}(d)},\\quad k=60RRF(d)=ck+rc(d)wc,k=60
    ccc为检索通道(稠密/稀疏/图谱),wcw_cwc为对应权重,rc(d)r_c(d)rc(d)为文档ddd在通道内排名。
    8类查询预设固定权重(人工基于运维经验调优):

    查询类型稠密权重BM25权重知识图谱权重侧重通道
    factual事实查询 0.2 0.5 0.3 BM25(设备PV、编号精确匹配)
    value数值查询 0.1 0.6 0.3 BM25
    temporal时序查询 0.3 0.5 0.2 BM25(日期/班次)
    troubleshooting故障排查 0.3 0.2 0.5 知识图谱(故障链路)
    multi_hop多跳推理 0.3 0.2 0.5 知识图谱
    comparative对比类 0.4 0.3 0.3 均衡三路
    code控制代码 0.5 0.5 0.0 稠密+BM25
    general通用咨询 0.4 0.3 0.3 均衡三路

    在这里插入图片描述

    3.4 纠错式Agentic循环(LangGraph状态机实现)

    1)打分公式(人工调优固定系数)

    s=0.4ρ+0.3g+0.3c−0.05nKGs=0.4\\rho+0.3g+0.3c-0.05n_{\\text{KG}}s=0.4ρ+0.3g+0.3c0.05nKG

    • ρ\\rhoρ:检索片段相关性;
    • ggg:回答原文锚定程度;
    • ccc:答案完整度;
    • nKGn_{\\text{KG}}nKG:无法通过图谱验证实体数量惩罚项。

    2)执行逻辑

    设定阈值τ=0.4\\tau=0.4τ=0.4,得分低于阈值触发重检索:

  • 轻量预校验门控(Claude Haiku快速初审):回答简略改写优化,成本极低;
  • 不达标则进入完整纠错轮次:LLM扩写查询、拓宽时间范围重新三路检索;
  • 部署限制最多2轮纠错,防止无限循环,取最优得分回答输出。
  • 在这里插入图片描述

    3.5 故障专用知识图谱构建

    实体类型

    Fault故障、Component设备、System子系统、LogEntry日志、WorkRequest工单、Procedure处置流程、Person运维人员。

    核心关系

    CAUSED_BY故障诱因、RESOLVED_BY处置方案、HAS_FAULT设备故障、FOLLOWS_PROCEDURE执行流程。

    图谱能力

    Cypher最短路径查询,自动串联「现象→根因→历史处置工单」完整故障链,普通向量检索无法跨文档串联因果,是故障排查类查询核心增益来源。
    图谱数据从8套语料LLM两阶段抽取,共96517节点、84222条边存入Neo4j社区版。

    在这里插入图片描述

    3.6 MCP工具层 + ReAct原生调用

    搭建4组独立FastMCP服务,提供8类工具:

  • archiver:EPICS PV实时/历史时序查询(channel_find、channel_read);
  • graph:知识图谱检索;
  • compute:数值计算器、表格统计沙盒代码执行;
  • image:日志截图反向/文本图像检索(SigLIP+FAISS)。
    MCP持久会话池减少模型、索引反复加载开销,工具调用标准化错误封装;同时对外暴露aps-rag独立MCP技能,可在Claude Code、Codex等编码智能体直接调用知识库检索。
  • 在这里插入图片描述

    3.7 前端交互界面

    基于OpenWebUI实现聊天界面,三种运行模式:

  • APS-RAG Fast:单次检索无纠错,低延迟;
  • APS-RAG Thinking:开启最多两轮纠错智能循环;
  • AI Troubleshoot:优先图谱故障链路检索。
    回答内联文档ID引用(BELY_xxxx / WRQ_xxxx),点击直达原始运维记录,附带时序、图片、计算工具快捷入口。
  • 四、评测基准APS-Bench与六分层评测方案

    4.1 APS-Bench数据集构建流程(共50道问答,1道不可回答样例)

  • 采样阶段:按「数据源×查询类型」网格采样原始文档;
  • 类型约束问答生成:给定文档+查询类型模板,LLM生成问题+标准参考答案;
  • 结构难度分级:依据证据跳数、时序范围划分easy/medium/hard;
  • 过滤去重:仅保留可被检索到的有效问题;
  • 关键nugget标注:标准答案拆分为vital核心证据(必须出现)、okay辅助信息,用于量化回答完备度。
    数据集完整元数据、生成脚本开源,每道题目附带溯源哈希、提示词模板记录。
  • 4.2 六层完整评测指标体系

  • 检索层:MRR@10、NDCG@10、Recall@5/10/20;
  • 核心答案层:严格关键召回VstrictV_{\\text{strict}}Vstrict(主指标)、加权召回、幻觉率;
  • 事实忠实层:HHEM2.1逐句主张校验,区分生成内容是否有原文支撑;
  • RAGAS代理指标:便于横向对比通用RAG工作;
  • 运维专用指标:故障链路完整度、引用精确率;
  • 辅助QA指标:Exact Match、Token F1、语义准确率Acc。
  • 4.3 评测打分规则

    生成模型统一使用GPT-5.4(ARGO网关),评判模型固定选用不同厂商Claude Opus避免自偏好偏差,Gemini二次交叉校验;
    统计采用95%配对bootstrap置信区间,10000次重采样;多组对比使用Holm/Bonferroni多重检验校正控制假阳性。

    五、实验结果与消融分析

    5.1 全系统整体性能(5种RAG方案对比)

    系统方案严格关键召回VstrictV_{\\text{strict}}Vstrict幻觉率语义准确率Token F1
    Naive BM25 朴素RAG 63.8% 11.2% 58.8% 63.1%
    Hybrid 稠密+BM25 65.5% 9.4% 65.0% 73.1%
    Agent 无图谱 66.1% 7.9% 60.6% 67.1
    Graph 无纠错循环 69.1% 11.3% 61.9% 69.2
    Agentic GraphRAG(完整APS-RAG) 70.3% 8.7% 64.1% 71.2

    结论:所有增强方案均优于朴素BM25;完整系统取得最高关键召回,纠错循环显著降低幻觉。

    5.2 检索指标对比

    系统MRR@10NDCG@10Recall@5Recall@10Recall@20
    Naive 80.7 69.6 63.5 67.3 71.2
    Hybrid 89.0 73.6 62.6 70.4 76.3
    Agent 83.8 71.0 67.8 76.5 74.0
    Graph 87.0 73.3 61.9 69.1 76.7
    Full APS-RAG 85.6 72.2 62.1 69.1 75.1
    稠密+BM25混合检索一阶排序效果最优,完整系统依靠纠错回路弥补排序小幅劣势。

    5.3 核心组件消融实验(19道高难度子集)

    移除各组件后的严格召回变化:

    配置严格召回幻觉率召回变化&95%置信区间
    完整系统 64.5% 7.7%
    移除纠错循环 57.9% 7.1% -6.6 [-21.4, 6.2]
    移除知识图谱 58.1% 8.2% -6.4 [-20.7, 5.0]
    固定RRF权重 61.0% 9.5% -3.5 [-16.8, 6.7]
    移除预校验门控 64.9% 11.4% +0.4 [-15.8, 10.9]
    替换重排器为LLM打分 31.8% 30.0% -32.8 [-47.4, -19.1](p<1e-4显著)
    移除时序解析 57.9% 6.9% -6.7 [-20.7, 3.9]
    移除同义词扩展 58.2% 9.1% -6.3 [-19.7, 3.9]
    移除缩写展开 58.2% 9.4% -6.4 [-18.9, 2.9]
    移除多查询生成 61.8% 10.0% -2.8 [-15.8, 6.4]

    关键结论

  • 跨编码器重排是决定性核心组件,移除后召回暴跌32.8%,多重检验下差异高度显著;
  • 纠错回路、知识图谱、时序解析、同义词扩展均带来正向增益,但置信区间跨0,样本量不足下无统计显著性;
  • 预校验门控不影响召回,但大幅提升回答忠实度、幻觉上升47%,属于低成本保真组件。
  • 5.4 细分难度性能差异

    • Easy简单(15题):严格召回77.9%,幻觉仅3.4%;
    • Medium中等(24题):严格召回64.5%,幻觉10.1%;
    • Hard高难(10题):严格召回72.6%,幻觉21.6%;
      中等难度样本证据分散在多份文档,最容易出现信息缺失;高难多为规范手册长推理,幻觉率最高。

    5.5 知识图谱适用场景分析

    图谱对故障排查、多跳因果类查询提升明显;但会稀释通用查询排序精度,因此采用自适应权重动态平衡收益与损耗。仅搭配纠错循环时,图谱的完整故障链路价值才能充分发挥;单独开启图谱无纠错会提升幻觉率至11.3%。

    5.6 嵌入模型、纠错轮次、生成模型消融

  • 嵌入对比:bge-m3 > e5-large-v2 > all-MiniLM > 领域专用accphysbert;混合检索可缩小差距;
  • 纠错轮次:1轮迭代即可获得绝大部分保真收益,2轮以上延迟大幅上升但性能提升极小,工程部署限定2轮最优;
  • 生成模型对比:召回区间58.170.3差异不大,但幻觉率跨度5.6%30.6,生成模型忠实度选型优先级高于召回能力。
  • 六、系统工程落地建议

  • 资源投入优先级:跨编码器重排 > 自适应三路融合 > 纠错自校验门控 > 知识图谱;
  • 故障场景必须启用图谱+纠错循环,普通设备参数查询仅稠密+BM25即可满足需求;
  • 生产环境纠错迭代上限设为2轮,平衡延迟与准确性;
  • 实时EPICS设备数据通过MCP隔离,不纳入预索引,按需动态调用;
  • 内部知识库持续迭代时,配套APS-Bench定期回归测试,监控版本退化。
  • 七、研究局限性

  • 评测仅基于APS单装置数据,结论推广至其他加速器设施仍需验证;
  • 基准问答由LLM自动生成,虽人工抽样校验但无法完全等同于真实操作员提问分布;
  • MCP实时工具层未纳入定量评测,仅定性验证功能;
  • 样本量50较小,除重排器外其余组件增益无统计显著性;
  • 引用精确率73%,部分回答附带无关检索片段,后续可增加引文过滤模块。
  • 八、结论

    本文搭建APS-RAG面向加速器运维纠错式智能混合RAG平台,融合稠密/稀疏/知识图谱三路自适应检索、LangGraph纠错智能回路、MCP实时设备工具层,配套完整运维专用评测基准APS-Bench。
    消融实验证明跨编码器重排是系统性能核心保障;知识图谱、迭代纠错可小幅提升故障类问题完备度、降低幻觉。整套代码、评测数据集、MCP检索技能全部开源,可为各类大型科学装置构建自然语言运维知识库提供可直接复用的完整工程方案。

    附录 配套资源与部署脚本

    1. 资源下载链接

  • 论文HTML原文:https://arxiv.org/html/2607.24663v1
  • 论文PDF:https://arxiv.org/pdf/2607.24663
  • APS-RAG完整开源代码:内部GitLab开源(文中提供获取渠道)
  • APS-Bench完整50道基准数据集JSON:随项目附件发布
  • MCP四组服务配置文件、启动脚本
  • 全套评测自动化Python脚本(召回/幻觉/F1批量计算)
  • 补充图表、延迟统计表、嵌入模型对比数据表
  • 2. MCP服务启动配置示例(S1补充材料)

    四组FastMCP服务配置片段:

    {
    "mcpServers": {
    "archiver": {
    "command": "python",
    "args": ["archiver_mcp_server.py"],
    "transport": "stdio"
    },
    "graph": {
    "command": "python",
    "args": ["graph_mcp_server.py"],
    "compute": {"calculator","code_executor","data_analysis"},
    "image": {"image_search"}
    }
    }
    }

    可用工具:channel_find、channel_read、graph_search、计算器、沙盒数据分析、图文检索。

    3. 一键部署启动脚本(Linux/Kali/服务器通用)

    # 1. 拉取代码仓库
    git clone https://内部项目仓库地址
    cd aps-rag
    # 2. 安装依赖
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    # 3. 启动Neo4j、Elasticsearch、Qdrant容器
    docker-compose up -d vector es neo4j
    # 4. 执行增量索引构建(每日定时任务)
    python ingest_pipeline.py –daily-diff-update
    # 5. 启动MCP后台服务
    python mcp_archiver.py &
    python mcp_graph.py &
    # 6. 启动APS-RAG主服务
    python main_server.py –ip 0.0.0.0 –port 8080
    # 7. 批量运行APS-Bench评测
    python eval_runner.py –bench APS-Bench.json –output result.csv

    4. 系统延时参考(补充S2)

    规划大模型端到平均耗时检索耗时重排耗时生成耗时
    Gemini 2.5 Flash 88.8s 65.1s 18.2s 6.5s
    GPT-5.4 105.9s 60.0s 18.8s 8.5s
    Claude Opus 4.6 140.4s 109.7s 18.8s 8.5s
    检索多路并行占用绝大部分延迟,纠错轮次会显著拉长耗时。

    5. 数据集JSON标准Schema(S6)

    统一分块存储结构,所有数据源归一化为同一字段标准:

    {
    "$schema": "corpus_v2",
    "doc_id": "bely_10635__chunk_0",
    "title": "9-BM二维扫描PV配置",
    "collection": "bely_logbook",
    "system": "9-BM光束线",
    "creation_datetime": "2026-02-06T14:34:06",
    "content": "扫描相关操作记录、PV参数说明"
    }

    6. 评测指标计算脚本片段(S5)

    Token F1、语义Accuracy计算核心代码

    def compute_f1(pred_tokens, gold_tokens):
    common = set(pred_tokens) & set(gold_tokens)
    p = len(common)/len(pred_tokens) if pred_tokens else 0
    r = len(common)/len(gold_tokens) if gold_tokens else 0
    return 2*p*r/(p+r) if p+r>0 else 0

    def judge_accuracy(question, gold_ans, pred_ans):
    # 调用独立评判LLM返回0/1语义匹配
    judge_prompt = f"""问题:{question}
    标准答案:
    {gold_ans}
    模型回答:
    {pred_ans}
    仅输出1(包含正确核心信息)或0(关键信息缺失/错误)"""

    resp = judge_llm(judge_prompt)
    return int(resp.strip())

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 面向科学装置的纠错式智能混合RAG与运维实测评测体系
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!