🔍 RAG 检索增强生成

RAG 是当前解决大模型三大短板——知识过时、知识库受限、幻觉乱编——最实用、成本最低的方案。核心思想:不改变模型本身,给它配一个"外挂资料库"。

🎯 RAG 解决什么问题?

问题表现根因
知识过时问"今天有什么新闻"回答 2023 年的事训练数据有截止日期
知识库受限问公司内部文档,完全不知道私有数据不在训练集里
幻觉乱编一本正经地胡说八道模型本质是概率预测,不是知识检索

RAG 的解法:不给模型口头承诺,把真实资料原文塞进提示词,让它"照本宣科"。

🔄 完整四步流程

1. 文档预处理
切片·清洗
2. 向量化入库
Embedding·存储
3. 语义检索
相似度匹配
4. 上下文拼接
LLM 生成答案

1. 文档预处理

原文档(50 页 PDF)
    ↓ 文本提取 + 切片(chunk_size=512, chunk_overlap=50)
[块1] [块2] [块3] ... [块N]
    ↓ 去除空行、特殊字符、无意义短块
干净的知识片段

2. 向量化入库

文本块 Embedding 模型
text-embedding-3 / BGE
向量
[0.23, -0.45, 0.89,…]
向量数据库
Qdrant / Milvus

3. 语义检索

用户问题:"公司去年营收多少?"
    ↓ Embedding → 问题向量
在向量库中计算余弦相似度
    ↓
[块47: 0.91] [块12: 0.78] [块89: 0.65]
    ↓ 取 Top-K (通常 3~10)
最相关的文档片段

4. 上下文拼接 & 生成

System Prompt:
"请只根据以下资料回答,如无答案请说'未找到'。

【参考资料】
{检索到的 Top-K 文本块}

【用户问题】
{用户原始问题}" → LLM → 有据可查的答案

💎 RAG 的核心价值

价值说明
💰 低成本不用微调大模型,外挂知识库即可
🔒 数据安全全部私有资料,数据不外泄
✅ 杜绝幻觉答案有据可查,可追溯来源
🔄 实时更新随时更新知识库,不用重新训练

⚠️ RAG 的短板

短板说明应对
无语义逻辑只能做相似匹配,不懂因果搭配图数据库(Neo4j)
切片信息断裂切割可能破坏上下文优化切片策略
检索精度瓶颈纯向量相似 ≠ 真正相关Reranker + 混合检索
复杂推理乏力多步推理需多次检索Agent + 多轮 RAG

📈 RAG 的进阶路线

L1

朴素 RAG

切片→向量→检索→回答
FAQ、文档问答

L2

高级 RAG

+Reranker+混合检索
企业知识库、客服

L3

GraphRAG

+Neo4j 图数据库
知识图谱、风控溯源

L4

Agentic RAG

+Agent + 工具调用
研究助手、深度问答

🔧 工具链子页面

🗂️ Qdrant 向量数据库

RAG 的地基——轻量高性能向量数据库。文本→Embedding→向量存储→语义检索。含 Python 代码示例。

🕸️ Neo4j 图数据库

节点 + 关系 + 属性——储存逻辑脉络而非数据罗列。Cypher 查询语法 + 知识图谱构建。

⚖️ 向量库 vs 图库 全方位对比

普通 RAG 只用向量库,高阶智能 RAG 必须向量库+图库联动。含决策指南和 GraphRAG 架构。

💭 我的理解

RAG 的优雅之处在于它的务实——不追求从根本上"修复"大模型的幻觉问题,而是用一个外挂系统绕过去。就像一个人不可能记住所有知识,但只要有个好图书馆和检索能力,就能回答大部分问题。

但 RAG 不是银弹。真正深度的理解和推理,是 RAG + LLM + Knowledge Graph 三者共振的结果。

📚 参考

路线图总览 🗂️ Qdrant 🕸️ Neo4j ⚖️ 向量 vs 图