一、为什么需要 RAG?—— 大模型的"三大硬伤"

大模型(ChatGPT、文心一言、通义千问这些)虽然聪明,但它有三个绕不过去的短板:

硬伤 表现 举例
胡说八道(幻觉) 遇到不懂的事,不承认不知道,而是编一个听起来很合理的答案 你问"公司去年年假几天",它编了个"5 天"——实际上公司去年是 10 天
知识滞后 训练数据有截止日期,之后发生的事一概不知 问 2026 年 6 月的新政策,它只能摇头
没有私域知识 互联网上公开的数据里,没有你公司的财务报表、考勤制度、合同条款 问"张三这个月出差报销了多少",它完全不知道

以前怎么解决?—— 微调(Fine-tuning)

让大模型重新"挑灯夜读",把新知识背下来。但这条路贵、慢、不好维护——每次知识更新都要重新训练。

现在怎么解决?—— RAG

核心思想非常朴素:别硬背了,我给你发张准考证,允许你"开卷考试"。

你不再是问一个闭卷考试的学霸,而是问一个随身带着参考书、遇到问题先去翻书、再用自己的话回答的学生。

这个模式就叫 RAG(Retrieval-Augmented Generation,检索增强生成),拆开三个字:

检索(Retrieval) → 翻书,找到相关段落增强(Augmented) → 把找到的段落摊在桌上做参考生成(Generation) → 用自己的话,基于参考资料回答问题

二、RAG 是怎么工作的?——"存 → 找 → 答"三步

第一步:存(知识库的数字化准备)

你不能直接把一万份 PDF 丢给大模型——它读不下,也找不快。需要先把文档"加工"好:

原始文档  ↓① 切块(Chunking):把长文档切成几百字的小段落  ↓② 向量化(Embedding):用一个模型把每个段落转换成一串数字(向量)  这串数字代表这段话的"语义坐标"——语义相近的段落,数字也相近  ↓③ 存入向量数据库(Vector DB):比如 Milvus、Elasticsearch、Chroma 等

类比:相当于图书馆把每本书拆成卡片,每张卡片上标注了"这段话在说什么"的数学编码,然后分门别类放好。

第二步:找(精准捞出相关资料)

    1. 系统把用户的问题也用同一个模型转换成向量
    1. 去向量数据库里做数学运算,找语义最接近的段落
    1. 捞出 Top 3-5 个最相关的段落

第三步:答(阅读理解 + 生成回答)

系统把原始问题 + 捞出来的参考资料打包成一段提示词(Prompt),发给大模型:

【系统指令】请根据以下参考资料回答用户问题。如果资料里没有答案,就说"不知道",不要瞎编。【参考资料】[资料1] 员工满一年享有10天带薪年假……[资料2] 年假需提前3天在OA系统提交申请……【用户问题】"我们公司年假几天?怎么申请?"【你的回答】

大模型收到后,现场做阅读理解题,给出精准、有据可查的答案。


三、光有"存→找→答"还不够——从初级 RAG 到高级 RAG

你可能会想:“听起来很简单啊,不就是搜索 + 拼提示词吗?”

实际落地中,简单的 RAG(Naive RAG)效果往往很差。常见问题:

问题 原因 后果
关键词搜不到 你问"差旅费标准",文档里写的是"出差报销标准"——词不一样 漏掉关键文档
搜出来的太多太杂 向量数据库粗暴地返回前 20 条,好坏掺杂 大模型被噪音干扰
上下文被切断 一个完整的制度条款被切成了两半 大模型看到的是残篇,答案不完整
跨文档关联不上 "张三"在文档 A,"ERP 项目"在文档 B,两者关系在文档 C 大模型不知道这些信息之间有联系

这就是为什么需要下面这些"高级武器"。


四、BM25 —— 关键词检索的 “老兵不死”

BM25(全称 Okapi BM25,BM = Best Matching)是 1994 年诞生的经典算法,至今仍是全球所有搜索引擎(包括 Elasticsearch)的默认评分内核。它在 RAG 系统中扮演着"字面精准匹配"这一路的关键角色。

一句话理解

BM25 是一个只看字面、不懂语义的统计机器。它给每篇文档打一个相关性分数,分数高低取决于三个因素:

因素一:这个词有多"稀缺"?(IDF,逆文档频率)

如果一个词在所有文档里都频繁出现(比如"的"“了”“是”),它的权重就极低。
如果一个词非常罕见(比如"竞业限制"“NullPointerException”),它的权重就极高。

类比:在一个公司的规章制度库里搜"的"字,每份文档都有,没有任何区分度,这个词的权重就是零。搜"竞业限制",只在 3 份文档里出现,这个词的权重就极高——只要命中,这篇文档大概率就是你要的。

因素二:这个词在文档里出现了多少次?(TF + 饱和度控制)

词出现得越多,这篇文档越相关。但不会无限加分,到一定程度就"饱和"了。

这是 BM25 相比它的前辈 TF-IDF 最关键的升级。在 TF-IDF 里,词频是线性增长的——如果一篇垃圾文档疯狂重复"年终奖"100 次,它的得分会是正常文档的 100 倍,轻松霸占第一名(这叫"刷词作弊")。

BM25 通过引入了 k1 参数(通常设 1.2 ~ 2.0)来做饱和度控制:重复 5 次和重复 100 次,得分几乎一样。你刷不动。

因素三:这篇文档有多长?(长度归一化)

长文档天然包含更多词,所以在长文档里命中关键词"不算本事",需要适当惩罚。

类比:在一本 10 万字的小说里找到"保密"两个字,不代表这本小说是讲保密的。但在一段 100 字的通知里找到"保密",这篇通知大概率就是你要的。

BM25 通过 b 参数(通常设 0.75)来控制惩罚力度——b=1 表示按长度比例完全惩罚,b=0 表示不管长短一视同仁。

BM25 的优势和盲区

擅长 不擅长
型号、工号、法律条文编号的精确匹配 同义词:“差旅费"找不到"出差报销”
错误码 NullPointerException 一字不差地匹配 跨语言:“苹果手机"找不到"iPhone”
人名、地名、专有名词 模糊语义:“电脑卡顿"找不到"笔记本运行缓慢”
不会被刷词作弊(饱和控制) 理解否定:“不要走审批的请假方式”,它只看到"审批"和"请假"

五、Dense Embedding(稠密向量)—— 语义搜索的 “读心术”

如果说 BM25 是看"你说了什么字",那 Dense Embedding 就是理解"你想表达什么意思"。它是现代 AI 搜索的核心技术,负责把文字翻译成机器能理解的"语义坐标"。

稀疏 vs 稠密:为什么要叫 “Dense”?

稀疏向量(Sparse,如 BM25/TF-IDF) 稠密向量(Dense,如 Embedding)
维度 几万到几十万维(等于词典大小) 固定 768 / 1024 / 1536 维
值的分布 绝大多数位置是 0,只有命中的词有值 每一个位置都有非零值 ,共同编码语义
匹配原理 看有没有共同词 看语义坐标近不近

核心问题:计算机凭什么知道"苹果"和"iPhone"是一个意思?

这是每个人第一次接触 Embedding 时最困惑的问题。答案是:看一个词的"朋友圈"(上下文),而不是看这个词本身

语言学里有一句名言:"看一个词的邻居,就能知道它的含义。"大模型在训练时读了几千亿字的文本,它发现了一个规律:

"我昨天买了一部 iPhone,拍照很强,系统很流畅。""我昨天买了一部 苹果,拍照很强,系统很流畅。""库克在发布会上展示了最新的 iPhone。""库克在发布会上展示了最新的 苹果。"

久而久之,模型发现:“iPhone"和"苹果"这两个词,在天底下的文章里,身边出现的"邻居词”(库克、发布会、拍照、系统、屏幕、价格)几乎一模一样。 于是它在数学上把这两个词归到了同一个"朋友圈"。

标签游戏:用 4 个维度模拟真实模型

真实的大模型有 768 ~ 3072 个维度。为了便于理解,我们假设只有 4 个维度:

是否电子产品? 是否水果? 价格高低? 科技属性?
iPhone 0.9 -0.9 0.8 0.9
苹果(公司) 0.8 -0.8 0.8 0.9
香蕉 -0.9 0.9 -0.7 -0.9

在高维空间里,iPhone 和苹果(公司)的坐标几乎重合,而香蕉躲在遥远的另一个角落。你用余弦相似度一算,iPhone 和苹果(公司)的相似度得分极高,香蕉则极低。

动态上下文:同样的词,不同的 Embedding

这是现代大模型相比十年前老技术最革命性的突破。

过去的老技术(Word2Vec 时代):每个词只有一套固定的向量。"苹果"不管在什么句子里,永远是同一串数字。完全无法解决一词多义。

现在的大模型(Transformer 时代):模型会先读完整个句子,用**注意力机制(Attention)**让周围的词去"修正"目标词的含义。

场景 A:"多吃苹果对身体好"  → 模型注意到"吃""身体好" → 把【水果】【健康】维度拉满,【科技】维度清零场景 B:"苹果下个月要开新品发布会"  → 模型注意到"新品""发布会" → 把【科技公司】【数码】维度拉满,【水果】维度清零

同一个词"苹果",在不同句子里被赋予了完全不同的向量坐标。 这就是为什么你把一整段话输入 Embedding 接口时,吐出来的不是死板的字典释义,而是这段文字在当前语境下"活着的灵魂"。

维度到底要多少?

维度 梯队 典型模型 适用
384 ~ 768 轻量高效 BGE-small、BERT 标准版 端侧设备、海量数据低成本检索
1024 黄金性价比 Cohere Embed v3、BGE-large、阿里 GTE-large 企业级 RAG 首选 ,精度与成本最佳平衡
1536 ~ 3072 高精旗舰 OpenAI text-embedding-3-large 预算充足、语义要求极高的场景

黑科技:“动态裁剪”(Matryoshka 表征学习)

OpenAI 最新的 text-embedding-3 系列引入了一项技术:模型训练时,故意把最重要的语义特征压在向量的前几百个维度里,越往后越细腻。

这意味着你可以随意"砍掉"后面的维度:模型输出 3072 维,你只需要前 256 维或 1024 维,精度几乎不降。在 MTEB 评测上,被砍成 256 维的 v3-large,表现依然碾压当年 1536 维的旧款模型。

工程意义:调用最强模型 → 裁剪到 1024 维 → 存入向量数据库,在"理解能力"和"服务器账单"之间取得完美平衡。


六、多路召回 —— “兵分多路,广撒网”

理解了 BM25(字面路)和 Dense Embedding(语义路)之后,就可以讲清楚现代搜索系统的核心架构了。

为什么必须"多路"?

没有任何一种检索算法是完美的。如果只用一种:

  • 只用 BM25:搜"电脑卡顿"找不到"笔记本运行缓慢"→ 漏掉大量语义相关的结果
  • 只用向量检索:搜"404 错误码"可能因为过度联想,捞出一堆无关的网页开发教程 → 噪音淹没精准答案

多路召回的本质是"既要又要"——让不同算法优势互补,谁都别漏。

一个标准的多路召回架构

┌─→【第一路:BM25 关键词检索】──→ 捞出字面完全匹配的文档                 │  【用户提问】 ──┼─→【第二路:Dense Embedding 语义检索】→ 捞出意思相近的文档                 │                 └─→【第三路:知识图谱检索】──→ 捞出同一类别的关联实体                          │                          ▼                 【结果合并 + 去重】                          │                          ▼                 【Rerank 精排】──→ 选出 Top 3-5 喂给大模型

多路召回最棘手的问题:关公战秦琼

不同路返回的结果,分数不在同一个尺度上:

  • • BM25 给文档 A 打了 18.5 分
  • • 向量检索给文档 B 打了 0.92 分(余弦相似度)
  • • 知识图谱给文档 C 打了 3 跳命中

这三个分数根本无法直接比大小。

解决方案:RRF(倒数排名融合)

RRF(Reciprocal Rank Fusion)是一种极其高效、不依赖模型的算法。它不看原始分数,只看排名

RRF 得分 = Σ 1 / (k + rankᵢ)其中 k 是一个常数(通常取 60),rankᵢ 是该文档在第 i 路中的排名

例子:文档 A 在 BM25 路排第 1,在向量路排第 3,在知识图谱路排第 5。

RRF(A) = 1/(60+1) + 1/(60+3) + 1/(60+5)       = 0.0164 + 0.0159 + 0.0154       = 0.0477

三路排名汇总后重新洗牌,排名最高的文档胜出。简单、公平、不需要任何模型。

当然,更精细的做法是接一个 Rerank 模型做最终精排——这就是下一节要讲的。

一句话类比

多路召回就像企业招聘:HR 同时在招聘软件上用"关键词匹配"筛简历(BM25)、通过内部员工"熟人推荐"找气场相投的人(Embedding)、再通过"猎头指定"挖特定人才(知识图谱)。多管齐下,最后把所有候选人汇总到面试官(Rerank / 大模型)面前做最终选拔。


七、Rerank(重排序)—— 海选之后的"面试精选"

多路召回捞回来一堆候选(比如 15-20 篇),但质量参差不齐。Rerank 就是用更强的模型做第二轮精排

两阶段检索架构

阶段 类比 目标 速度 精度
召回(Recall) 海选,快筛 从几十万篇里捞出 Top 50-100,“别漏掉” 一般
重排(Rerank) 复试,精选 从 50 篇里筛出 Top 3-5,“把最好的放前面” 较慢

为什么要 Rerank?两个硬理由

理由一:向量检索只看"神似",不看"形似"。 它对否定词、精确关键词不敏感。比如用户问"不要走年假审批流程的请假方式",向量检索可能把"年假审批流程"当成重点返回来,而 Reranker 能理解"不要"这个否定词的重要性。

理由二:大模型的"迷失在中间"(Lost in the Middle)现象。 如果你把 20 条资料直接塞给大模型,它往往只记住最开头和最结尾的,中间的关键信息会被忽略。Rerank 确保最精准的那几条排在最前面。

市面上有哪些 Rerank 模型?

重排模型的底层通常是交叉编码器(Cross-Encoder)——它会把你提的问题和每篇候选文档拼在一起,同时输入模型做深度比较。这比向量检索的成本高得多,但也准得多。

开源模型(适合私有部署):

模型系列 特点
BAAI/bge-reranker 系列 (智源研究院) 中文及跨语言检索第一梯队。有 large(精度最高)、base(速度快)、v2-m3(支持长文本)等型号
Cohere Rerank 多语言效果出色,有开源版本
Jina Reranker 支持超长上下文(8K tokens),适合处理长段落

商业 API(免运维,开箱即用):

Cohere Rerank API、硅基流动、阿里百炼、腾讯云等平台均集成了重排服务,按调用次数计费。

Rerank 工程的三个落地教训

    1. 不要对全部文档做 Rerank。 如果你的知识库有 1 万条文档,直接全量 Rerank,响应时间会从毫秒级飙升到几十秒。必须先粗筛到 100 条以内。
    1. 设置得分阈值。 如果粗筛捞出来的全是垃圾,Reranker 也只能"在矮子里拔将军"。设置一个硬性阈值,低于阈值直接回答"知识库未找到相关信息"。
    1. 算力不够时用小模型或 API。 没有 GPU 的情况下跑 bge-reranker-large 会很慢。优先评估商业 API,或在本地部署 bge-reranker-base 配合 ONNX Runtime 加速。

一句话总结

向量检索 + 多路召回 = 海选(快、糙、不漏)Rerank               = 精选(慢、精、去伪存真)海选从百万级捞 Top 50,精选从 50 条里筛 Top 3。先粗后精,性价比最高。

八、知识图谱(Knowledge Graph)—— 从"查字典"到"查族谱"

传统 RAG 的根本缺陷

传统 RAG 把文档切成一个个文本块(Chunk),存进数据库。每个块之间没有显式关联

这就像一个图书馆把所有的书都撕成了小纸条,每张纸条上写了一段话。你查找时,AI 去找最相关的纸条,拼起来给你答案。

致命问题:如果一条信息分散在多张纸条上怎么办?

真实例子:你问"张三参与了公司的哪些项目?"

  • • 纸条 A:“张三,技术部高级工程师”
  • • 纸条 B:“ERP 升级项目由技术部牵头,主要参与人……”(没提张三)
  • • 纸条 C:“2025 年优秀项目奖授予张三(ERP 升级项目)”

传统方法可能只找到 A 和 C,漏掉了 B 和整个技术部的项目关联。因为纸条之间没有连线——AI 不知道"技术部"这个关键词连接了张三和 ERP 项目。

知识图谱的解决思路

知识图谱把知识组织成**实体(节点)+ 关系(边)**的网络:

┌──────┐  属于    ┌──────────┐        │ 张三  │────────→│  技术部    │        └──┬───┘          └────┬─────┘           │ 参与               │ 牵头           ▼                    ▼        ┌──────────────┐  ┌──────────────┐        │ ERP 升级项目   │  │  AI 中台项目   │        └──────┬───────┘  └──────────────┘               │ 获得               ▼        ┌──────────────┐        │ 2025年优秀项目奖│        └──────────────┘

查询时,AI 在图上沿着关系边一步一步走(这叫"多跳推理"):张三 → 技术部 → 参与的项目 → ERP 升级项目、AI 中台项目……所有关联信息被自动串联起来。

核心类比:传统 RAG 像查字典(按词条找定义),知识图谱 RAG 像查族谱(从一个名字出发,沿着关系线摸清所有关联)。

三种检索粒度(LightRAG 的核心创新)

模式 做什么 适合什么问题 类比
Local(局部检索) 从具体实体出发,沿关系边找邻居,向下钻取细节 “张三参与了哪些项目?”“保密协议第 7 条是什么?” 了解一个人的朋友圈
Global(全局检索) 对整个知识网络做社区检测和摘要总结,向上抽象主题 “公司技术部的整体业务方向是什么?”“这次合规审计的总体风险点在哪?” 看一个组织的全景地图
Hybrid / Mix(混合) Local + Global + 向量检索三者融合 绝大多数实际查询 既要个人档案,也要部门背景,还要相关文档片段

“Light” 的由来 —— 对比微软 GraphRAG

微软的 GraphRAG 虽然强大,但构建图谱时需要生成庞大的"社区报告"(Community Reports),Token 消耗巨大、算力极贵、且无法增量更新

LightRAG 抛弃了这些笨重的操作,用向量直接定位图节点,支持增量更新(新增一个文档,只局部织网,不用全网重建)。能耗和延迟都远低于微软方案,效果却不输,所以叫"Light"。


九、三款开源 RAG 产品横评 —— RAGFlow vs LightRAG vs Dify

这三个产品代表了 RAG 领域三个完全不同的演进方向。它们不是你死我活的竞争关系,而是互补关系

速览对比

维度 RAGFlow LightRAG Dify
一句话定位 重型文档处理工厂 轻量级知识图谱引擎 完整的 AI 应用搭建平台
核心武器 自研深度学习模型做文档解析 + Agent 工作流 知识图谱原生检索(6 种模式)+ 极轻量 可视化工作流编排 + 完整产品生态
知识图谱 内置 GraphRAG(可选模块),支持三种抽取方案 核心能力 ,架构第一天就以图谱为中心 不支持
文档解析 工业级碾压 :自研版面识别 + 表格结构识别 + OCR 三个神经网络模型 依赖外部引擎(MinerU / Docling) 基础提取,对复杂排版无能为力
检索模式 向量 + BM25 混合检索 + GraphRAG 补充 6 种 :naive / local / global / hybrid / mix / bypass 3 种:语义 / 全文 / 混合
Agent 能力 25+ 组件 + 25+ 工具的可视化 DAG 工作流画布 可视化工作流编排
部署难度 重:需要 MySQL + ES + Redis + MinIO 等 6+ 服务 极轻 :pip install 即用,零外部依赖 中等:PG + Redis + Worker + 向量 DB
企业级特性 多租户、RBAC 权限、文档审批流、OpenTelemetry 审计 基础 API Key / JWT 认证 最完善 :租户→工作空间→成员,33+ 向量库
适合场景 复杂文档(合同/财报/扫描件)+ 需要 Agent 自动化 跨文档关系推理 + 快速原型 + 嵌入现有系统 快速搭建面向用户的 AI 产品

三者的角色类比

RAGFlow  = 印刷厂 —— 擅长把各种格式、各种质量的原始文档           加工成干净、结构化、可检索的内容LightRAG = 侦探   —— 擅长在大量信息之间建立关联网络,           做跨文档、跨段落的推理和串联Dify     = 购物中心 —— 把各种能力整合在一起,           给用户一个完整的产品体验

最佳实践:不是三选一,而是各取所长

┌────────────────────────────────────────┐│            Dify(产品层)                ││  工作流编排 + 用户前端 + 权限管控        ││    │                │                  ││    ▼                ▼                  ││  调用 RAGFlow      嵌入 LightRAG       ││  (复杂文档解析)   (轻量图谱检索)      │└────────────────────────────────────────┘

RAGFlow 做深度解析和知识图谱索引,Dify 做产品化封装和编排,LightRAG 作为轻量级图谱检索组件嵌入特定场景。


十、重点:RAGFlow 已经原生支持知识图谱,且已引入 LightRAG

这是目前开源社区最值得关注的融合趋势——这两个项目不是对手,RAGFlow 已经把 LightRAG "吃进去"了。

RAGFlow 的知识图谱有三种实现方案

在 RAGFlow 的分块配置中,你可以选择"提取知识图谱"作为分块方法。底层的 rag/graphrag/ 模块源码中明确引用了两家来源:

Reference:  - graphrag (微软/GraphRAG)  - LightRAG (HKUDS/LightRAG)

它提供了三套并行的知识图谱提取方案,用户可以自选:

方法 来源 原理 特点
Light HKUDS/LightRAG LLM 抽取实体 + 关系,轻量 Prompt 默认方法,Token 消耗少,速度快
General 微软/GraphRAG LLM 抽取 → Leiden 社区发现 → 社区摘要 重量级,适合深度主题分析
NER spaCy 预训练模型 基于规则 + 预训练 NER,零 LLM 参与 速度最快,零 API 成本

RAGFlow 图谱检索的完整链路

用户问题  ↓① 查询改写(LLM 提取实体词 + 类型关键词)  ↓② 向量召回实体 + 按类型精确过滤实体 + 向量召回关系  ↓③ N-hop 多跳扩展 —— 沿图谱发现关联实体(带路径 + 权重)  ↓④ 社区检索 —— 召回社区摘要(仅 General 方法适用)  ↓⑤ PageRank × 向量相似度综合排序  ↓⑥ 实体 + 关系转结构化上下文,注入 LLM 生成答案

和 LightRAG 原版的差距(也是后续优化方向)

维度 RAGFlow 当前 LightRAG 原版 改进空间
图存储 实体/关系作为特殊 Chunk 存 ES 原生图数据库(Neo4j / NetworkX / Memgraph) 无法做真正的图遍历,N-hop 靠预计算
查询模式 单一 KG 向量召回 6 种独立模式(local/global/hybrid/mix/naive/bypass) 缺少社区级全局和实体级局部的独立控制
增量更新 变更后全量重建 增量追加,保留已有图结构 大文档集重建成本高
Chunk 回填 无——实体描述本身就是检索结果 KG 结果反向映射到原文 Chunk 缺少原文溯源
角色 LLM 统一 LLM 配置 4 种角色独立 LLM(extract/query/keywords/vlm) 不能用便宜模型抽取、强模型回答

一句话总结这个融合

你可以直接在 RAGFlow 的可视化界面和工作流中,享受 LightRAG 带来的低成本知识图谱能力。 RAGFlow 提供平台底座(深度解析 + 管理后台 + Agent),LightRAG 算法提供高效图谱构建——强强联合。


十一、一个完整的检索链路长什么样?

把上面所有概念串起来,看一个真实的法律合同查询案例:

用户问:“我们公司的保密协议里,员工离职后保密义务持续多久?”

第 1 步:查询改写(Query Rewrite)  LLM 将问题优化为检索关键词:  → "员工 离职 保密义务 期限 竞业限制 保密协议"第 2 步:多路召回(并行执行)  ├─ BM25 关键词路    → 找到 8 篇包含"保密""离职""义务"的文档  ├─ 向量语义路       → 找到 5 篇讲"员工离职后权利义务"的文档  └─ 知识图谱路       → 从"保密协议"实体出发,沿关系边多跳扩展                        "离职 → 保密义务 → 期限 → 竞业限制"  → 三路去重合并,共 15 篇候选第 3 步:Rerank 精排  用 BGE-Reranker 对 15 篇候选做精细对比打分  → 取 Top 5 最精准的,剩余丢弃第 4 步:组装上下文 + 生成回答  将 Top 5 文档 + 问题打包发给大模型  → AI:"根据《保密协议》第 7 条,员工离职后保密义务     持续到相关信息进入公共领域为止。竞业限制期为     离职后 2 年,期间公司按月支付补偿金。"第 5 步:溯源标注  每个结论后标注来源文档名、条款号、相关段落,  确保用户可以点回去验证。

十二、RAG vs 微调(Fine-tuning)到底怎么选?

很多企业做 AI 落地时最纠结的一个问题。

微调(Fine-tuning) RAG
类比 让大模型去考医学院、考法学院——改变的是底层的知识结构和表达风格 给大模型一本《公司规章手册》——不改变模型本身,只提供实时查阅的资料
成本 高(需要标注数据 + GPU 训练) 低(建好知识库即可)
更新速度 慢(每次更新要重新训练) 快(新增/修改文档即时生效)
适用场景 培养特定领域的专家(如法律文书写作风格、医学诊断逻辑) 查阅私域文档、解决时效性问题
本质差异 改变"脑子" 提供"参考书"

结论:90% 的企业级知识库、AI 助手项目,首选且核心的技术都是 RAG。微调是 RAG 做不好时的"升级手段",不是替代方案。


十三、核心概念速查表

概念 一句话解释 类比
RAG 先查资料再回答,而不是靠脑子硬记 开卷考试
Embedding(向量化) 把文字转成一串数字,语义相近的数字也相近 给每段话拍一张"语义指纹"
Dense Embedding 固定维度、每个位置都有值的稠密向量,理解语义而非字面 给文字发一个 GPS 坐标,意思相近的靠得近
BM25 纯关键词匹配算法,按词频 + 稀有度 + 文档长度综合打分 图书管理员:知道哪些词稀有、哪些文档太长不值钱
向量检索 用数学算语义相似度来找文档 按"大概意思"搜,不是按字面搜
混合检索 BM25 + Dense Embedding 同时跑,结果融合 两条腿走路,一条看字面一条看语义
多路召回 多种检索方式并行,各路取 Top N 汇合 HR 同时用关键词筛简历、熟人推荐、猎头挖人
RRF 不看原始分数看排名,多路结果公平融合 评委打分标准不同,那就比排名不比分数
Rerank(重排) 对粗筛结果做第二轮精细打分 海选 → 复试 → 决赛
知识图谱 把知识织成"实体-关系"网,沿边游走发现关联 查族谱而不只是查字典
Local 检索 从具体实体出发,向下钻取细节 了解一个人的朋友圈
Global 检索 对全网络做社区总结,向上抽象主题 看一个组织的全景图
GraphRAG RAG + 知识图谱的结合体 既有字典,也有族谱
Matryoshka 表征学习 Embedding 维度可裁剪,前 256 维就包含主要语义 俄罗斯套娃,最外面的壳已经够用了
RAGFlow 重型文档处理 + Agent 平台,强在解析 印刷厂 + 自动化车间
LightRAG 轻量图谱 RAG 库,强在关系推理和低开销 侦探 + 瑞士军刀
Dify 完整 LLM 应用平台,强在产品化和编排 购物中心,一站式

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐