目录
1. 📄 文档预处理(Document Preprocessing)
5. 🧱 Prompt 构造器(Prompt Builder)
✅ 5. 自我反馈优化(RAG-Fusion / RAGAS)
RAG(检索增强生成)是连接 大语言模型(LLM)能力 与 外部知识源 的桥梁,是现代智能问答、企业知识搜索、个性助手背后的核心技术。
🧠 一、RAG 的核心定义
RAG(Retrieval-Augmented Generation) 是一种结合了:
-
信息检索(Retrieval)
-
语言生成(Generation)
的混合架构,让语言模型可以在回答问题时访问外部知识库,从而弥补 LLM 的知识更新滞后、记忆能力有限的问题。
🧩 二、RAG 的组成结构(模块视角)
我们可以将一个 RAG 系统拆分为以下 六大核心模块,它们构成了 RAG 知识树的“主干”:
1. 📄 文档预处理(Document Preprocessing)
-
文档切分(Chunking):按段落/语义进行切片(如500 tokens)
-
文本清洗(清除HTML、格式统一)
-
可选:结构提取(表格/代码/标题识别)
2. 🔢 向量化(Embedding)
-
使用 Embedding 模型(如 OpenAI, DashScope, BGE)将文本块转换为向量
-
保留 metadata(来源、标题、时间等)
3. 🗃️ 检索器(Retriever)
-
典型是向量数据库(如 FAISS, Weaviate, Milvus)
-
基于相似度或 Hybrid 检索(向量 + 关键词 BM25)
-
支持:Top-k、过滤条件、Re-ranking(reranker)
4. 🤖 生成器(Generator)
-
基于大语言模型(GPT、ChatGLM、Claude 等)
-
将检索结果 + 用户问题 构造成 prompt,生成最终回答
-
常见模板:
Question + Context → Answer
5. 🧱 Prompt 构造器(Prompt Builder)
-
用于构建合适格式的输入 prompt
-
支持格式化、插入参考来源、角色设定
-
模板类型:
-
Stuff(直接拼接)
-
Map-Reduce
-
Refine
-
Custom Prompt
-
6. 🧠 记忆与多轮(可选扩展)
-
多轮问答上下文管理(Chat History)
-
意图识别、话题跟踪、查询改写
-
Memory: Buffer、Summary、VectorMemory
🌿 三、RAG 的流程图(知识流程路径)
📚 四、RAG 的典型应用场景(应用枝干)
应用场景 | 说明 |
---|---|
📖 企业知识库问答 | 让员工基于内部资料问答,不用训练模型 |
🏥 医疗智能助手 | 实时引用医学文献/指南生成专业回答 |
📰 新闻摘要/引用 | 引入检索材料增强事实性,防止“幻觉” |
💬 多轮对话机器人 | 保留历史上下文 + 增强事实回答 |
🔍 法律文书分析 | 精确引用法规、判例,生成合法意见 |
🧠 个人知识库助手 | 基于 Notion、Roam、Obsidian 构建私人问答系统 |
🛠 五、常见工具栈(实现层支干)
🔧 向量数据库:
-
FAISS(轻量本地)
-
Chroma(社区活跃)
-
Weaviate、Milvus(企业级)
-
Qdrant(性能稳定)
🧠 Embedding 模型:
-
OpenAI text-embedding-3
-
阿里百炼 text-embedding-v1
-
BAAI/BGE
-
Cohere、E5
🧩 框架工具:
-
LangChain(组件齐全、生态好)
-
LlamaIndex(文档驱动、强检索)
-
Haystack(搜索引擎取向)
-
RAGAS(评估工具)
-
DSPy(程序化优化RAG)
🧭 六、RAG 的进阶方向(演化枝干)
✅ 1. Multi-Retriever(多源检索)
同时连接:向量库 + 知识图谱 + 网页 + SQL
✅ 2. Re-ranking(重排序)
使用模型(如 BGE-reranker)对 Top-k 检索结果排序
✅ 3. Query Rewriting(查询重写)
对用户提问进行增强 → 提升召回效果
✅ 4. 多文档摘要(Multi-doc QA)
支持从多篇文档中聚合信息、生成统一答案
✅ 5. 自我反馈优化(RAG-Fusion / RAGAS)
评估生成结果 + 检索质量 → 自动调整策略
🧮 七、RAG 与 Fine-tune 对比(知识融合)
项目 | RAG(检索增强) | Fine-tune(微调) |
---|---|---|
知识更新频率 | 即时更新,改文档即可 | 需重新训练模型 |
构建成本 | 较低(无需改模型) | 高(需 GPU 训练、调参) |
控制生成内容 | 可控(明确引用来源) | 难控(训练数据融入后不可拆解) |
幻觉率 | 更低,引用文档降低幻觉概率 | 相对较高(纯生成) |
使用场景 | 问答、摘要、助手、检索型系统 | 语气调优、特定领域表达、写作风格适配等 |
🧠 八、RAG 知识图谱总结图(结构导图)
RAG 知识树
├── 原理:检索 + 生成
├── 核心模块
│ ├── 文档处理
│ ├── 向量化
│ ├── 检索器
│ ├── Prompt 构造
│ ├── 生成器(LLM)
│ └── 记忆模块(可选)
├── 实现工具栈
│ ├── LangChain
│ ├── LlamaIndex
│ └── 向量数据库(FAISS/Chroma/...)
├── 应用场景
│ ├── 知识问答助手
│ ├── 企业搜索
│ └── 医疗、法律、教育等
├── 高级功能
│ ├── Query Rewriting
│ ├── Re-ranking
│ └── 多模态 RAG(图像 + 文本)
└── 演化趋势
├── 自适应反馈优化
└── 结合 LangGraph / DSPy 等流程优化