【RAG扫盲系列1】RAG基础认知
一、检索增强生成RAG前言1. LLM的缺陷分析试想这样一个例子有人问了你这样一个问题木星有多少颗卫星可能你之前曾经看到过有人说木星有92颗卫星于是你就自信地回答说92颗。但实际上当你上网一搜被网上众多消息迷住眼睛看得头晕眼花最后勉强确定最新消息说木星有95颗卫星你知道的92颗卫星已经是过时的消息了。这种情况也出现在大模型身上。大语言模型LLM, Large Language Model在近几年展现了惊人的语言理解与生成能力但它们并非完美无缺。它们也会和人类犯一样的错误。比如说它们的知识库里的信息是过时的但它们并不知道就会自信地告诉你一个错误的、过时的答案。再比如说它们可能干脆就不知道答案但是以为自己知道于是自信地编出一个驴唇不对马嘴的答案。继续比如说这些答案它们说不出一个具体的来源甚至当你给它一大段信息让它阅读并回答时它也很难给出一个确定的答案就像你也不知道你知道的“木星有92颗卫星”是从哪里看到的、搜索起来也很费劲一样。总的来说大语言模型有以下局限性局限解释知识时效性不足LLM 的知识来自训练语料通常存在时间“冻结点”无法自动更新幻觉问题Hallucination模型可能生成看似合理但事实错误的内容缺乏可控性模型回答往往是“黑箱式”的难以保证引用来源或解释推理过程上下文窗口限制输入长度有限难以直接处理大规模文档或数据库因此单纯依赖大语言模型并不足以满足高可靠性场景的需求。我们需要一种方法既能发挥 LLM 的语言生成能力又能引入外部的、可更新的知识库来弥补它的不足——这就是 检索增强生成RAG 出现的背景。2. RAG的定义检索增强生成Retrieval-Augmented Generation, RAG是一种结合信息检索与文本生成的混合范式。其核心思想是检索从外部知识库文档、数据库、向量库等中找到与用户问题相关的内容。增强将检索到的内容作为额外上下文拼接到提示词中。生成LLM 在增强后的上下文基础上生成答案。这样RAG 既能利用 LLM 的语言生成能力又能借助外部知识库保证答案的准确性、时效性和可解释性。3. RAG的三大范式RAG 的发展大致可以分为三个层次或范式范式核心特征优点局限Naive RAG简单检索 拼接上下文实现容易适合做原型初步模型检索粗糙易受噪声干扰Advanced RAG引入重排序、过滤、动态上下文选择提高相关性与答案质量架构更复杂需额外计算Agentic RAG多智能体协作带推理链与任务分解可处理复杂问题具备自适应能力设计难度高计算开销大4. Prompt 工程 vs RAG vs Fine-tuning除了 RAG 之外提升大语言模型能力的常见手段还包括Prompt 工程和Fine-tuning。三者在原理、成本和适用场景上各有不同。先前的文章里介绍过Prompt工程此处不再赘述只简单介绍Fine-tuning。Fine-tuning是在预训练模型基础上用特定领域数据继续训练让模型更适应某个任务或领域。可以理解为让一个刚毕业的高中生选择某个专业如医学然后进行学习训练最终成为专业的医生。接下来我们将比较这三者的差别。方法是否改动模型成本知识更新优势局限典型场景Prompt 工程❌ 不改动低无法更新知识简单灵活快速试验效果不稳定难以解决知识缺失原型验证、轻量级应用RAG❌ 不改动中更新知识库即可时效性强可解释性好依赖检索质量架构更复杂企业知识库问答、科研助手Fine-tuning✅ 改动高需重新训练针对性强性能提升大成本高更新慢专业化任务法律、医疗、金融 选择 Prompt 工程、RAG 还是 Fine-tuning取决于你的任务复杂度、数据可控性和资源预算。一般建议轻量任务优先 Prompt 工程知识密集型任务用 RAG高精度定制任务考虑 Fine-tuning。二、Naive RAG Pipeline在上一节中我们介绍了 RAGRetrieval-Augmented Generation的基本概念和三大范式。现在我们将从最基础的 Naive RAG Pipeline 开始手把手带你构建一个最小可用的 RAG 系统帮助大语言模型“读懂”你的知识库并基于外部文档回答问题。我们可以将 Naive RAG 的核心流程拆解为四个步骤准备目标文档Load收集你希望大模型“参考”的资料比如产品手册、论文、FAQ 等并导入大模型。文档切片Split将长文档切成小块chunk便于后续处理。向量化Embed Store将每个文本块转化为向量embedding存入向量数据库。问答检索Query用户提问时从向量库中找出最相关的文本块拼接到 Prompt 中交给大模型生成答案。接下来我们将详细拆解步骤。1. 知识库构建1文档加载与摄取第一步是将你的原始资料导入系统。常见的文档来源包括PDF、Word、Markdown、TXT 等本地文件网页内容通过爬虫或 API 抓取数据库或企业知识库导出内容PS常用工具langchain.document_loaders支持多种格式的文档加载器PyMuPDF、pdfplumber用于解析 PDFBeautifulSoup用于解析 HTML 网页from langchain.document_loaders import PyMuPDFLoader loader PyMuPDFLoader(example.pdf) docs loader.load()2 文档分块策略大语言模型的输入长度有限如 4K、8K、32K tokens所以我们需要将长文档切分成更小的“语义单元”每个单元称为一个chunk。常见分块策略按段落/句子/章节切分每段/句/章为一个 chunk适合结构清晰的文档。固定长度滑窗每 N 个 token 为一个 chunk支持重叠overlap以保留上下文。按语义切分使用句法分析或语义边界进行智能切分如 NLTK、spaCy。示例代码固定长度切分from langchain.text_splitter import RecursiveCharacterTextSplitter splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap100) chunks splitter.split_documents(docs)2. 索引向量化1Embedding向量化什么是向量化向量化Embedding是将文本转化为多维空间中的向量表示使得语义相近的文本在向量空间中距离更近。这样我们就可以用“找最近的向量”来实现语义检索。向量化实践使用API向量化如OpenAIfrom langchain.embeddings import OpenAIEmbeddings embedding_model OpenAIEmbeddings() vectors embedding_model.embed_documents([chunk.page_content for chunk in chunks])本地部署向量模型如Ollama Instractor如果你希望在本地运行向量模型例如在隐私敏感场景可以使用 Ollama instructor-embedding 模型ollama run nomic-embed-text然后通过 HTTP 请求或 Langchain 的 HuggingFaceEmbeddings 接口调用本地服务。2向量间的相似度计算当用户提问时我们会将问题也向量化然后与知识库中的所有向量进行相似度计算找出最相关的几个 chunk。常见相似度指标指标公式特点余弦相似度$$\cos(\theta) \frac{\vec{A} \cdot \vec{B}}{|\vec{A}| |\vec{B}|}$$衡量方向相似度常用于文本欧氏距离L2$$L_2(A, B) \sqrt{\sum_{i1}^{n} (a_i - b_i)^2}$$衡量距离远近受向量长度影响较大实际使用中向量数据库通常默认使用余弦相似度。3Indexing构建向量索引为了加速向量检索我们需要将向量存入一个支持高效相似度搜索的数据库称为向量数据库Vector DB。主流向量数据库功能对比向量数据库特点是否开源适合场景FAISSFacebook 开源轻量、快速✅本地开发、原型验证Milvus分布式、支持亿级数据✅企业级部署Weaviate内建 REST API支持多模态✅快速集成、云部署Pinecone托管服务免运维❌商业化应用快速上线如何选型向量数据库需求选择本地开发FAISS、Chroma需要 REST API / 多语言支持Weaviate大规模部署Milvus、Qdrant不想自己运维Pinecone、Zilliz Cloud三、常见误区小节❌ “我是不是要先训练一个模型才能用 RAG” → 不需要RAG 是无模型改动的增强方式。❌ “我是不是要把所有文档都一次性向量化” → 可以分批处理支持增量更新。❌ “向量越多越好” → 不一定质量比数量更重要太多会影响检索效率。本篇内容聚焦于 RAG 的原理与流程帮助你建立清晰的认知框架。下一篇我们将动手搭建一个最小可运行的 RAG 系统从环境配置到代码实现一步步带你跑通整个流程。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2025 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容2025 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”