免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

别再只会向量检索!16 个 RAG 高阶玩法曝光(上)

发布日期:2025-09-04 05:59:14 浏览次数: 2350
作者:DAT数智AI技术

微信搜一搜,关注“DAT数智AI技术”

推荐语

RAG技术进阶指南:8个高阶玩法助你突破向量检索局限,打造更智能的知识问答系统。

核心内容:
1. 从基础文本切块到语义切块的进阶检索策略
2. 混合检索与重排序技术的实战应用
3. 多模态RAG系统的最新实现方案

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

RAG = “外挂知识库 + 动态提示”,让大模型实时查资料再回答,解决幻觉和知识过期。我把压箱底的 16 个 RAG 杀招一次性掏出来!上半部先讲 8 个,覆盖向量召回、混合检索、重排序、多模态等最新套路。


01简单切块 

通过简单的文本分块和相似度匹配来查找相关内容。具体的步骤如下:


①准备原始文档

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城,故宫是明清两代皇帝居住的地方,非常宏伟壮观,颐和园是一座皇家园林,风优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客。


②将文档按句子拆分(文本分块)

1.北京是中国的首都,有着悠久的历史和丰富的文化

2.北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城

3.故宫是明清两代皇帝居住的地方,非常宏伟壮观

4.颐和园是一座皇家园林,风景优美

5.长城是中国古代伟大的建筑之一,吸引着世界各地的游客


③用户提问

北京有什么著名的景点?



④相似度匹配(检索)

在知识库中找到与问题最相关的句子:可以使用简单的相似度方法(如余弦相似度 +向量化),或者关键词匹配来找相关句子;在这个例子中,第 2句 是我们检索到的内容最直接地回答了问题:

2.北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城



⑤生成答案

把检索到的相关内容作为上下文输入给语言横型,让它结合这个信息来生成答案。


输入给语言模型的内容:


问题:北京有什么著名的景点?


相关信息: 北京有很多著名的展点,比如故官、天安门广场、顾和园和长城


语言模型输出的答案:

北京有许多著名的景点,包括故宫、天安门广场、颐和园和长城,这些地方不仅具有深厚的历史文化底蕴,也吸引了大量国内外游客前来参观。



02语义切块 

不是按照语句进行切块,而是基于语义进行文本分块,而不是简单地按固定长度或句子数量拆分。这样能更好地保持信息的完整性和相关性。具体的步骤如下:


①准备原始文档

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城,故宫是明清两代皇帝居住的地方,非常宏伟壮观,颐和园是一座皇家园林,风优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客。


②将文档按语义切块

chunk1: 北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城


chunck2:故宫是明清两代皇帝居住的地方,非常宏伟壮观,颐和园是一座皇家园林,风优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客


③用户提问

北京有什么著名的景点?



④相似度匹配(检索)

在知识库中找到与问题最相关的句子:可以使用简单的相似度方法(如余弦相似度 +向量化),或者关键词匹配来找相关句子。


在这个例子中,chunck1 是我们检索到的内容最直接地回答了问题:

chunck1:北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城


⑤生成答案

把检索到的相关内容作为上下文输入给语言横型,让它结合这个信息来生成答案。


输入给语言模型的内容:

问题:北京有什么著名的景点?

相关信息: 北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城


语言模型输出的答案:

北京是中国的首都,有着悠久的历史和丰富的文化。北京有许多著名的景点,包括故宫、天安门广场、颐和园和长城,这些地方不仅具有深厚的历史文化底蕴,也吸引了大量国内外游客前来参观。



03上下文增强检索 


在检索过程中,除了返回最匹配的 chunk,还同时返回其前后的相邻 chunk,以提供更丰富的上下文信息。


①假设我们有如下三个 chunk:

Chunk 1:

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城


Chunk 2:

故宫是明清两代皇帝居住的地方,非常宏伟壮观


Chunk 3:

颐和园是一座皇家园林,风景优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客。


②用户查询关键词:故宫

最匹配 : Chunk 2

同时返回: Chunk1+Chunk 2+Chunk 3


③返回给模型上下文:


Chunk 1:

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城


Chunk 2:

故宫是明清两代皇帝居住的地方,非常宏伟壮观


Chunk 3:

颐和园是一座皇家园林


04上下文分块标题 

为每一个文本块(chunk)添加一个简洁、描述性强的标题,用于概括该 chunk 的核心内容。这个标题作为额外的元信息,在检索时可作为关键词或语义线索使用。


作用:

增强 chunk 的可检索性提供更丰富的语义提示提高检索系统的匹配准确率


Chunk

Header(上下文标题)

内容

Chunk 1

💚北京概况与主要景点概述

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城

Chunk 2

💚故言:明渭皇家宫殿

故宫是明清两代皇帝居住的地方,非常宏伟壮观

Chunk 3

💚颐和园与长城简介

颐和园是一座皇家园林,风景优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客。


05文档增强 


在构建高质量的检索增强生成系统(RAG)时,一个常见的挑战是:如何在用户提问方式多样、关键词不一致的情况下,仍能准确地找到相关知识?

答案:

在原始文档的基础上,自动生成与其内容相关的**问题·答案对*“或**潜在查询语句**,并将这些”虚拟查询”作为额外的检索入口加入到知识库中。


目的:

提高系统对不同表达方式的鲁棒性;

扩展检索入口,提升匹配准确率;

增强模型对上下文的理解能力。


例如:

原文:

北京是中国的首都,有着悠久的历史和丰富的文化。北京有很多著名的景点,比如故宫、天安门广场、颐和园和长城。故宫是明清两代皇帝居住的地方,非常宏伟壮观。颐和园是一座皇家园林,风景优美。长城是中国古代伟大的建筑之一,吸引着世界各地的游客


对应chunck:

故宫是明清两代皇帝居住的地方,非常宏伟壮观


使用语言模型生成附加问题:

    故宫的历史背景是什么?故宫在哪个朝代被使用?明清时期的皇家在哪里?故宫有什么特色?故宫为什么著名?

    加入到检索索引中:

    Chunk

    内容

    附件问题

    Chunk 1

    故宫是明清两代皇帝居住的地方,非常宏伟壮观

    故宫的历史背景是什么?<br>故宫在哪个朝代被使用?<br>明清时期的皇家在哪里?<br>故宫有什么特色?<br>故宫为什么著名?

    这样,检索其可以从多个角度理解用户的意图,提高召回率和准确性。



    06查询转换 

    在进行知识库检索前,对用户的原始查询进行语义理解、扩展、重写或多样化处理,以生成更适合匹配知识库内容的查询形式。


    目的:

    提高检索器的召回率和准确率增强模型对模糊提问、口语化表达的理解能力拓展多种检索路径,应对不同表达方式

    查询转换的主要类型:

    类型

    描述

    示例

    Query Expansion(查询扩展)

    添加同义词、相关实体或上下文信息

    “故宫”一>“故宫的历史、建筑风格、开放时间”

    Paraphrasing(释义/重述)

    将原句用不同语言结构表达

    “故宫以前是谁住的?”—>“明清时期皇帝住哪里?”

    Translation(翻译)

    多语言支持下的语言检索

    英文问题“What is the history of the Forbidden City?”

    Decomposition(分解)

    将复杂问题拆解为多个子问题

    “北京有哪些景点?他们各自的特点是什么?”—分为两个查询分别检索

    Hypothetical Document Generation(假设文档生成)

    生成一段可能包含答案的“假想文本”,用于向量匹配

    生成一段关于“故宫是明清皇宫”的概述,用于相似度匹配。


    举个例子:

    ①用户提问:

    故宫以前是谁住的?


    经过Query Expansion(查询扩展)后的版本:

    转换方式

    转换结果

    Query Expansion(查询扩展)

    故宫的历史用途,谁曾居住在故宫,明清时期的皇宫是哪里

    Paraphrasing(释义/重述)

    明清时期的皇帝住哪个宫殿?

    Decomposition(分解)

    故宫的作用是什么?明清皇帝住在哪里

    Hypothetical Document Generation(假设文档生成)

    故宫是中国明清两代的皇家宫殿,曾是多位皇帝的住所

    07重排序 


    在初步检索出 Top-K 个候选 chunk 后,使用更精细的语义模型对这些候选进行重新打分和排序,以提升最相关

    内容的排名。确保最匹配的内容放在第一位。

    目的:

    提高最终召回内容的相关性弥补向量相似度排序的局限性增强问答系统的准确率和用户体验


    举个例子:

    ①用户提问:

    故宫有什么特点?

    Rank

    Chunk内容

    初始得分

    1

    颐和园是一座皇家园林,风景优美

    0.75

    2

    故宫是明清两代皇帝居住的地方,非常宏伟壮观

    0.72

    3

    北京有很多著名最点,比如故官、天安门广场、颐和园和长城

    0.68

    加入Reranker后的结果(最相关的信息提升到第一位):

    Rank

    Chunk内容

    初始得分

    1

    故宫是明清两代皇帝居住的地方,非常宏伟壮观

    0.95

    2

    北京有很多著名最点,比如故官、天安门广场、颐和园和长城

    0.70

    3

    颐和园是一座皇家园林,风景优美

    0.45


    08重语义扩展重排序RSE 

    在构建高质量的检索增强生成系统(RAG)时,我们常常面临一个挑战:

    相关信息往往不是孤立存在于某个 chunk 中,而是**分布在多个连续或上下文相关的段落中**

    为了解决这个问题,我们引入一种更高级的检索优化策略:

    RSE 是一种结合向量检索、语义相似度分析与上下文连贯性判断的检索增强技术。

    它不仅关注单个 chunk 的相关性,还通过“向下查找”机制,寻找与其语义连贯的相邻片段,形成更完整的上下文。


    RSE整体流程:

    ①固定切分&向量化入库

    将原始文档按固定长度(如 256token)进行切块,并将每个 chunk 存入向量数据库(如 FAISS/Milvus/Pinecone)


    ②初步检索&过滤高相似度片段

    用户输入查询后,使用向量数据库返回 Top-K个最相似的 chunks,并设置一个**初始相似度阈值**(如 0.6),过滤掉低相关性内容.


    ③基于上下文窗口的连续片段查找

    对于每一个高相似度 chunk,向下查找其后续若干个 chunk(如 +2 或-1~ +2 的窗口),组成一个”候选上下文组”。


    ④计算上下文组的总相似度得分

    对每个上下文组中的 chunk 进行加权求和(可设权重递减),并设定一个总相似度值(如 1.8),用于筛选最终保留的上下文组。


    ⑤返回最终上下文组作为生成依据

    将满足条件的上下文组合并成一段完整的文本,作为语言型的输入上下文,用于生成最终答案。


    例如:

    北京有很多著名景点,比如故宫、天安门广场、颐和园和长城故宫是明清两代皇帝居住的地方,非常宏伟壮观。颐和园是一座皇家园林,风景优美。


    未完待续~~~~





    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询

    扫码登录
    登录即表示您同意《53AI网站服务协议》
    服务协议

    欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

    在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

    一、 定义

    本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

    会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

    知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

    二、 账号注册与登录

    登录方式:本网站支持以下登录方式,您可根据实际情况选择:

    微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

    手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

    账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

    实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

    未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

    三、 服务内容与规范

    知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

    服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

    禁止行为:您在使用服务时不得实施以下行为:

    利用技术手段批量爬取、下载、转存知识库内容;

    将知识库内容用于商业目的或未经授权地向第三方传播;

    干扰本网站正常运行或侵犯其他用户合法权益;

    发布违法违规信息或从事违反公序良俗的活动。

    四、 知识产权声明

    权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

    有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

    侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

    五、 个人信息保护

    我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

    您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

    您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

    六、 免责声明

    内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

    不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

    第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

    七、 违约责任

    如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

    如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

    八、 法律适用与争议解决

    本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

    因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

    九、 其他

    本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

    本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

    我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


    已查阅