链载Ai

标题: 清华首创多模态 知识图谱 RAG,问答精准度超 94% [打印本页]

作者: 链载Ai    时间: 昨天 18:31
标题: 清华首创多模态 知识图谱 RAG,问答精准度超 94%


一、多模态RAG面临的困难

二、DO-RAG的解决方案

DO-RAG 的核心思想是将非结构化的、多模态的领域数据转换为动态的、多级的知识图谱,并通过结合图遍历和语义向量搜索来检索结构化的、上下文丰富的信息。

在生成阶段,通过基于事实的细化步骤验证输出,减少幻觉现象,从而提高答案的事实准确性。

DO-RAG 的系统架构包括四个关键阶段:

2.1 多模态文档抽取和分块

2.2 多级知识图谱构建

性。

DO-RAG 通过设计和实现一个分层的基于代理的提取管道,自动构建和更新知识图谱,捕捉实体、关系和属性。

该管道包括四个专门的代理,分别在不同的抽象级别上运行:

  1. 高级代理:识别结构元素,例如章节、段落等。

  2. 中级代理:提取特定领域的实体,如系统组件、API 和参数。

  3. 低级代理:捕获细粒度的操作关系,如线程行为或错误传播。

  4. 协变量代理:为现有节点附加属性,例如默认值、性能影响等。

通过这种方式,DO-RAG 能够从文本、表格、代码片段和图像等多种模态的文档中提取结构化知识,构建动态的知识图谱。

2.3 混合检索和查询分解

在用户提交问题时,DO-RAG 使用基于 LLM 的意图分析器对用户查询进行结构化分解,生成子查询以指导从知识图谱和向量存储中的检索。

所有相关的信息源(原始查询、重写后的查询、知识图谱上下文、检索到的文本片段和用户交互历史)被整合到一个统一的提示结构中,并传递给生成管道。

2.4 基于事实的答案生成和幻觉缓解

在生成阶段,DO-RAG 采用分阶段的提示策略。

三、一些细节

3.1 知识图谱构建

  1. 多模态文档摄取

  2. 系统接收包含文本、表格和图像的异构领域数据,将其标准化并分割为有意义的块单元。

  3. 同时,保留元数据,如源文件结构、章节层次和布局标签,以便于追溯。

  4. 实体 - 关系提取

  5. 通过多代理管道提取结构化知识

  6. 高级代理识别文档的结构元素

  7. 中级代理提取特定领域的实体

  8. 低级代理捕获细粒度的操作关系

  9. 协变量代理为现有节点附加属性

  10. 每个代理的输出被整合到动态知识图谱中,节点代表实体,边代表关系,权重表示置信度。

  11. 去重与优化

  12. 通过计算新实体嵌入与现有实体嵌入之间的余弦相似性,避免知识图谱中的冗余。

  13. 此外,合成概要节点以对相似实体进行分组,降低图谱复杂性。

3.2 混合检索步骤

  1. 查询分解

  2. 用户查询通过基于 LLM 的意图分析器分解为多个子查询,每个子查询代表一个离散的信息意图。

  3. 知识图谱检索

  4. 将初始查询嵌入到向量空间中,并与知识图谱中的相关实体进行匹配。

  5. 然后执行多跳遍历,扩展检索范围,生成结构化的、特定领域的上下文。

  6. 查询重写

  7. 利用图谱派生的上下文,通过图感知提示模板重写原始查询,使其更加具体和明确。

  8. 向量检索

  9. 将重写的查询向量化,并从向量数据库中检索出语义相似的文本片段。

  10. 信息整合

  11. 将所有相关信息源(原始查询、重写后的查询、知识图谱上下文、检索到的文本片段和用户交互历史)整合到一个统一的提示结构中。

3.3 生成与细化步骤

  1. 初始答案生成

  2. 基于检索到的证据,使用简单的提示策略生成初始答案。此时,明确指示 LLM 避免生成未经支持的内容。

  3. 答案细化

  4. 将初始答案传递给细化提示,重新构建和验证答案,确保其事实准确性。

  5. 答案压缩

  6. 通过压缩阶段调整答案的语气、语言和风格,使其与原始查询保持一致,同时确保连贯性和简洁性。

  7. 后续问题生成

  8. 基于细化后的答案和整体对话上下文,生成后续问题,引导用户进行更深入的探索。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5