RAG技术入门:先查资料,再回答

RAG 技术入门:先查资料,再回答

大模型很强大,但它有一个致命缺陷:它只知道训练时学到的内容,不知道你公司的制度、产品的文档、昨天刚更新的数据。

RAG,就是来解决这个问题的。

大模型是怎么工作的

训练阶段:疯狂阅读

大模型训练是从互联网上海量文本中学习规律、知识的过程:

  • 语言规律:怎么组织句子、怎么表达才通顺
  • 世界知识:历史事件、科学常识等
  • 推理能力:因果关系、逻辑推断

推理阶段:预测下一个词

大模型本质是”文字接龙”——根据输入内容,一个字一个字往后猜下一个最可能的字。

关键点:模型的所有知识都是训练阶段灌进去的,推理时只是使用这些知识,无法获取新信息。

大模型的五大局限性

局限性 说明 示例
幻觉问题 一本正经地胡说八道 编造不存在的人物和公司
知识时效性 活在过去 不知道上周刚发布的新产品
专业深度不足 垂直领域理解不够 不知道公司特定产品信息
私有数据无法获取 无法访问内部文档 不知道公司考勤制度
黑盒不可追溯 无法提供具体出处 无法说明建议的依据

RAG 架构

概念

RAG(Retrieval-Augmented Generation,检索增强生成)由 Meta 在 2020 年提出,核心思路:让模型”先查资料,再回答”

核心流程

1
2
准备阶段(离线):Ingest → Chunk → Embed → Index
运行阶段(在线):Retrieve → Answer
阶段 步骤 说明
准备阶段 Ingest 把数据导进来
准备阶段 Chunk 把长文档切成小块
准备阶段 Embed 把文字变成向量
准备阶段 Index 存进向量数据库
运行阶段 Retrieve 检索相关内容
运行阶段 Answer 大模型生成回答

RAG 优缺点

优点:

  • 成本低,上手快
  • 知识更新方便(更新文档即可,无需重新训练)
  • 答案可追溯(告诉用户答案从哪来的)

缺点:

  • 效果看知识库质量(garbage in, garbage out)
  • 系统复杂度上升(多了检索组件)
  • 检索耗时不可忽视(影响响应速度)

RAG 实际应用场景

  1. 企业内部知识库 - 员工查询公司制度、产品手册
  2. 智能客服 - 基于产品文档回答用户问题
  3. 专业领域助手 - 法律、金融、医疗等高准确性要求场景
  4. 代码与技术文档助手 - 开发团队检索代码和 API 文档

做好 RAG 并不容易

主要难点

  1. 数据入向量库 - PDF 解析、表格提取、OCR 处理
  2. 问题重写 - 口语化展开、多轮对话补全
  3. 意图识别 - 判断是否需要走 RAG 流程
  4. 数据检索 - 混合检索、重排序、Top-K 选择
  5. 会话记忆 - 上下文压缩、长期记忆

RAG 技术全景图

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────────────────────────────────────────┐
│ RAG 系统架构 │
├──────────────┬──────────────────────────────────────┤
│ 数据准备 │ 文档解析(Tika) → 分块(Chunk) │
│ 离线阶段 │ → 向量化(Embedding) → 入库(Milvus) │
├──────────────┼──────────────────────────────────────┤
│ 查询检索 │ 问题向量化 → 混合检索 → RRF融合 │
│ 在线阶段 │ → Reranker重排 → Top-K召回 │
├──────────────┼──────────────────────────────────────┤
│ 生成回答 │ 相关文档 + 问题 → LLM → 有据可查的回答 │
└──────────────┴──────────────────────────────────────┘

后续学习路线

本系列将按以下顺序深入 RAG 各环节:

  1. Embedding 向量化 — 让计算机理解语义
  2. 向量数据库 — Milvus 的原理与实战
  3. 数据分块策略 — Chunk 的大小、重叠、分割方式
  4. 文档解析 — Apache Tika 处理 PDF/Word/Excel
  5. 元数据管理 — 引用来源与权限控制
  6. 混合检索与重排序 — 关键词 + 向量 + RRF + Reranker

相关阅读: