【RAG】混合RAG系统,提升复杂推理任务表现

前言

检索增强生成(RAG)系统在处理复杂推理任务方面展现出显著的潜力。然而,现有的RAG系统在面对需要复杂推理、多领域知识集成及数值计算的任务时,仍存在性能瓶颈。为了进一步提升系统的表现,本文提出了一种混合RAG系统,通过整合多种优化方法,显著增强了系统的推理能力和处理复杂任务的能力。本文介绍的RAG系统设计并实现了一个包括网页处理、属性预测、数值计算、LLM知识提取、知识图谱及推理模块在内的综合架构。该系统能够有效地从多种来源提取信息,并通过高级推理模块结合这些信息,生成高质量的答案。

一、方法

在这里插入图片描述

混合RAG系统整体架构

混合RAG系统包括六个关键模块:网页处理、属性预测器、数值计算器、LLM知识提取器、知识图谱模块和推理模块。

  1. 网页处理:使用trafilatura和BeautifulSoup库从网页中提取文本和表格,然后使用Blingfire库将文本分割成句子,并根据关键词将句子组织成文本块。
  2. 属性预测器:通过LLMs和SVM分类器评估问题的领域、类型和时效性,以优化模型在不同问题类型上的性能。
  3. 数值计算器:利用外部Python解释器进行数值计算,通过LLMs生成数学表达式,并使用eval函数处理这些表达式。
  4. LLM知识提取器:利用LLMs内部的知识进行推理,减少对外部参考文档的依赖。
  5. 知识图谱模块:通过模拟API查询知识图谱,使用LLMs生成查询语句。
  6. 推理模块:结合文本块、表格、知识图谱三元组和LLM知识进行最终答案的推理,通过设计良好的提示模板和控制推理路径来实现。

1.1 网页处理

在这里插入图片描述

网页处理

  1. 文本块处理

    • 使用trafilatura库从网页中提取纯文本,该库能有效去除噪声,如页眉、页脚和链接。
    • 对于trafilatura无法处理的网页,使用BeautifulSoup作为备选方案。
    • 利用Blingfire库将提取的文本分割成句子。
    • 根据关键词将句子组织成文本块,例如,将问题和其后的文本连接起来,直到达到预设的长度阈值。
  2. 表格处理

    • 使用BeautifulSoup提取网页中的表格,并将其转换为Markdown格式。
    • 清理空表格以减少噪声。
  3. 文本嵌入和rank指标

    在这里插入图片描述

    rank指标

    • 使用sentence-t5-large模型生成文本块和查询的向量嵌入。
    • 采用余弦相似度作为排名指标,计算用户查询嵌入和文本块嵌入之间的相似度。

1.2 属性预测

  1. In-Context Learning(ICL) :利用大型语言模型(LLMs)的自然语言理解和多任务泛化能力。通过向模型提供分类指令和5个类别的示例,指导其对后续问题进行分类。采用自我一致性策略,多次采样模型的输出,选择出现频率最高的类别作为问题的分类结果。
  2. 支持向量机(SVM) :使用CRAG**公开数据集训练一个SVM分类器。利用MiniLM-L6-v2模型获取句子嵌入,用于训练SVM。SVM模型在预测属性方面表现出较高的准确性,并且计算开销较小。

在这里插入图片描述

属性预测提示词

1.3 数值计算

  1. 生成数学表达式:鼓励大型语言模型(LLMs)将推理过程表述为数学表达式。将可能包含数值信息的检索到的文本块和表格整合到模型的提示中。使用提示技术促使模型直接生成有效的Python表达式。
  2. 计算表达式:使用多次采样生成Python表达式,并通过eval函数处理这些表达式以得到计算结果。

在这里插入图片描述

数值计算提示词

  1. 安全性和终止执行:LLMs生成的程序代码可能包含恶意代码,直接执行这些代码可能对系统稳定性构成威胁。为了确保系统安全,最佳实践是使用ast.literal_eval或在沙箱环境中执行代码。

1.4 LLM知识提取器

知识提取器的过程类似于常规的模型生成过程。使用zero-shot提示,这些提示要求模型评估给定查询是否涉及错误前提,并生成更简洁的响应。在提示中不包含来自外部知识库的参考文档,并且不包括多次采样,以减少计算开销。

LLM能够仅基于训练过程中内部化**的知识进行响应。这种方法在处理被分类为慢变和稳定的问题时表现良好。

直接让模型回答问题可能会引入幻觉,尽管使用了零样本CoT**推理。为了平衡幻觉和LLM内部知识,系统将LLM知识提取器的输出仅作为参考之一。设计了特定的提示,确保模型既不过度依赖文档参考,也不过分信任LLM的知识。

提示模板旨在让LLM基于所有参考信息进行推理并得出最终答案。通过输出格式示范和零样本CoT控制推理过程,这对于多跳问题特别有用。利用Llama3-70B-Instruct的强指令遵循能力,成功地在控制推理任务方面取得了稳步进展。

设计了多条规则来约束推理路径和输出格式,确保输出精确。通过在提示中提出中间问题来引导模型推理。

在这里插入图片描述

LLM知识提取器提示词

1.5 知识图谱抽取模块

使用 函数调用方法:系统从查询中提取实体,并使用LLM生成函数调用来检索相关信息。函数调用的质量取决于LLM生成的查询语句的质量。

在这里插入图片描述

在这里插入图片描述

知识图谱抽取模块提示词-函数调用方法的提示模板

1.6 推理模块

  1. 输入信息整合:推理模块接收来自网页处理、数值计算器、LLM知识提取器和知识图谱模块的所有参考信息,包括文本块、表格、知识图谱三元组和LLM生成的知识。
  2. 提示模板设计:设计了一个详细的提示模板,用于指导大型语言模型(LLM)进行推理。提示模板包括系统提示和用户提示。系统提示明确了任务要求、规则和输出格式。用户提示包含了具体的查询和参考信息。
  3. 推理路径控制:通过输出格式示范和零样本CoT技术,控制推理路径,特别是对于多跳问题。设计了多条规则来约束推理路径和输出格式,确保输出精确。
  4. 中间问题引导:在提示中提出中间问题,引导模型进行逐步推理,从而提高推理的准确性和详细程度。
  5. 处理不确定性和错误:如果参考信息不包含回答问题所需的信息,或者模型无法基于当前知识直接回答问题,模型将回答“我不知道”。如果问题的前提是错误的,模型将回答“无效问题”。
  6. 最终答案生成:模型生成的推理过程和最终答案必须遵循严格的格式要求,确保答案简洁且详细解释推理过程。

在这里插入图片描述

在这里插入图片描述

推理模块提示词

1.7 处理边界情况

  1. 无效问题:通过分析提供的参考信息,识别出具有错误前提的问题,即查询与事实相矛盾的问题。在推理提示中添加特殊规则,使模型在这种情况下输出“无效问题”。
  2. 减少幻觉:使用属性预测器和推理模块来减少幻觉。对于时间变化的问题,模型会回答“我不知道”,因为这些问题难以处理。在推理模块中添加规则和提示工程技术,使模型在不确定时回答“我不知道”。
  3. 格式错误:由于未对推理输出进行约束采样,模型可能会生成无法解析的答案。设计了一个备份总结代理,当解析失败时,基于推理模块的输出生成简洁准确的总结。设计了一个备份总结代理,当解析失败时,基于推理模块的输出生成简洁准确的总结。

在这里插入图片描述

备份总结代理提示词

二、实验

在这里插入图片描述

  • 领域属性表现:系统在电影、音乐和开放领域表现良好,但在金融和体育领域表现不佳,主要因为这些领域需要处理动态信息。
  • 动态性问题:随着问题的动态性增加,系统的有效性逐渐下降。
  • 问题类型表现:系统在需要复杂推理的任务上表现优异,这得益于强大的推理模块。

在这里插入图片描述

消融实验

数值计算器和推理模块对系统性能的提升贡献显著。

总结

本文介绍了一种混合检索增强生成(RAG)系统,通过一系列综合优化显著提高了检索质量、增强了推理能力并提升了数值计算能力,通过多个模块的协同工作显著提升了LLMs在复杂推理任务中的表现。

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值