RAG 检索增强生成:让大模型用上你的私有知识

RAG 原理 · 搭建链路 · 切片/向量化/检索/重排 · 适用边界

核心结论:大模型记住的是训练时的公开知识,对你公司的文档、产品手册、最新政策一概不知还会瞎编。RAG 就是把「查资料」和「写答案」拆开——先检索,再生成。

一、RAG 的完整链路

  1. 入库:把文档清洗、切片(Chunk),用 Embedding 模型转成向量存入索引。
  2. 检索:用户提问同样向量化,在索引里找最相似的若干片段(Top-K)。
  3. 重排:用重排模型对候选片段精排,保留最相关的几段,过滤噪音。
  4. 生成:把问题与精选片段拼进提示词,交给大模型产出带出处的解答。

二、关键设计点

切片策略

切片大小直接影响召回质量。太大引入无关内容、太小丢失上下文。实践中按标题/段落结构切,并保持 10%-20% 重叠,是性价比最高的起点。

重排不可省

向量检索是「语义近似」,常把字面不相关但语义相关的漏掉,或召回看似相关实则无用的片段。加一层 Cross-Encoder 重排,能显著提升最终答案准确率。

可追溯与拒答

让模型标注答案出自哪段,并在检索为空时诚实回答「知识库中没有」,比强行编造更可信,也更符合合规要求。

⚠ 何时不该用 RAG:纯创意写作、开放闲聊、以及知识已固化为规则的逻辑,都不需要检索。RAG 的价值在于「基于指定事实作答」。

三、与微调的取舍

记住一句话:RAG 解决「知不知道事实」,微调解决「会不会某种风格/技能」。知识频繁更新、且必须引用内部资料的场景,RAG 几乎总是首选。

四、常见问题

向量库选哪个?初期怎么起步?

数据量小可用进程内向量;要规模化再上专用向量数据库。先把链路跑通,再谈性能。

回答还是会幻觉怎么办?

收紧提示词要求「仅基于给定片段作答」,加强重排,并对关键答案做引用校验。

Embedding 向量化入门 » · 向量数据库选型 » · 大模型选型指南 »