RAG:给大模型装上一套专业参考书

通用模型只能凭训练记忆回答,遇到本单位制度、行业法规、内部流程就只能「可能、大概、建议核实」。 RAG(Retrieval-Augmented Generation,检索增强生成)把回答限定在你提供的文档内, 让答案可溯源、可更新、可审计

Retrieval Augmented Generation 91% / 83%

① 四步工作流

Step 1 · Load

文档导入

PDF / Word / TXT / Markdown / PPTX / XLSX 等格式进入知识库,系统统一解析为纯文本。

💡 质量前提:垃圾进 = 垃圾出,文档质量直接决定回答质量。
Step 2 · Chunking

切分

长文档切成小片段(Chunk)。片段太大检索噪声多,太小则语义不完整。常用 300—500 字 + 重叠窗口。

💡 项目参数:文档片段数量建议 30—50;单次上传 ≤100MB。
Step 3 · Embedding

向量化索引

嵌入模型(如 BAAI/bge-m3)把文字转成实数向量,语义相近的文本在向量空间中距离更近,写入向量库建索引。

💡 与关键词检索的区别:语义检索匹配「意思相近」,而不是字面相同。
Step 4 · Retrieve + Generate

检索 + 生成

问题同样被向量化 → 检索 Top-K 相似片段 → 拼接进提示词 → 模型基于片段生成答案并标注引用来源。

💡 这一步就是「增强」:模型不再凭记忆,而是带着资料开卷考试

② 有无知识库的差距(实测对照)

提问无知识库挂知识库
天龙屯堡始建于哪个朝代? 「可能建于明朝……但我不确定具体年份,建议查阅史料验证。」
模糊、不确定、存在编造风险
「始建于明朝洪武十四年(1381年),是明太祖朱元璋为平定云南设立的军屯据点……」
📖 附引用来源与段落位置
安顺学院的办学定位是什么? 「是一所地方本科院校,但具体定位不太清楚……」
信息不全
「定位为『地方性、应用型』本科院校,以服务地方经济社会发展为己任……」
📖 附引用来源
核心结论:知识库让 AI 从「凭记忆作答」切换为「基于文档作答」,大幅减少幻觉且答案可溯源。 项目侧同样验证:咨询响应时间从平均 15 分钟压缩至 10 秒以内

③ 本项目的 RAG 架构

知识组织:10 个一级 / 15 个二级分类

覆盖烟草专卖法规、营销管理政策、产品信息、客户服务标准、市场监管规范、证件管理流程、 物流配送规程、财务结算制度、信息系统操作、综合行政等核心业务领域。

四阶投喂法

① 原始素材收集

内部文件、政策法规、历史案例多渠道获取。

② 结构化处理

清洗、转换,形成主题分类。

③ 动态关联

建立知识条目之间的内在联系。

④ 智能增强

基于已有知识扩展案例、补充新增。

实测性能

91%
检索精确率(目标 ≥85%)
83%
检索召回率(目标 ≥80%)
≤3s
核心场景知识响应
≤10s
咨询端到端响应
关键参数:嵌入模型 BAAI/bge-m3(需先在 LM Studio / Ollama 下载, 否则创建知识库会报错);文档片段数量 30—50;可选重排模型提升检索精度;按需开启 MinerU 做文档预处理 / OCR。

④ 三代 RAG:从能用,到好用

Naive RAG

朴素 RAG

「切分 → 向量化 → Top-K 检索 → 拼提示词」的直线流程,也是本项目当前所处阶段。

  • 优点:实现简单、见效快
  • 痛点:切分破坏语义、检索召回不全、上下文冗余、无法处理多跳问题
Advanced RAG

进阶 RAG

在检索前后各加一层优化:检索前做查询改写/扩展,检索后做重排与压缩。

  • 查询改写、HyDE(先生成假设答案再检索)
  • 混合检索:BM25 关键词 + 向量语义双路召回
  • Rerank 重排模型二次排序
  • 上下文压缩与去重
Modular / Agentic RAG

模块化与智能体化

把检索变成可编排的能力:路由、多跳、自我纠错,由智能体决定「查不查、查哪里、查几次」。

  • 路由:按问题类型选择不同知识源
  • 多跳检索:先检索 A,据结果再检索 B
  • 自我纠错:置信度低时自动改写重查
  • GraphRAG:用知识图谱补上跨文档关系

⑤ 可落地改进清单(按性价比排序)

改进项解决什么做法成本预期收益
混合检索 纯向量检索对专有名词、条款编号召回差 BM25 与向量双路召回后融合(RRF) 召回率提升最明显,优先做
重排 Rerank Top-K 里混进弱相关片段,稀释上下文 检索 Top-50 → 重排取 Top-5 再送入模型 精确率与答案忠实度同步提升
查询改写 / HyDE 用户提问口语化,与文档表述不匹配 先让模型生成规范查询或假设答案,再检索 模糊查询场景召回显著改善
语义切分 固定长度切分切断条款、表格与上下文 按标题层级 / 句号 + 重叠窗口,保留来源与页码 减少「答非所问」与断章取义
强制引用与拒答 模型绕过资料自由发挥 提示词约束:无依据即回答「资料未提及」并标注 [n]极低 合规场景的刚需,审计可追溯
评测集与回归 改了参数说不清是好是坏 建 50—100 条问答对,定期跑精确率/召回率/忠实度 把「玄学调参」变成可度量迭代
GraphRAG 跨文档的多跳关系问题(A 与 B 的关联) 抽取实体关系建图,图上检索再生成 适合法规体系、案例库等强关联场景
Agentic 路由 不同类型问题混在一个库里互相干扰 按问题路由到不同知识源/工具,必要时多跳 复杂业务流程的终局形态

⑥ 现场演示:浏览器内检索(无需模型)

TF-IDF + 余弦相似度,全在前端计算

输入一个问题,观察检索命中的片段与相似度分数——这就是 RAG 里「R」的部分, 后面「G」只是把命中片段交给模型写成通顺答案。

口径说明:为做到零后端,本演示用 TF-IDF + 余弦相似度 + 短语加权近似语义检索, 与生产环境的 bge-m3 稠密向量检索存在差距——尤其是对同义改写与长句语义的召回。 生产部署请按「部署流程」接入嵌入模型与向量库。