【大模型】RAG工作流程

RAG 检索增强生成 完整工作流程(通俗 + 标准流程 + 拆解)

RAG = Retrieval-Augmented Generation,检索增强生成,核心:先查资料,再让大模型基于资料回答,解决大模型幻觉、知识滞后、私有数据无法使用的问题。

一、整体两大阶段

  1. 离线预处理阶段(只做一次 / 定期更新)
  2. 在线问答阶段(用户每发一次问题执行一次)

二、分步完整流程(标准 8 步)

🔹 第一阶段:离线构建知识库(数据入库)

1. 原始数据加载

读取私有文档:PDF、Word、CSV、Markdown、网页、知识库、工单、合同等非结构化 / 半结构化数据。

2. 文档解析 & 清洗

  • 解析文本:提取正文、剔除乱码、页眉页脚、水印、无效符号
  • 数据清洗:去空格、去重复、修正乱码、过滤无效内容

3. 文本分块(Chunk 切片)

大文档不能直接向量化,按固定长度 + 重叠窗口切成小段文本块(Chunk)。

目的:适配向量模型输入长度,提升检索精度。

4. 文本向量化(Embedding)

调用嵌入模型(Embedding Model),把每一段文本块转为低维向量。向量特点:语义相近的文本,向量空间距离更近。

5. 向量入库

文本块 + 对应向量 + 元数据(来源/页码/标题) 存入向量数据库。常用库:FAISS、Milvus、Chroma、Weaviate、PGVector。

到此,离线流程结束,知识库搭建完成。


🔹 第二阶段:在线问答(用户提问 → 得到答案)

6. 用户问题向量化

用户输入提问,同样用同一个 Embedding 模型转为向量。

7. 语义检索(召回相似文本)

拿着问题向量,去向量库做相似度匹配,召回 Top-N 个语义最相关的文本块。

  • 检索算法:余弦相似度、欧氏距离等
  • 可搭配关键词检索(混合检索)提升准确率

8. 拼接上下文 + 大模型生成答案

  1. 把「用户问题 + 检索到的参考文本」一起拼接成Prompt
  2. 送入大语言模型 LLM
  3. LLM 仅基于提供的参考资料作答,输出最终回答

三、极简流程图(文字版)

【离线】
原始文档 → 解析清洗 → 文本分块 → Embedding向量化 → 存入向量库

【在线】
用户提问 → 问题向量化 → 向量库检索相关文本 → 构造Prompt(问题+参考上下文) → LLM生成答案

四、补充关键优化环节(工程常用)

  1. 重排序 Rerank

    检索出多条结果后,用重排模型再次打分筛选,剔除低相关内容,减少冗余。

  2. Prompt 工程

    限定模型:仅使用给定资料回答,资料没有就说不知道,抑制幻觉。

  3. 会话记忆

    结合历史对话,实现多轮问答。

  4. 知识库增量更新

    新增文档时,重复「分块→向量化→入库」,不用全量重建。

五、技术栈参考(入门)

  • 文档加载解析:LangChain / LlamaIndex
  • 分块:内置文本分割器
  • 嵌入模型:OpenAI Embedding、通义千问 Embedding、本地 BGE/m3e
  • 向量库:Chroma(本地测试)、Milvus(生产)
  • 大模型:GPT、通义、文心、本地开源模型(Qwen/Llama)
posted @ 2026-05-27 21:32  静心笃行。  阅读(69)  评论(0)    收藏  举报