文章目录

建议阅读人群: AI 应用开发者 / 大模型面试备战者 / 对 RAG 技术感兴趣的同学

原文作者: 陈宇锋(飞行社),本文是对其飞书社区分享的整理

原文链接: 飞书社区 - RAG 核心知识十讲


为什么你需要读懂 RAG?

但很多同学一聊到 RAG,就只会说「就是给大模型外挂一个知识库嘛」,再深入问几句:RAG 的完整流程是什么?文档怎么切分?向量数据库怎么选?什么是 Re-rank?什么是多路召回?怎么评估 RAG 的效果?

一连串的问题,就卡壳了。

这篇文章用最通俗易懂的方式,把 RAG 相关的核心知识一次性讲透。搞懂了不仅能应付面试,更能帮你真正理解企业级 RAG 系统的设计思路。

十大核心问题一览:

  1. 🌟 什么是 RAG?
  2. 🌟 RAG 整体工作流程是怎样的?
  3. 🌟 微调和 RAG 各自区别是什么?
  4. 🌟 RAG 中的文档切割策略有哪些?
  5. 🌟 Re-rank 是什么?
  6. 🌟 Embedding 有哪几种算法你了解过吗?
  7. 🌟 什么是向量数据库?有没有做过向量数据库的对比选型?
  8. 🌟 什么是多路召回?具体怎么做?
  9. 🌟 怎么量化你的 RAG 效果?
  10. 🌟 什么是大模型幻觉?怎么降低幻觉?

第一讲:什么是 RAG?

聊 RAG 之前,咱们得先搞清楚一个问题:大模型为什么需要「外挂」?

大模型的「知识困局」

你有没有遇到过这样的情况:问 ChatGPT 一个你们公司内部的问题,比如「我们公司今年的年假政策是什么」,它要么告诉你「我无法获取你们公司的内部信息」,要么就开始一本正经地编答案,说得头头是道,但全是错的。

这就是大模型面临的三大困境:

  • 知识有截止日期:大模型的知识来自于训练数据,而训练数据是有时间窗口的。比如某个版本的 ChatGPT 训练数据截止到 2023 年 4 月,之后发生的任何事情它都不知道。
  • 不知道私有数据:你公司的产品文档、内部规章制度、客户信息、项目资料……这些数据从来没有出现在大模型的训练集中。
  • 会「幻觉」:大模型会非常自信地说出一些听起来很专业但完全是编造的内容。你问它一个不存在的研究论文,它能给你编出标题、作者、摘要、甚至 DOI 号,看起来像模像样,但全是假的。

那怎么办?给大模型「开卷考试」

打个比方。大模型就像一个参加了「闭卷考试」的学生,所有知识都得靠脑子记。但这个考试有个问题:题目会问到最新的知识(知识截止日期)、会问到课本上没有的内部资料(私有数据),而且这个学生还会「编答案」(幻觉)。

那怎么解决?最直觉的办法就是给他开卷考试,允许他翻参考书。

RAG 就是这个思路。 RAG 的全称是 Retrieval-Augmented Generation(检索增强生成),核心思想非常简单:

  1. 先从外部知识库中**检索(Retrieval)**出和用户问题相关的资料
  2. 把检索到的资料作为**增强(Augmented)**上下文,和用户的问题一起给到大模型
  3. 大模型基于这些真实的资料来**生成(Generation)**回答

这样一来,大模型的回答就有了「依据」,不再是凭空编造,而是基于真实文档生成的。知识可以随时更新(更新知识库就行),私有数据也能用了(把公司文档放进知识库),幻觉问题也大幅减少了(有真实资料做参考)。

RAG 这个概念是怎么来的?

RAG 最早由 Facebook(现 Meta)的研究团队在 2020 年提出。2020 年那会儿大模型还没那么火,RAG 这个概念也只是学术圈在讨论。真正让 RAG 火起来的,是 2023 年 ChatGPT 爆红之后,大家发现大模型在实际应用中有那么多局限性,而 RAG 恰好能很好地解决这些问题。

到了现在,RAG 已经成为企业落地 AI 应用的标配技术。不管是大厂还是创业公司,只要做大模型应用,几乎都绕不开 RAG。

RAG 不是万能的

它解决的是「大模型缺乏特定知识」的问题,但它不能:

  • 改变大模型的推理能力(如果模型本身推理不行,给再多资料也没用)
  • 改变大模型的输出风格(如果你希望模型用特定风格回答,这需要微调)
  • 保证 100% 的准确性(检索可能召回错误的文档,模型也可能曲解文档内容)

所以 RAG 更准确的定位是:一种让大模型基于真实、可更新的知识来回答问题的技术方案。它和微调、Prompt Engineering 等技术是互补的,而不是替代关系。


第二讲:RAG 整体工作流程是怎样的?

一个完整的 RAG 系统其实分为两个大阶段:索引阶段(离线)查询阶段(在线)

索引阶段:把知识「整理好」

第一步:文档加载 — 把各种格式(PDF、Word、Excel、PPT、HTML、Markdown……)的文档加载进来,统一转成纯文本。比如包含表格、图片、多栏排版的 PDF 解析起来就很费劲。

第二步:文档切割(Chunking) — 把长文档切成一个个小的文本块(Chunk),每个大概几百到几千个字符。因为大模型的上下文窗口有限,不可能把整本 100 页的文档直接扔给它。

第三步:向量化(Embedding) — 把每个文本块转换成一个数学向量(一串数字)。Embedding 模型把一段文本「翻译」成了高维空间中的坐标点,语义相近的文本在这个空间中的距离也相近。比如「今天天气很好」和「今天阳光明媚」在向量空间中的距离会很近。

第四步:存入向量数据库 — 把所有文本块的向量和原始文本一起存入向量数据库,构建索引结构,以便后续快速检索。

查询阶段:让大模型「翻书找答案」

第一步:用户提问向量化 — 用同样的 Embedding 模型,把用户的问题也转换成一个向量。比如「公司年假政策是什么」。

第二步:相似度检索 — 拿着问题的向量,去向量数据库中进行相似度搜索,找到和这个问题语义最相近的 Top-K 个文本块。比如:

  • 「公司全职员工入职满一年后享有 10 天带薪年假」
  • 「年假可以拆分使用,每次不少于半天」
  • 「未使用的年假可以累积到下一年,但最多累积 5 天」

第三步:构造增强 Prompt — 把检索出来的文本块和用户的原始问题拼在一起:

「请根据以下参考资料回答用户的问题。参考资料:[检索出的文本块]。用户问题:公司年假政策是什么?」

第四步:大模型生成回答 — 把增强版的 Prompt 发给大模型,大模型基于这些真实的参考资料来生成回答。

完整流程一览

  • 索引阶段(离线):文档加载 → 文档切割 → 文本向量化 → 存入向量数据库
  • 查询阶段(在线):用户提问 → 问题向量化 → 向量检索 → 构造增强 Prompt → 大模型生成回答

这是最基础的 RAG 流程,也被称为 Naive RAG(朴素 RAG)。在实际生产中,为了提升效果,还会加入查询改写、多路召回、重排序(Re-rank)等高级技术。


第三讲:微调和 RAG 各自区别是什么?

先搞清楚什么是微调

微调(Fine-tuning)就是拿一个已经预训练好的大模型,用自己的数据对它进行进一步的训练,让它在特定领域或特定任务上表现更好。微调的级别有:

  • 全量微调:更新模型的所有参数,效果最好但成本极高,需要大量 GPU。
  • 参数高效微调(如 LoRA):只训练一个很小的「低秩适配器」,不动模型主体,一张消费级显卡就能跑。
  • 指令微调:用「指令-回答」格式的数据来微调,让模型学会听懂指令。

核心维度的对比

维度 微调 RAG
知识更新方式 重新训练,成本高 更新知识库即可,成本低
准确性 靠「记忆」回答,可能记错 基于真实文档,可追溯可验证
语言风格控制 强项,能学会特定风格 弱,取决于模型本身
成本 初始成本高,推理成本低 初始成本低,每次查询有检索开销

什么时候用微调,什么时候用 RAG?

大多数场景下,优先选 RAG。 尤其是需要回答内容严格基于特定文档(法律条款、产品手册)、知识更新频繁(新闻问答、股票分析)、涉及大量私有数据、需要回答可追溯有出处的场景。

微调更适合:需要模型输出特定风格或格式(客服话术、法律文书格式)、需要学会某种「能力」而非「知识」(特定编程语法)、数据量不大且不常更新且对推理速度有很高要求。

最成熟的做法是微调 + RAG 结合:先用微调让模型适应你的领域和风格,再用 RAG 来提供实时、准确的知识支撑。就好比先送员工去培训(微调),让他学会行业的专业知识和做事方式;再给他配一个可随时查询的资料库(RAG),让他能随时查到最新的信息。


第四讲:RAG 中的文档切割策略有哪些?

为什么文档切割这么重要?

切割有个两难:

  • 切得太小:每个文本块信息太少,可能丢失上下文。比如把「公司全职员工入职满一年后享有 10 天带薪年假」切成两半,第一块根本不知道在说什么。
  • 切得太大:每个文本块信息太多,检索精度下降,而且浪费大模型的上下文窗口。

五大切割策略

策略一:固定大小切割 — 按固定字符数或 token 数机械切割。最简单但最粗暴,可能把一句话切成两半。通常配合「重叠(Overlap)」来缓解,让相邻块之间共享一部分文本。

策略二:递归字符切割 — 先用段落分隔符切,切不动再用换行符,再切不动用句号、空格。LangChain 的 RecursiveCharacterTextSplitter 就是这个思路。它尽量在自然的语义边界处切割,是最推荐的起步方案。

策略三:基于文档结构的切割 — 根据 Markdown 标题、HTML 标签等文档自身的结构来切。如果一个文档有清晰的章节结构,按章节切通常比按固定长度切效果好得多。

策略四:语义切割 — 基于内容的语义相似度来决定在哪切。把语义相似的句子放在一起,语义发生转折的地方就是切割点。切割质量最高,但计算成本也最大。

策略五:Agent 驱动的智能切割 — 用 LLM 来判断应该怎么切,充当「智能编辑」的角色。理论上效果最好,但成本最高。

实战建议

  1. 起步阶段:直接用递归字符切割,块大小 256-512 tokens,重叠 10%-20%。
  2. 优化阶段:如果文档有清晰的结构(Markdown、HTML),切换到基于文档结构的切割。
  3. 进阶阶段:尝试语义切割或「父子块」策略(存储小块用于精准检索,返回给大模型的是包含上下文的父块)。

第五讲:Re-rank 是什么?

先理解一个核心问题

在 RAG 系统中,检索阶段用的是 Bi-Encoder(双编码器),也就是 Embedding 模型。它把查询和文档分别编码成向量,然后计算余弦相似度来判断相关性。

这有两个先天不足:

  • 信息压缩损失:一段几百字的文本被压缩成一串数字,细微但关键的信息可能丢了。
  • 缺乏查询意图感知:文档的向量是在索引阶段预先计算好的,同一篇文档的向量不管用户问什么都是一样的。

Cross-Encoder:让查询和文档「面对面交流」

Re-rank 使用 Cross-Encoder(交叉编码器),它把查询和文档拼在一起,让模型同时看到两者,进行深度的交互分析。这就好比从「分别给两篇文章写摘要再比对」变成了「把两篇文章放在一起仔细对比」。

为什么不直接用 Cross-Encoder?

因为 Cross-Encoder 太慢了。Bi-Encoder 可以预先计算好文档向量,查询时只需要一次向量运算;而 Cross-Encoder 需要把查询和每个候选文档都拼起来过一遍模型,计算量是 N 倍。

所以实际方案是:先用 Bi-Encoder 快速召回 Top-50 到 Top-100 个候选,再用 Cross-Encoder 对这些候选做精排,选出最相关的 Top-5 或 Top-10。

主流的 Re-rank 模型

  • Cohere Rerank:商业 API,效果稳定
  • bge-reranker:智源开源,中文效果好
  • Jina Reranker:支持多语言
  • bce-reranker:网易有道开源,中英文混合场景效果好

Re-rank 带来了多大的提升?

  • 复杂查询(多跳推理):准确率提升 40%-50%
  • 简单事实查询:提升约 18%
  • 模糊查询:提升约 30%-40%
  • Databricks 测试还表明,重排序后的检索结果能让大模型幻觉率降低约 35%

实战建议

  • 先检索 50-100 个候选,再重排到 Top-5 或 Top-10,性价比最高。
  • 不需要所有查询都做 Re-rank。可以设置条件触发机制,只在初排 Top-1 的分数低于阈值时才启动。

第六讲:Embedding 有哪几种算法你了解过吗?

Embedding 的核心思想:把文本转换成高维空间中的数值向量,让语义相近的文本在向量空间中的距离也相近。

四代演进

第一代:静态词向量时代(2013 年)Word2Vec 由 Google 在 2013 年提出。核心思想来自「上下文相似的词,语义也相似」。有 CBOW 和 Skip-Gram 两种训练方式。能做词语类比:「国王 - 男人 + 女人 ≈ 女王」。但根本缺陷是给每个词只生成一个固定的向量,无法处理多义词(「苹果」是水果还是公司?)。

第二代:上下文嵌入时代(2018 年)BERT 由 Google 在 2018 年提出。最大的突破是:同一个词在不同的上下文中会得到不同的向量。在 RAG 场景中通常取 [CLS] token 的向量作为整段文本的表示。但局限是上下文窗口只有 512 tokens,且不是专门为检索设计的。

第三代:融合与优化时代(2023 年至今) — 代表作 BGE-M3(智源研究院),「M3」代表三个多:

  • Multi-Granularity(多粒度):最大支持 8192 tokens
  • Multi-Functionality(多功能):一站式集成稠密检索、稀疏检索和多向量检索
  • Multi-Language(多语言):支持 100 多种语言

OpenAI 的 text-embedding-3-large 维度高达 3072,在 MTEB 榜单上表现优异。

第四代:基于大模型的 Embedding(2025 年) — 核心思路是直接用大模型(LLM)来做 Embedding。代表工作包括 LLM2Vec、Qwen3-Embedding、字节跳动的 Seed1.5-Embedding(MTEB 中英文 SOTA)。

怎么选 Embedding 模型?

  1. 看榜单:参考 MTEB 排行榜,最权威的 Embedding 模型评测榜单
  2. 中文场景优先选国产模型:BGE 系列、M3E 系列、ACGE 系列通常优于 OpenAI
  3. 关注上下文窗口:长文档(法律合同、学术论文)一定要选支持长上下文的模型(如 BGE-M3 的 8192 tokens)
  4. 考虑部署方式:数据安全要求高选开源模型私有化部署;追求简单用 API 服务

第七讲:什么是向量数据库?有没有做过向量数据库的对比选型?

向量数据库解决什么问题?

假设你有 100 万个文本块,每个被转换成 1536 维的向量。暴力搜索每次查询都要和 100 万个向量逐一计算相似度,完全不可接受。

向量数据库使用特殊的索引结构(HNSW、IVF、PQ 等),能够在海量向量中实现毫秒级的近似最近邻搜索(ANN)

主流向量数据库对比

数据库 特点 适用场景
Milvus 开源,支持十亿级向量,索引类型丰富(HNSW/IVF/PQ),GPU 加速 大规模企业级应用,数据量上亿
Pinecone 全托管 SaaS,零运维,自动扩缩容 预算充足、不想折腾基础设施
Weaviate 原生支持混合检索(向量+BM25),内置 Embedding 集成 中小规模、需要混合检索
Chroma 轻量极简,pip 安装即用 原型验证、个人项目、教学演示
Qdrant Rust 编写,单机性能极强,QPS 和延迟最优 对性能有极致要求,自建但不想用 Milvus

选型建议

  • 快速 POC → Chroma
  • 中小规模生产,预算充足 → Pinecone
  • 中小规模,需私有化 → Weaviate
  • 大规模企业级(上亿) → Milvus
  • 极致性能,自建 → Qdrant

另外,PostgreSQL 的 pgvector 插件、Elasticsearch 的向量搜索功能也是务实的选择——如果项目已经在用这些数据库,运维成本几乎为零。


第八讲:什么是多路召回?具体怎么做?

单路召回的局限性

向量检索擅长捕捉「语义相似性」,但在「精确匹配」方面有短板。比如用户搜索「iPhone 15 Pro Max 256GB」,向量检索可能把「iPhone 14 Pro Max 512GB」也搜出来。再比如搜索公司内部产品编号「PRD-2024-089」,纯靠语义相似度匹配不上。

多路召回的核心思想

既然一条路不保险,那就多走几条路,每条路各有侧重,最后把各路结果合并。

第一路:向量检索(Dense Retrieval) — 用 Embedding 模型做稠密向量相似度搜索。擅长语义匹配,是 RAG 系统的主力。

第二路:关键词检索(Sparse Retrieval / BM25) — 传统的全文检索方式,基于词频和文档频率计算相关性。擅长精确关键词匹配,对专有名词、产品编号、人名有天然优势。

第三路:知识图谱检索(可选) — 如果有结构化的知识图谱,可以用图查询做第三路召回。擅长实体关系推理,比如「A 公司的 CEO 是谁」。

混合检索的具体实现

多路召回的关键不只是「多走几条路」,还在于如何合并各路的结果。主流的合并方式有:

  • 分数融合(Score Fusion):将各路的分数归一化后加权求和。RRF(Reciprocal Rank Fusion)是最常用的方法。
  • 重排序融合:把各路召回的结果合并后,统一用 Re-rank 模型做一次精排。

主流框架都有现成的混合检索支持:LangChain 的 EnsembleRetriever、LlamaIndex 的 QueryFusionRetriever、Weaviate 的混合搜索功能等。

高级召回策略

  • 查询改写(Query Rewriting):先用 LLM 把用户的问题改写成更适合检索的形式。比如「你们公司加班多吗」改写成「公司加班制度」「加班时间规定」「加班补贴政策」等多个查询。
  • HyDE(Hypothetical Document Embedding):先让 LLM 根据用户问题生成一个「假设性的答案文档」,再用这个假设文档的向量去检索。因为假设文档在表述上更接近真实的答案文档,检索效果通常更好。
  • 多查询扩展(Multi-Query):把一个问题用 LLM 改写成多个不同角度的子问题,分别检索后合并。

第九讲:怎么量化你的 RAG 效果?

为什么评估 RAG 比评估普通 LLM 更复杂?

因为 RAG 有两个环节都可能出问题:检索环节(找的文档对不对)和生成环节(模型有没有正确理解文档)。就像评价一道菜好不好,你得分别评估「食材新不新鲜」和「厨师的烹饪水平」,才能定位到问题。

检索质量的评估指标

召回率(Recall@K):找全了没有?在所有相关的文档中,Top-K 结果里包含了多少。比如知识库中有 5 篇和问题相关的文档,Top-10 结果中包含了 4 篇,那 Recall@10 = 4/5 = 0.8。

精确率(Precision@K):找对了没有?在 Top-K 结果中,有多少是真正相关的。比如 Top-10 结果中有 8 篇相关,那 Precision@10 = 8/10 = 0.8。

生成质量的评估指标

  • Faithfulness(忠实度):最重要的指标。模型生成的回答是否忠实于检索到的文档?有没有编造文档中不存在的信息?RAGAS 的评估方式是把回答拆分成独立陈述,逐个检查是否能从文档中找到支撑。10 个陈述中 8 个有支撑,忠实度就是 0.8。
  • Answer Relevance(答案相关性):回答是否真正回答了用户的问题?有没有跑题?
  • Context Relevance(上下文相关性):检索到的文档是否和用户的问题相关?

RAGAS:RAG 评估的事实标准

RAGAS 是目前 RAG 评估领域最流行的开源框架。核心思路是用一个更强大的 LLM(如 GPT-4)作为「裁判」,自动化评估 RAG 系统的输出质量。准备包含 questioncontextsanswerground_truth 的数据集,调用 evaluate 函数即可。

其他评估工具:

  • DeepEval:把 RAG 评估融入单元测试框架
  • TruLens:提供深度可观测性和诊断能力
  • ARES:用 LLM 生成合成评估数据

评估最佳实践

  1. 先建基线,再做优化 — 用一组测试数据建立性能基线,之后每次改动对比基线
  2. 测试数据要有代表性 — 包含简单事实查询、复杂推理、多跳问题、模糊问题等
  3. 定期评估,持续监控 — RAG 效果会随知识库更新和模型版本变化而波动
  4. 把评估自动化 — 融入 CI/CD 流程,每次更新自动跑评估

第十讲:什么是大模型幻觉?怎么降低幻觉?

什么是大模型幻觉?

幻觉(Hallucination)就是大模型自信地说出一些听起来很专业但实际上是编造的内容。幻觉不等于「错误」——如果模型说「我不知道」,那不叫幻觉。幻觉是不知道但假装知道,用流畅自信的语言编造错误信息。

OpenAI 科学家 Andrej Karpathy 有一段精彩观点:

「在某种意义上,幻觉正是大模型所做的一切。它是造梦机,我们通过提示词引导它的梦境。只有当梦境进入事实上不正确的领域时,我们才将其标记为『幻觉』。这不是 bug,而是大模型一直在做的事情。」

幻觉的类型

事实性幻觉(Factuality Hallucination):生成内容与客观事实不符。分为内在幻觉(与输入上下文矛盾)和外在幻觉(无法从任何已知知识中验证)。

忠实性幻觉(Faithfulness Hallucination):在 RAG 场景中更常见。模型虽然拿到了正确的检索文档,但生成回答时偏离了文档内容。

幻觉是怎么产生的?

  • 数据层面:训练数据包含错误信息、偏见或过时知识。「垃圾进,垃圾出」。
  • 训练层面:大模型的训练目标是「预测下一个 token」,追求生成流畅文本而非确保每句话正确。主流评估方式(多选题评测)鼓励模型「蒙答案」而非「承认不知道」。
  • 推理层面:用户的提示词可能诱导幻觉。如果问题包含错误前提(「请介绍一下林黛玉的妹妹」),模型往往顺着错误前提编造。

RAG 是怎么降低幻觉的?

RAG 把大模型从「闭卷考试」变成了「开卷考试」:

  • 注入真实知识:检索到的文档是真实资料,减少凭空编造。研究表明 RAG 能将事实性幻觉降低 20%-40%
  • 注意力机制偏向:当 Prompt 包含检索文档时,大模型约 70-80% 的注意力集中在检索片段上。
  • 可追溯可验证:回答可追溯到具体文档来源。

但 RAG 不能完全消除幻觉。如果检索到错误文档、模型曲解了文档内容、或做了越界推断,幻觉依然会发生。

除了 RAG,还有哪些降低幻觉的方法?

方法一:Prompt 工程约束 — 成本最低、见效最快。

  • 限制知识范围:「请仅基于以下参考资料回答,如果资料中没有相关信息,请直接回答『根据现有资料无法回答』」
  • 要求标注来源:每个关键陈述后标注出处
  • 鼓励承认不确定

方法二:输出验证(独立校验) — 用另一个 LLM 来检查回答是否忠实于检索文档。也叫 LLM-as-Judge。

方法三:领域微调 — 用领域数据做有监督微调(SFT),建立更可靠的知识体系。或用 RLHF 引导「诚实」——奖励模型「说真话」或「坦率承认不知道」。

方法四:不确定性量化(UQ) — 让模型对每个输出给出置信度分数。基于 token 概率、多次采样一致性、或模型内部状态(熵值)来估计。置信度低时触发人工审核或拒答。

方法五:GraphRAG 和 LightRAG — 2025 年的新方向。GraphRAG(微软提出)先从文档中提取实体和关系构建知识图谱,再基于图谱检索回答,适合需要全局理解的问题。LightRAG 是轻量版,解决了 GraphRAG 的 token 开销大、动态更新成本高的问题。

实际项目中的组合策略

核心原则是分层设防、按需组合

防线 方法 成本 适用场景
第一道 Prompt 工程约束 零成本 所有场景都应该做
第二道 RAG 检索增强 中等成本 需要准确知识的场景标配
第三道 输出验证 额外延迟和成本 高风险场景(医疗、法律、金融)
第四道 领域微调 + UQ 成本最高 对准确性要求极高的场景

按风险等级分层管控

  • 高风险(医疗诊断、法律建议、金融决策):必须 RAG + 人工审核 + 明确免责声明 + 输出验证
  • 中风险(客户服务、内容生产、代码辅助):Prompt 约束 + RAG + 输出验证 + 置信度阈值
  • 低风险(头脑风暴、草稿起草、创意生成):基础 Prompt 优化即可

企业落地的核心原则只有一条:把幻觉当作工程问题而非模型缺陷,用系统设计来约束 AI 的行为边界。


总结

# 问题 核心要点
1 RAG 是什么 检索增强生成,给大模型「开卷考试」,回答基于真实文档
2 工作流程 分索引阶段(离线建库)和查询阶段(在线检索+生成)
3 微调 vs RAG 微调是「内化知识」,RAG 是「外挂参考书」,两者互补
4 文档切割 从固定大小到语义切割,推荐先用递归字符切割起步
5 Re-rank 用 Cross-Encoder 对检索结果做精排,准确率提升 30-50%
6 Embedding 从 Word2Vec 到 BERT 再到 BGE-M3,技术不断演进
7 向量数据库 Milvus、Pinecone、Weaviate 等各有侧重,按需选型
8 多路召回 向量检索 + BM25 混合检索,效果比单路好 10-30%
9 效果量化 用 RAGAS 等框架评估 Faithfulness、Relevance 等核心指标
10 大模型幻觉 RAG 是降低幻觉的核心手段,但不能完全消除,需要组合策略

RAG 技术这一两年发展非常快,从最基础的 Naive RAG 到结合 GraphRAG、Agentic RAG 等高级架构,技术栈在不断演进。但万变不离其宗,本文讲的这些核心概念是所有 RAG 系统的基石,把基础打牢了,后面的进阶技术学起来就会事半功倍。