AI大模型小白手册 | RAG进阶:从胡说八道到引经据典

张开发
2026/4/8 10:07:23 15 分钟阅读

分享文章

AI大模型小白手册 | RAG进阶:从胡说八道到引经据典
这篇我们将深入 RAG 的核心从最基础的 Native RAG 开始逐步进阶到 GraphRAG 和 RAFT看看如何把一个“半吊子”变成“专家”。大模型系列系列目录持续更新AI大模型小白手册基础原理篇AI大模型小白手册 | API调用的魔法指南AI大模型小白手册如何像工程师一样写PromptAI大模型小白手册Embedding 与向量数据库AI大模型小白手册 | RAG技术与应用一、Native RAGRAG 系统的标准流程虽然我们在第一篇提到过 RAG但为了进阶我们需要更细致地审视 Native RAG原生 RAG 的每一个毛孔。它是所有高级 RAG 的基石。以发生的“OpenAI CEO 山姆·阿尔特曼被解雇又复职”这一热点事件为例Native RAG 的运作流程如下1.1 Native RAG的步骤1.1.1Input输入用户提出一个问题Query例如“如何评价 OpenAI 首席执行官山姆·阿尔特曼在三天内被董事会突然解雇随后又被公司重新聘回这简直像现实版的《权力的游戏》。”这个查询是整个流程的起点。1.2.2Indexing索引阶段——预处理知识库这是系统部署前完成的离线过程用于构建可检索的知识库。文档Documents原始文本数据如新闻报道、维基百科条目、公司公告、技术博客等。分块Chunking将长文章切分成较小的语义段落。例如一篇关于 OpenAI 人事变动的长文被切分为多个包含关键信息的段落。嵌入Embeddings使用中文嵌入模型如 BGE、text2vec 等将每个段落转换为向量。存储Storage将这些向量存入向量数据库如 Milvus、FAISS 或阿里云 OpenSearch支持高效语义检索。 目标建立一个结构化的中文知识库让系统能根据语义快速找到与问题相关的资料。1.2.3Retrieval检索阶段当用户提问时系统执行以下操作将用户的 中文问题 转换为嵌入向量。在向量数据库中查找语义最相近的几个文档片段。返回最相关的若干个中文段落。 示例用户问“阿尔特曼为何被解雇又复职”检索出的相关段落可能包括“OpenAI 宣布山姆·阿尔特曼回归担任 CEO此前他因与董事会在公司发展方向上存在分歧而被解雇。”“多位高管和员工联名要求董事会恢复阿尔特曼职务否则将集体离职。”“微软介入协调后双方达成和解阿尔特曼重返 OpenAI。”这一步确保大模型能基于真实、最新的中文信息作答。1.2.4.Generation生成阶段大语言模型如通义千问、ChatGLM、文心一言等接收增强后的提示进行回答。带 RAG 的提示构造示例问题如何评价 OpenAI 首席执行官山姆·阿尔特曼在三天内被董事会突然解雇随后又被公司重新聘回 请根据以下信息回答 【段落1】OpenAI 宣布山姆·阿尔特曼回归担任 CEO此前他因与董事会在公司发展方向上存在分歧而被解雇。 【段落2】多位高管和员工联名要求董事会恢复阿尔特曼职务否则将集体离职。 【段落3】微软介入协调后双方达成和解阿尔特曼重返 OpenAI。生成的回答可能为“这一事件反映出 OpenAI 内部在公司战略方向上存在严重分歧。董事会最初试图推动更注重安全性的路线而阿尔特曼则主张加速产品迭代。员工的大规模抗议和微软的介入最终促使双方妥协凸显了科技公司治理中创始人、董事会与核心团队之间的复杂权力博弈。”1.2.5.对比有 RAG vs 无 RAG场景输出结果❌ 无 RAG“我无法评论近期事件……我的训练数据截止到 2024 年不了解此事。” → 模型缺乏最新信息只能回避。✅ 有 RAG基于检索到的真实新闻分析事件背后的公司治理、员工影响力和外部资本作用。 → 回答具体、有依据、时效性强。二、RAG召回:为什么你的 RAG 查不准在 Native RAG 中召回Retrieval是第一步也是最关键的一步。业内有一句行话“Garbage in, Garbage out”垃圾进垃圾出。1.1 通俗理解想象你问一个问题“如何防止大模型产生幻觉”RAG系统不会直接让大模型凭空回答而是先派一个“图书管理员”即召回模块去你的公司知识库、技术文档、维基百科等“图书馆”里快速翻找和这个问题最相关的几段文字比如“RAG原理介绍”“幻觉缓解方案”等。这些被找出来的文字就是“召回结果”之后才会交给大模型让它基于这些真实资料来生成答案。所以召回做得好 → 找到的资料准、全 → 大模型答得对召回做得差 → 找到一堆无关内容 → “垃圾进垃圾出”哪怕大模型再强也白搭。2.2 召回的核心目标精准性返回的内容必须和问题高度相关全面性不能漏掉关键信息高召回率效率在毫秒级内完成尤其面对百万级文档库适配生成召回的片段要能直接用于大模型生成答案不能太碎或太冗长。2.3 常见召回策略2.3.1 多路召回Multi-path Retrieval同时用多种方法找资料比如向量检索语义相似关键词检索BM25图谱检索基于实体关系假设性文档嵌入HyDE2.3.2 查询优化Query Rewriting用户问得模糊系统自动改写问题比如“怎么提速” → “如何提高深度学习模型训练速度”生成多个语义等价的查询变体扩大搜索覆盖面。2.3.3 Small-to-Big 召回先用小文本块做高精度向量匹配再映射回原始大段落兼顾检索精度和上下文完整性。2.3.4 重排序Rerank初步召回几十条后用更强的交叉编码模型如 BGE-Reranker精细打分把最相关的前3~5条喂给大模型。2.4 总结一句话RAG 中的“召回”就是为大模型精准投喂“弹药”——找对了资料答案自然靠谱找错了再强的模型也会“胡说八道”。如果你正在搭建 RAG 系统80% 的优化精力应该花在召回阶段。三、GraphRAG:解决复杂推理的神器GraphRAG是对传统 RAGRetrieval-Augmented Generation 的一种重要升级其核心思想是不仅利用原始文本片段进行检索更通过构建知识图谱Knowledge Graph来捕捉实体、关系和高阶语义结构从而实现更精准、更连贯、更具推理能力的问答与生成。3.1 通俗理解GraphRAG RAG 知识图谱Graph-based Knowledge Representation它把文档中的信息“结构化”成图用图的拓扑关系辅助检索与生成。3.2 为什么需要 GraphRAG什么时候需要 GraphRAGNative RAG 擅长回答“是什么”What但面对“为什么”Why和复杂的关联关系时往往力不从心。场景如果用户问“OpenAI 的这次动荡对微软的股价有什么间接影响”Native RAG 的困境文档里可能有“A 阿尔特曼被开除”和“B 微软是 OpenAI 投资者”两个片段但它们是孤立的。模型很难把这两块孤立的碎片拼凑起来推理。问题传统 RAG 的短板缺乏全局视角只能基于局部文本片段回答看不到跨文档的关联难以处理复杂推理比如“公司A收购了BB的CEO是谁”需要多跳推理语义碎片化文本块彼此孤立无法体现“苹果水果” vs “Apple公司”的区别召回依赖表面相似性向量检索可能漏掉逻辑相关但词汇不同的内容GraphRAG 的解法构建知识图谱将文档转化为“节点”和“边”。例如[山姆·阿尔特曼] --(任职于)-- [OpenAI] --(投资)-- [微软]。图遍历当用户提问时系统不仅看文本相似度还看图谱中的路径。它能发现“阿尔特曼”到“微软”之间隔着两跳关系。生成模型基于这张“关系网”生成答案逻辑更连贯。3.3 GraphRAG 的核心思想从原始文档中抽取结构化知识识别实体人、组织、地点、概念等抽取关系“任职于”、“位于”、“导致”等构建知识图谱节点实体边关系在图上进行“图感知”的检索不只是找相似句子而是找相关实体及其邻居子图支持多跳推理例如A → 关联 B → 关联 C将子图信息作为上下文输入大模型把图结构或图摘要转换为自然语言提示大模型基于结构化非结构化信息生成答案四、RAFT训练一个“听话”的 AI4.1 先理解两个关键词1.微调Fine-Tuning大模型比如你听说过的 ChatGPT、Qwen 等一开始是在大量通用数据上训练的。如果你想让它在某个特定任务比如医疗问答、法律咨询上表现更好就需要用这个领域的数据对它进行“微调”——就像给一个已经会说话的学生再专门教他医学术语一样。2.检索增强Retrieval-Augmented检索 查找相关资料。比如你问“新冠疫苗有哪些副作用”系统先去数据库里找出和这个问题最相关的几篇医学文章。增强 把这些查到的信息“喂”给大模型帮助它生成更准确、有依据的回答。4.2 那 RAFT 是什么RAFT 在微调的时候也加入“检索到的信息”来训练模型。传统微调只给模型“问题 → 正确答案”这样的数据对。RAFT 微调给模型“问题 检索到的相关文档 → 正确答案”。这样做的好处是模型学会依赖外部知识而不是死记硬背训练数据。回答更准确、可溯源因为参考了真实文档。减少“胡说八道”幻觉问题。4.3 RAG VS RAFTRAFT 和 RAG 看起来确实很像你的感觉很正常因为它们都做了“检索 生成”这件事。但关键区别在于模型有没有在训练阶段“学会怎么用检索到的信息”。我们用一个生活化的比喻来帮你彻底搞清楚 假设你要教一个孩子回答这样的问题问题企鹅会飞吗正确答案不会企鹅是鸟类但不会飞。4.3.1 情况一RAGRetrieval-Augmented Generation你不专门训练孩子只是每次他遇到问题时你递给他一本百科全书并说“答案在这本书第23页你自己看然后回答。”孩子可能能找到关键句子 → 答对 ✅找错了段落、或看不懂 → 答错 ❌甚至直接忽略书凭记忆瞎猜比如他说“鸟都会飞”→ 幻觉 RAG 的核心模型本身没变只是“临时给它查资料”。它没学过如何可靠地使用这些资料。4.3.2 情况二RAFTRetrieval-Augmented Fine-Tuning你提前训练孩子很多次每次给他一个问题 一段相关的百科文字然后教他“你要根据这段文字来回答不能自己编”经过反复练习孩子学会了只相信给的材料忽略自己错误的常识比如“鸟都会飞”从文本中提取关键信息作答RAFT 的核心模型被专门训练过知道“我必须依据检索到的文档来回答”而不是靠内部记忆。4.3.3 对比表方面RAGRAFT是否微调模型❌ 不微调用原始大模型✅ 微调教模型怎么用检索结果模型是否“信任”检索内容不一定可能忽略或误解学会了优先依赖检索内容抗幻觉能力一般尤其当检索结果复杂时更强因为训练时就被约束适用场景快速部署、通用问答高精度领域如医疗、法律实现成本低只需加个检索模块高需要标注数据 训练4.3.4 举个容易出错的例子问题青霉素是谁发现的正确答案亚历山大·弗莱明1928年但假设检索系统不小心返回了一段错误文档比如“居里夫人在1920年发现了青霉素。”RAG 模型可能直接照着错误文档说“居里夫人”或者和自己记忆冲突后胡乱综合 → 容易出错。RAFT 模型虽然也会受错误文档影响但它更倾向于忠实复述检索内容这是训练目标反而行为更可预测而且如果训练数据里有“如何处理矛盾信息”的例子它还能学会质疑。当然两者都依赖检索质量——垃圾进垃圾出GIGO。但 RAFT 让模型“更听话、更守规矩”。4.3.5 总结RAG 是“边用边查”RAFT 是“先教会它怎么查、怎么用再让它去用”。就像一个是临时抱佛脚的考生另一个是经过专项训练的答题高手。五、结语你的 RAG 进阶路线图总结一下构建一个强大的 RAG 应用你可以按照以下路径升级起步Native RAG向量数据库 大模型。优化加入 Rerank 模型解决 80% 的查不准问题。攻坚如果是复杂关系难题 →→ 上 GraphRAG。如果是严肃专业领域 →→ 上 RAFT。学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。一、全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取二、640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示​因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取三、AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型如GPT-3、BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取四、AI大模型商业化落地方案作为普通人入局大模型时代需要持续学习和实践不断提高自己的技能和认知水平同时也需要有责任感和伦理意识为人工智能的健康发展贡献力量。

更多文章