本文详解9种高级RAG技术,包括文本分块、重新排序、混合搜索等,解决基本RAG系统结果嘈杂、上下文不相关等问题。通过智能优化检索过程,提高AI应用准确性和效率。同时介绍使用Meilisearch、LangChain等工具实现策略的方法,以及如何评估技术效果,帮助开发者构建更智能的RAG系统。

下面我们开始深入探讨。

1. 文本分块
文本分块是将长文档切分成更小的片段(即“块”),以便于索引和检索。
RAG 管道处理的是这些文本块,而非整个文档,因此文本块的质量直接影响检索准确性和答案清晰度。
如果文本块过长,AI 模型可能会被干扰;如果过短,则可能丢失上下文。找到合适的平衡点有助于获得最佳结果。
以下是几种分块类型:
- 简单分块: 将文档分割成固定大小且略有重叠的块(例如,35 个字符,重叠 5 个字符)。这种方法易于实现,但不考虑语义结构,可能将关键思想分割到不同块中。
- 语义分块: 利用嵌入和余弦阈值,根据相似性对句子进行分组。这种方法能保持相关思想的完整性,提高检索精度,但需要像 BERT 这样的嵌入模型以及更高的计算性能。
- 基于语言模型的分块: 使用大型语言模型(LLM)将文本分割成独立的语义单元。这种方法能产生高度连贯的结果,但计算成本高昂,可能需要进行微调。
不出所料,每种方法都有其权衡。如果处理的是产品手册或技术文档,语义分块或基于LLM 的分块可能更具优势。对于更简单的内容,固定大小的分块就足够了。
2. 重新排序
在 RAG 系统中,初始检索器会获取大量的检索信息,其中有好的,也有不理想的。重新排序(Reranking)是指在将结果传递给大型语言模型(LLM)之前,对检索到的结果进行重新排列,使最相关的信息排在前面。
以下是几种常见的重新排序方法:
- 交叉编码器重新排序: 将用户查询和每个候选文本块输入到一个 Transformer 模型(如 BERT)中,该模型会评估它们之间的匹配程度。这种方法非常准确,但速度慢且资源密集。当质量比延迟更重要时,此方法最适用。
- 基于分数重新排序: 使用启发式方法或相关性分数(如 BM25 提升、关键词搜索匹配)调整排序。这种方法速度快、开销小,但精细度较低。
这两种技术都有效,但选择哪种取决于你能承受的延迟。
3. 利用元数据
利用元数据(Leveraging metadata)是指使用结构化标签,如日期、作者、领域或文档类型,来过滤和提升相关结果。
元数据过滤是一种投入低、效果显著的技术,因为它不需要大量的计算。
以下是其主要子类型:
*日期过滤: 移除过时数据,只关注最新文档。这在金融等快速变化的领域非常有用。然而,过度关注最新内容有时可能会排除重要的历史文档。
- 作者/来源过滤: 提升来自可信个人或来源的检索文档。这种方法产生幻觉(hallucination)的可能性很低,但你也可能因此错过一些不那么知名但高度相关的数据。
- 文档类型过滤: 根据格式(例如,指南、博客或政策文件)进行过滤。虽然这有助于匹配用户意图,但如果元数据不一致,也存在过度过滤的风险。
4. 混合搜索
混合搜索(Hybrid search)结合了基于关键词(稀疏)和基于向量(密集)的检索方法,以提高结果质量。
这能显著提高相关性,尤其是在边缘情况或用户查询模糊时。
混合搜索主要有两种方法:
*分数融合: 使用加权分数结合稀疏和密集方法的搜索结果。这种方法能实现平衡的准确性,但需要仔细调整以避免结果嘈杂。
- 结果合并: 从两种方法中检索出最佳结果,然后合并并重新排序。这种方法实现简单,但存在重复或排序逻辑不一致的风险。
5. 查询重写
查询重写(Query rewriting)是在检索过程之前对用户输入进行优化。它会重新组织模糊或不明确的查询,使检索系统能更好地理解用户意图并返回更相关的结果。这对于处理简短或包含拼写错误的查询尤其有帮助。
大多数现代生成式 AI系统都在其背后使用各种算法来优化查询。以下是几种类型:
- 同义词扩展: 这种技术会自动添加等效词来覆盖更多变体。虽然这可以提高召回率,但也可能引入一些不相关的匹配。
- 拼写校正: 自动修复任何错别字或拼写错误。这提升了普通用户的成功率,但也可能“纠正”一些小众或有效行话。 *意图澄清: 这一过程使用规则或机器学习将宽泛的查询转换为更清晰的查询。它能提高相关性,但需要训练数据并增加了复杂性。
6. 自动裁剪 (Autocut)
自动裁剪(Autocut)是根据 token 限制或模型约束动态地修剪文本,而不切断语义含义。这是一种在不移除关键信息的前提下,删除不那么相关上下文的方法。这很重要,因为许多大型语言模型(LLM)都有严格的 token 限制。如果上下文窗口过载,AI 模型可能会产生幻觉、跳过关键信息或表现不佳。
以下是两种常见的自动裁剪策略:
- 分数修剪: 根据重要性对内容进行排名,并裁剪得分最低的部分。虽然优先级设定很智能,但这需要有一个有效的评分机制。
- 基于规则的修剪: 应用固定规则(例如,删除引言段落或脚注)。这种方法易于实现,但缺乏对细微内容的适应性。
7. 上下文蒸馏
对于复杂的 RAG 系统而言,每次都解析大量文档并非最佳选择。上下文蒸馏(Context distillation)有助于将大型文档浓缩成高价值、有意义的摘要。
如你所知,大型语言模型(LLM)只需要“正确”的信息,而非“所有”信息。更多的上下文不一定意味着更好的结果,甚至可能稀释最终输出。上下文蒸馏有助于模型在生成响应时保持专注和准确。
有两种方法可以实现这一点:
- 基于摘要的蒸馏: 使用提取式或抽象式摘要来保留关键点。这种方法产生简洁的上下文,但可能会遗漏细节。
- 问题驱动的蒸馏: 根据具体问题定制上下文。这种方法高度相关,但依赖于准确的查询理解。
8. 微调大型语言模型(LLM)
微调大型语言模型(LLM)是指在你的特定数据集上重新训练预训练的语言模型,以便更好地理解你期望生成的响应类型。
当仅凭提示工程无法很好地指导模型时,微调尤其有用,特别是在受监管行业或特定领域背景下。
- 监督式微调: 使用标记的问答、代码或指令进行再训练。此方法提供精度和控制,但需要精选数据和资源。
- 基于人类反馈的强化学习: 人类对输出进行评分,模型学习偏好被认可的响应。此方法与价值观或品牌语调保持一致,但资源密集。
9. 微调嵌入模型
嵌入模型将文档转换为向量,以实现文档检索。微调嵌入模型意味着重塑检索模型对相似性的“理解”方式,这在现成的嵌入模型在你的领域表现不佳时至关重要。
- 对比学习: 训练嵌入模型,使语义相似的文本更接近,而不相似的文本更远离。这提高了检索准确性,但需要标记的正向和负向样本。
- 领域适应: 继续在你的语料库上进行训练,使嵌入模型与你的领域保持一致。这种方法更容易设置,特别是对于未标记的数据,但存在过拟合的风险。
微调大型语言模型(LLM)和嵌入模型可以让你完全控制检索和响应生成,为高性能、领域感知的 RAG 模型奠定基础。## 什么是高级 RAG 技术?
高级 RAG 技术超越了检索增强生成的基本原理。它们在文本分块、检索和内容排序方面更注重细节和细微之处。然而,最终目标是一致的:生成更好、更相关的搜索结果。
无论是优化混合搜索、重写查询,还是调整元数据,这些方法都基于检索增强生成的核心原则,旨在提高准确性和效率。
为什么需要高级 RAG 技术?
基本 RAG 设置的问题在于,它们常常难以处理复杂的查询。此外,在处理多样化数据集或在关键场景下保持相关性时,它们也常常力不从心。
随着用户期望的增长以及大型语言模型(LLM)在生产级工作流程中变得越来越核心,仅仅依靠暴力检索已经不够了。我们需要智能的 AI 应用来理解细微差别,并优先考虑来自可信来源的最新数据。
高级技术有助于你从“检索并希望”转向“有目的地检索”。它们解决了幻觉、延迟和内容不匹配等关键痛点,同时提高了准确性和性能。
如何在 RAG 中实现高级技术?
你可以使用不同的工具、库和框架来实现高级检索技术。
以下是一些可用于实现高级检索增强生成技术的 RAG 工具:
- Meilisearch
- Weaviate
- LangChain
- Pinecone
让我们进一步了解它们:
1. Meilisearch
Meilisearch 是一个开源工具,在设计时充分考虑了用户体验,非常适合实现高级 RAG 管道。它支持可定制的 ranking 规则,并能轻松处理大量文档集合。
你可以使用 Meilisearch 的混合搜索插件实现混合搜索(结合关键词和向量搜索的相关性)。这可以平衡语义搜索理解与传统精度。
// 示例代码片段,用于演示 Meilisearch 的使用场景
// 索引大型文档为结构化块
// client.index('my_index').addDocuments([
// { id: 1, title: 'Chunk 1 of document A', content: '...' },
// { id: 2, title: 'Chunk 2 of document A', content: '...' },
// ]);
当处理大型文档时,你可以通过将其作为结构化块进行索引来提高搜索质量:
// 示例代码片段,用于演示 Meilisearch 的使用场景
// 查询带有元数据的文档
// client.index('my_index').search('my query', {
// filter:'document_type = "policy"',
// // boost results from trusted authors
// rankingRules: ['author_score:desc', 'typo', 'words', 'proximity', 'attribute', 'sort', 'exactness'],
// });
Meilisearch 的性能和易于集成使其成为构建智能 RAG 管道的首选解决方案,而无需过度复杂化。
2. Weaviate
Weaviate 是一个原生向量搜索引擎,专为高性能语义搜索而构建。它直接与 Transformer 和嵌入模型集成,非常适合 RAG 实现。
3. LangChain
LangChain 是一个 Python/JavaScript 框架,它将大型语言模型(LLM)、检索组件和工具串联起来。它使 RAG 工作流模块化且可配置。
你可以在一个统一的流程中插入重新排序模型、编写自己的查询重写器并管理分块管道。
4. Pinecone
Pinecone 是一个托管的向量数据库,专为大规模相似性搜索而构建。它适用于需要闪电般快速、可扩展的向量检索、重新排序和时间过滤查询的项目。
结合 Meilisearch 或 LangChain,Pinecone 为你的 RAG 设置增加了可扩展性和生产就绪能力。
如何评估 RAG 系统中的高级技术?
要评估高级 RAG 技术,你需要测试每项技术对检索质量的影响。目标是实现高精度、丰富的上下文、低延迟和可靠的实际可用性。
为了评估有效性,请关注以下指标:
- 检索准确性: 是否返回了最具上下文相关性的文本块?这会影响下游的一切,包括幻觉率和答案质量。
- 延迟: 重新排序或混合搜索等技术是否会拖慢你的系统?评估端到端响应时间。* 精确度与召回率: 你返回的相关文档是太少(或太多)了吗?你需要找到平衡覆盖率和专注度的最佳点。
- 用户满意度: 终端用户多久能准确获得他们需要的东西?考虑进行 A/B 测试或人工评估。
当你在不牺牲质量的前提下优化速度时,Meilisearch 快速准确的混合引擎脱颖而出。
为什么更智能的 RAG在实践中很重要?
高级 RAG 技术最终目的是让信息检索更智能,而不仅仅是更快。它们帮助系统超越暴力搜索,转向上下文感知检索,从而在不同领域实现扩展。
通过分层应用混合搜索、重新排序和上下文蒸馏等策略,团队可以设计出在生产环境中提供更精确、更可靠和更高效结果的 RAG 管道。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】


为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。


大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

适用人群

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

7038

被折叠的 条评论
为什么被折叠?



