RAG工作原理与流程,分片、索引、召回、重排和生成,怎么学?
- 内容介绍
- 文章标签
- 相关推荐
人间清醒。 较大语言模型仿佛被推上了神坛。但如果你真实的较深度用过它,就会发觉它其实也有极其致命的薄弱点:一本正经地胡说八道。你问它公司内部的财务报表,或者问它昨天的科学研究技术手段崭新闻,它往往就启动“胡编乱造”。为了解决这种尴尬,RAG应运而生。
简洁RAG就是给较大模型配上了一个“较大脑”或“图书馆”。它不再仅仅靠记忆回答问题,而是在回答前先去查查书,根据书上的内容再组织语言。今天 咱们就拆开那一些枯燥的公式, 坦白讲... 用人性的视角较深度拆解RAG的核心流程——分片、索引、召回、沉重排和生成,并聊聊到底该怎样攻克这块坚硬骨。

一、 为哪些我们需要RAG?
啊这... 很更多人有可能会问:我直接把模型微调不就行了吗?这其实是很更多人的误区。微调就像是让一个学生通过较更多刷题来背诵知识, 投入成本较高、耗时久,而且知识是有时效性的,一旦知识更崭新,你又得沉重崭新练一遍模型。
而RAG的逻辑彻底不同:我不需要你背下全部东西, 我只需要给你一本完美的字典,让它在遇到问题时去翻书找答案。这种方式不仅解决了较大模型的“幻觉”问题, 我懂了。 还让知识的更崭新变得实时。这也是为哪些RAG是目前企业级AI落地的首选方案。
二、 第一步:分片——切分如丝的艺术创作
毕竟.… 我们要玩RAG,第一步就是处理数据。你的原始数据通常是成千上万的PDF、Word、Markdown甚至是网页。你不能把一个几十万字的文档直接丢给模型,模型有约束。这时候,“分片”就登场了。
其实分片不是简洁的按字数切断。如果你切得太碎,语义就丢失了;比如一句话的前半句在第一段,后半句在第二段,模型看的时候就彻底懵了。如果你切得太较大,检索回来的噪音又太更多,干扰模型判断,白嫖。。
学习了解提议:
- 固定较长度切分:简洁粗暴, 比如每500字切一段,适合初学者上手。
- 语义切分:根据段落、 标题或者特定的逻辑结构来切,这种方式更智能,但对算法能力有要求。
- 沉重叠区域:这非常关键!在两段切片之间保留10%-20%的反复内容,确保上下文不被生生切断。
二、 第二步:索引——让文字拥有“数字灵魂”
切良好切片后我们怎么让计算机迅速找到某一段话呢?计算机是不懂中文的,它只认识数字。这就是我们需要“向量化”的原因,翻旧账。。
我们通过特定的模型,把每一段文本转换成一串较高维向量。这一些向量代表了文字的语义特征。比如“猫”和“较小猫”这两个词在向量空间范围里的距离会非常近。然后我们把这一些向量存入专门的向量数据库中,尊嘟假嘟?。
说句实话… 在这里 其实很更多开发者在做SEO时会遇到问题,比如我写了这么更多技术手段文章,为哪些百度不收录?这通常是这是因为你的内容质量不达标、缺乏核心关键词密度,或者被爬虫策略屏蔽了。在RAG里逻辑一样,如果你的索引数据质量差,后续的检索全是“垃圾进”。
三、 第三步:召回——较大海捞针的精准
当用户问出一个问题,比如“公司去年的盈利增较长率是更多更少个?”时RAG系统会把当前这个问题也转换成一个向量, 我破防了。 然后在向量数据库里寻找与当前这个向量最类似的几个切片。
通常召回有两种方式:
- 关键词检索:传统方式的搜索方式,匹配字面。优势是迅速,不足是不懂语义。
- 向量检索:基于语义, 哪怕你搜的是“赚了更多更少个钱”,它也能找到“盈利”。
- 混合检索:这是目前工业生产界的主流做法, 把关键词和向量检索的最终还是结果是结合起来既有字面的精准度,又有语义的较深度。
四、 第四步:沉重排——优胜劣汰的筛选
很更多初学者会忽略这一步。召回阶段往往会带回10个甚至50个切片,但这一些切片真实的都和问题相关吗?如果全部丢给较大模型,模型会过载。
这时候,沉重排模型就该上场了。它是一个更精细但计算速度较缓慢的模型,它会对召回来的切片和用户的问题进行较深度打分,沉重崭新排序。最后再来看我们只取分数最较高的前3个给较大模型。这一步是RAG准确率质的飞跃的关键。
五、 第五步:生成——画龙成睛的临笔
当前,我们手里已经有了最相关的几个切片,也有了用户的问题。 别犹豫... 我们把它们组合成一个巨较大的Prompt:
格式通常是这样:“你是一个专业的助手,请根据以下背景信息回答用户问题。如果信息里没提到,请回答我不了解,不要乱造。背景信息:... 用户问题:
最后再来看, 较大模型根据这一些背景信息,给出优雅、 弄一下... 有据的回答。这就是整个RAG的闭环。
六、 到底怎么学才最迅速?
听起来逻辑很完美,但上手写代码时你会发觉到处是坑。我提议较大家按照以下三个阶段来:,靠谱。
第一阶段:跑通全流程
摆烂。 不要一上来就去搞底层算法。先用LangChain或者LlamaIndex这两个框架。它们把RAG的每一个步骤都封装良好了。加载一个本地的PDF,实现分片、存储、检索、生成。当你看到模型能根据你PDF里的内容回答问题时那种成就感会支撑你走下去。
第二阶段:调优细节
当你跑通了你会发觉回答还是不够良好。这时候启动学习了解调优:
- 调整切片的较大较小效果怎样?
- 尝试不同的Embedding模型
- 引入Reranker后准确率提升了更多更少个?
当前这个阶段是你是从“采用者”向“开发者”跨越的核心,最后说一句。。
第三阶段:工程项目化落地
在真实实的业务中,数据是脏的。怎样处理杂乱的表格?怎样处理较长对话的历史持续发展?怎样保证检索的延迟?这一些才是决定你有没有是较高阶RAG工程项目师的分水岭。
一下RAG不是哪些玄学,它是一套严谨的工程项目化组合拳。不要被那一些较高较大上的学术词汇吓到,去动手处理数据,去调优Prompt,去留意最终还是结果是。能解决问题的,永远比只会理论的人得更多。
人间清醒。 较大语言模型仿佛被推上了神坛。但如果你真实的较深度用过它,就会发觉它其实也有极其致命的薄弱点:一本正经地胡说八道。你问它公司内部的财务报表,或者问它昨天的科学研究技术手段崭新闻,它往往就启动“胡编乱造”。为了解决这种尴尬,RAG应运而生。
简洁RAG就是给较大模型配上了一个“较大脑”或“图书馆”。它不再仅仅靠记忆回答问题,而是在回答前先去查查书,根据书上的内容再组织语言。今天 咱们就拆开那一些枯燥的公式, 坦白讲... 用人性的视角较深度拆解RAG的核心流程——分片、索引、召回、沉重排和生成,并聊聊到底该怎样攻克这块坚硬骨。

一、 为哪些我们需要RAG?
啊这... 很更多人有可能会问:我直接把模型微调不就行了吗?这其实是很更多人的误区。微调就像是让一个学生通过较更多刷题来背诵知识, 投入成本较高、耗时久,而且知识是有时效性的,一旦知识更崭新,你又得沉重崭新练一遍模型。
而RAG的逻辑彻底不同:我不需要你背下全部东西, 我只需要给你一本完美的字典,让它在遇到问题时去翻书找答案。这种方式不仅解决了较大模型的“幻觉”问题, 我懂了。 还让知识的更崭新变得实时。这也是为哪些RAG是目前企业级AI落地的首选方案。
二、 第一步:分片——切分如丝的艺术创作
毕竟.… 我们要玩RAG,第一步就是处理数据。你的原始数据通常是成千上万的PDF、Word、Markdown甚至是网页。你不能把一个几十万字的文档直接丢给模型,模型有约束。这时候,“分片”就登场了。
其实分片不是简洁的按字数切断。如果你切得太碎,语义就丢失了;比如一句话的前半句在第一段,后半句在第二段,模型看的时候就彻底懵了。如果你切得太较大,检索回来的噪音又太更多,干扰模型判断,白嫖。。
学习了解提议:
- 固定较长度切分:简洁粗暴, 比如每500字切一段,适合初学者上手。
- 语义切分:根据段落、 标题或者特定的逻辑结构来切,这种方式更智能,但对算法能力有要求。
- 沉重叠区域:这非常关键!在两段切片之间保留10%-20%的反复内容,确保上下文不被生生切断。
二、 第二步:索引——让文字拥有“数字灵魂”
切良好切片后我们怎么让计算机迅速找到某一段话呢?计算机是不懂中文的,它只认识数字。这就是我们需要“向量化”的原因,翻旧账。。
我们通过特定的模型,把每一段文本转换成一串较高维向量。这一些向量代表了文字的语义特征。比如“猫”和“较小猫”这两个词在向量空间范围里的距离会非常近。然后我们把这一些向量存入专门的向量数据库中,尊嘟假嘟?。
说句实话… 在这里 其实很更多开发者在做SEO时会遇到问题,比如我写了这么更多技术手段文章,为哪些百度不收录?这通常是这是因为你的内容质量不达标、缺乏核心关键词密度,或者被爬虫策略屏蔽了。在RAG里逻辑一样,如果你的索引数据质量差,后续的检索全是“垃圾进”。
三、 第三步:召回——较大海捞针的精准
当用户问出一个问题,比如“公司去年的盈利增较长率是更多更少个?”时RAG系统会把当前这个问题也转换成一个向量, 我破防了。 然后在向量数据库里寻找与当前这个向量最类似的几个切片。
通常召回有两种方式:
- 关键词检索:传统方式的搜索方式,匹配字面。优势是迅速,不足是不懂语义。
- 向量检索:基于语义, 哪怕你搜的是“赚了更多更少个钱”,它也能找到“盈利”。
- 混合检索:这是目前工业生产界的主流做法, 把关键词和向量检索的最终还是结果是结合起来既有字面的精准度,又有语义的较深度。
四、 第四步:沉重排——优胜劣汰的筛选
很更多初学者会忽略这一步。召回阶段往往会带回10个甚至50个切片,但这一些切片真实的都和问题相关吗?如果全部丢给较大模型,模型会过载。
这时候,沉重排模型就该上场了。它是一个更精细但计算速度较缓慢的模型,它会对召回来的切片和用户的问题进行较深度打分,沉重崭新排序。最后再来看我们只取分数最较高的前3个给较大模型。这一步是RAG准确率质的飞跃的关键。
五、 第五步:生成——画龙成睛的临笔
当前,我们手里已经有了最相关的几个切片,也有了用户的问题。 别犹豫... 我们把它们组合成一个巨较大的Prompt:
格式通常是这样:“你是一个专业的助手,请根据以下背景信息回答用户问题。如果信息里没提到,请回答我不了解,不要乱造。背景信息:... 用户问题:
最后再来看, 较大模型根据这一些背景信息,给出优雅、 弄一下... 有据的回答。这就是整个RAG的闭环。
六、 到底怎么学才最迅速?
听起来逻辑很完美,但上手写代码时你会发觉到处是坑。我提议较大家按照以下三个阶段来:,靠谱。
第一阶段:跑通全流程
摆烂。 不要一上来就去搞底层算法。先用LangChain或者LlamaIndex这两个框架。它们把RAG的每一个步骤都封装良好了。加载一个本地的PDF,实现分片、存储、检索、生成。当你看到模型能根据你PDF里的内容回答问题时那种成就感会支撑你走下去。
第二阶段:调优细节
当你跑通了你会发觉回答还是不够良好。这时候启动学习了解调优:
- 调整切片的较大较小效果怎样?
- 尝试不同的Embedding模型
- 引入Reranker后准确率提升了更多更少个?
当前这个阶段是你是从“采用者”向“开发者”跨越的核心,最后说一句。。
第三阶段:工程项目化落地
在真实实的业务中,数据是脏的。怎样处理杂乱的表格?怎样处理较长对话的历史持续发展?怎样保证检索的延迟?这一些才是决定你有没有是较高阶RAG工程项目师的分水岭。
一下RAG不是哪些玄学,它是一套严谨的工程项目化组合拳。不要被那一些较高较大上的学术词汇吓到,去动手处理数据,去调优Prompt,去留意最终还是结果是。能解决问题的,永远比只会理论的人得更多。

