(建议收藏)转型AI应用工程师之RAG:从入门到实战
我让豆包制定了 AI Agent 应用转型系统化学习计划从大模型底层原理学起一直到 Agent Loop、工具系统、RAG、工作流、多 Agent。这么多的内容是否有已经成熟的作品供我参考呢豆包有的喏Dify慢走不谢。于是在完成分阶段体系化学习、深度拆解实践 Dify 后今天我就来梳理下如何让大模型真正具备专属的领域知识。传统搜索关键词工具人读不懂人话咱们平时用的传统搜索比如 ES本质就是个“匹配器”把你输的关键词拆吧拆吧分词和分析去数据库里扒包含这些词的内容排个序取个前排就扔给你排序召回。它只看“字面对不对”不看“意思对不对”做不到“语义搜索”。举个栗子你搜“夏天喝什么解腻”传统搜索哐哐给你甩一堆含“夏天”“解腻”“喝”的内容但你要是说 “天热不想吃油腻的喝啥舒服”本质你还是想找个解腻的饮品但关键词一换它可能给你推“天热怎么降温”——为啥因为它依靠词汇权重、词频热度进行关联判定天热的权重最高与它关联最强的词汇可不就是降温嘛它才不理解“不想吃油腻等于解腻”呢。“语义”这玩意儿太灵活了没法用简单规则判断出来只能靠庞大的训练量学出来。而这也是 AI 检索RAG算力开销更高的核心原因。什么是 RAG 检索增强生成一句话总结融合资料检索与大模型生成能力的技术架构当你给豆包模型贴一个可访问的链接很大概率地豆包能精简地返回链接的主要内容。你以为它是直接打开页面然后总结了一通nono大错特错。出于安全与合规考量这类对话模型默认不会主动访问外部链接、实时爬取网页内容。这些回答其实来自模型训练阶段学习过的公开知识信息 cutoff 可能是半年以前甚至更久这部分可以理解为模型的静态知识储备。可能有人会说国外有些模型比如 Gemini不是可以直接读取网页吗那是不是就不用 RAG 了这里其实是一个非常常见的认知误区能直接打开网页 ≠ 能替代 RAG。网页直读只能处理公开、简单的页面一旦面对海量文档、内部知识库、需要精准检索的场景直接爬取不仅效率极低还容易受限于网页长度、站点反爬、内容杂乱、安全不可控等问题既做不到精准检索也无法保证信息可靠。这种静态知识是会过时的甚至可能出错。而这正好就是 RAG 要解决的核心痛点。那到底什么是 RAG就是不让模型只靠 “旧知识” 回答而是在你提问时实时从外部文档、业务接口、专属知识库中检索最新精准内容把查到的真实可靠的信息交给模型再让它基于这些实时资料总结生成即准确、又与你的需求最相关的回答常见的豆包在回答我们的问题时会附上可溯源、可解释的来源文档与原文片段现在你再看看上面的一句话总结是不是有点明白了。实现最基础的RAG文档分块→向量嵌入→向量库检索→直接拼接上下文→LLM 生成提取出纯文本首先利用插件提取文档内容比如 python 的 Pdfplumber、Unstructured全能解析 等插件音视频类素材可借助 FFmpeg 预处理搭配 ASR 语音识别、OCR 文字识别完成文本提取。文本清洗原始文本会夹杂大量无效冗余信息需要去除停用词、同义词替换、解决乱码等这块也不用自己造轮子相应的库也非常齐全。分块这块是 RAG 的灵魂。先说最基础的方案 “gpt2 分词器 RecursiveCharacterTextSplitter”根据“换行符/段落/标点符号/空格-设置的最大长度”的优先级去切分离线、纯本地规则、速度快、能够按语义分块。但假如文本很乱很长遇到跨语义连贯内容极易丢失上下文信息。所以还有一种升级版方案 “父子分段”将文本切成「一大一小」两层先切大段的父块它完整、有丰富的上下文子块是从父块里切出来的小段。然后在检索的时候先精确地找子块命中后返回上下文完整的父块能避免断章取义、文本太零碎的问题。高级 RAG 会额外进行块筛选清洗重复、没有价值的块减小冗余。向量嵌入将分块后的文本片段通过嵌入模型转化为高维向量嵌入向量大家有时间可以去看下 Kapthy 大神的# 深入探索像ChatGPT这样的大语言模型视频开始的半小时通俗易懂地讲解了文本的语义信息是如何映射到向量空间的。简单说就是首先计算机神经网络只能识别数字向量因此需要先将 token 词元转为一个个唯一的数字 ID比如我爱大模型→ 切分成词元我|爱|大|模型→ 就是[532, 1287, 94, 7632]接着你开始想象现在有一个大礼堂有一万个座位其中 “我” 就坐在第 532 个座位当然每个座位上都坐着一个人这个人不是随便坐的他身上有 768 个维度特征标签比如身高、年龄、性格、心情等等这 768 个标签组成的一长串描述就是向量。还没完语句存在语序逻辑但模型无法自主识别我爱大模型不等于大模型爱我。所以我们给“我、爱、大、模型…… ” 每个位置也配一套 768 个数字的标记为什么还是 768因为好计算这个直接查表就行再把每个词的向量和它所在位置的向量直接相加。这样一来每个词既带着自己的意思又带着它在句子里的位置模型才能分清语序。总结就是先切碎片Token再记录特征标签Embedding再标顺序Position文本就变成了一串高维向量。要想“语义相似”的文本片段在向量空间中距离更近为后续向量库检索提供基础——本质是将“文本匹配”转化为“向量距离计算”通用 Embedding 模型榜单可以去看下 MTEB常用且开源的有 Qwen3-Embedding-8B通义千问 这些假如需要应用于专业领域需要替换对应模型常见的有医疗领域的BioBERT、法律领域的Legal-BERT等等。当然最终还是以召回等指标来评判选型。这里需要注意的点是这里用了什么向量模型那么检索的时候也要用相同的毕竟每个向量模型都有一套独属于自己的转换规则很好理解吧大家可以去这里看看向量的样子 TensorFlow Embedding Projector。向量入库文本转换为向量后需要持久化存储有 Chroma、Milvus 这些开源的向量数据库利用索引可以减少检索时的计算量。检索 前面提到向量模型在入库向量化与检索向量化时必须保持一致。将用户问题转为向量后在向量库中检索与该向量距离最近、语义最相似的文本分块核心就是通过余弦相似度计算分值越接近 1语义相似度越高。工程上通常采用多路召回策略先用 ES 做粗筛再进行向量检索做精排初筛两路兼顾检索效率与召回覆盖面。在此基础上引入 rerank重排序模型对初步召回的文本块打个分做二次精细排序进一步提升语义匹配精度解决向量检索 “相关但不精准” 的问题。开始拼接上下文按照合理的逻辑拼接成一段连贯的上下文结合用户查询问题形成 LLM 可直接处理的输入格式既要保证上下文的完整性又要避免冗余所以需要增加一些提示词优化看个例子 用户问题什么是RAG参考依据1RAGRetrieval-Augmented Generation检索增强生成是一种结合检索与生成的AI技术核心是在LLM生成回答前先从外部知识库中检索出相关的事实依据再结合依据生成准确、有支撑的回答避免LLM产生幻觉。 参考依据2RAG的核心流程包括文档分块、向量嵌入、向量库检索、上下文拼接、LLM生成五个环节其中检索环节是关键负责为生成环节提供可靠的事实支撑。请基于上述参考依据回答用户问题语言简洁明了不添加无关内容。LLM 生成模型有了参考依据终于能够生成符合用户需求、准确、连贯的回答了同时可根据需求调整回答的风格、长度这块就是温度、 top_K 等配置的调整了。最后将产出的答案整理成可读性较高的排版标上出处就可以啦。好的这就是 RAG 的完整链路嗯最基础的那种 实际上市场上的产品早已衍生出更加高阶的形态诸如 Advanced RAG、Modular RAG、Agentic RAG、Graph RAG、Multimodal RAG 等等大家有兴趣都可以了解了解。有条件的可以在 Dify 上面创建个知识库体验体验最后思考一个问题通过外部知识库能完全避免 LLM 的幻觉吗类型核心优势适用场景Naive RAG简单、低成本轻量 FAQ、原型验证Advanced RAG精度高、召回强企业文档、法律金融Hybrid RAG关键词 语义兼顾电商、技术术语、搜索Graph RAG关系推理、抗幻觉科研、知识图谱、专业行业、多跳问答Agentic RAG自主迭代、复杂任务客服代理、业务决策、多系统Multimodal RAG跨模态理解图像 / 音视频内容、工业图纸其中Agentic RAG 现在是主流并且是 2025–2026 增长最快、应用落地最多的一类。Agentic 具备工具调用、外部环境交互、自主决策的能力因此可以实现联网 RAG即判断问题是否缺实时信息 → 主动调用「联网搜索」工具 → 拿到外部实时文本 → 再做检索 生成回答。这样 RAG 就能回答最新的内容了。RAG是如何“烧算力”的在理解了 RAG 的基本流程后我们再来梳理它为什么格外消耗算力向量嵌入只要使用 Embedding 模型每一段文本都要经过一次模型推理本质上就是一次完整的模型计算。文档数量越多、内容越长计算量就越大算力消耗会显著上升。向量检索高维向量的相似度匹配属于计算密集型操作数据量越大、向量维度越高检索开销也越大。大模型生成答案拿到相关上下文后大模型进行推理生成答案本身就是典型的重算力环节。因此 RAG 相比传统检索更耗算力、成本更高、响应速度也会稍慢。但换来的是模型能真正理解语义、回答更精准可靠、不胡编乱造本质是技术效果与落地成本的权衡取舍。对RAG的误解误解真相RAG 能完全杜绝幻觉RAG 降低但不消除幻觉。知识滞后、检索错、片段不全、prompt 提示词不当、模型强行脑补依然会出现幻觉。知识库越大、内容越多效果越好重复、过时、无关、错误数据会严重干扰检索拉低相关性。RAG 追求精准专业不是大而全。部署完 项目结束不用维护了RAG 是持续迭代系统。需定期更新数据、清理失效内容、优化检索、评估效果、修正 bad case。RAG 很安全数据不会泄露若 prompt 设计不当、检索返回敏感信息、模型日志未脱敏存在泄露风险。需做权限控制、脱敏、审计RAG实战1——提高准确率我们练手的RAG本地测试效果尚可落地生产环境准确率往往不足 60%。为什么呢结合上面的内容我来说明下第一环数据处理优化10%。文档分块处理本身是全链路性价比最高的环节但很多人为了省事直接固定 token 数一刀切比如 500 切一段这很可能把一个完整的知识点、一张结构化表格、一段因果逻辑直接砍断检索的时候召回的全是碎片化的残缺信息大模型连完整上下文都看不到更谈不上能给出正确答案。工业界标准落地方案是 NLP语义感知动态切分上下文重叠窗口用专业的分句模型和文档结构解析模型精准识别句子的完整边界绝不把相同的语义拆到两个切片里同时切分时会保留 10% 左右的滑动窗口重叠token 重叠可以自行调整保证语义连贯不断层。第二环用户 query 的预处理如何防噪优化10%。真实问句有时候很简单就两三个字语义本身就模糊知识库检索困难常规处理方式是扩写同义词但扩写极容易出现幻觉原本的语义发生偏离直接降低准确率。所以必须加一个兜底机制即query 改写语义相似度校验。所有扩写改写后的问句必须先用嵌入模型计算余弦相似度确保和原问句的相似度不低于 0.85这个比通用场景黄金阈值略高的基准这样就可以从源头避免无用噪声的引入。同理本身复杂又冗余的句子也需要通过大模型改写变得更清晰、更专业。现在工业界的方案甚至会同时改写成多个相似问句综合输出即多查询生成。另外对于复杂的长文本 query还会拆解成不同的子问题逐个并行检索再综合输出。第三环混合检索与重排序这是核心10%。前文说过 RAG 方案一般是「BM25 向量语义检索」混合。BM25的打分可能是十几甚至几十普通向量检索是0到1区间维度不同。如果简单相加混合检索直接白做工业界的标准解法是用 LambdaMART 排序学习模型这个轻量模型把多路检索的特征统一映射到同一个打分维度实现真正科学的混合排序。第四环指标监控优化。数据反馈是检验准确率提升的真实依据。因为你无法确定在前三步优化后回答的质量是否让用户满意回答的内容是否来自幻觉。所以还需要依据两点①Context Recall上下文召回率和 ②Faithfulness忠实度/幻觉率。指标 ①拿人工提前标好的固定题库来评判即问题与原本答案先匹配好看 RAG 检索能不能把原文关键信息找全找得越全召回率越高注意这是检索环节。指标 ②直接把实时检索出来的 RAG 上下文当唯一依据模型回答超出 RAG 检索内容一律判定为幻觉注意这是 LLM 生成环节。指标 ③埋点收集用户打分或监测追问率/重发次数/停留时长用这些数据来反哺 RAG优化知识库。到这里准确率的优化已经做得不错能超过 85%一般在面试时考官可能会以RAG 怎么评测来问你你可以用上面的指标来归纳扩展一下还有指标 ③模型有没有回答到点上Answer Relevancy答案相关性···甚至扩展到业务层级用户满意度、人工抽检通过率、客服转人工率、用户追问率等。但生产只有你想不到没有它不会发生的再来两个面试题考考你假如排序模型耗时久又是高并发场景该怎么解决响应超时、服务雪崩的问题呢我们可以使用“策略路由”分流的方案简单的问题直接向量检索快速响应复杂的问题在首轮检索匹配度低的情况下再进行智能排序检索。RAG 效果很差如果要调优该以什么样的顺序进行把上面的问题变了个方式提问按从易到难排查文档层文档是否乱码、解析不全、内容老旧、无关垃圾数据过多分块层块太大冗余多、块太小语义断裂、无重叠导致信息截断Embedding 层模型不匹配中文、向量维度不统一、向量化精度低检索层仅向量检索无关键词补充、召回数量太少、相似度阈值不合理重排序 Rerank没做 Rerank直接用向量相似度排序噪音太多Query 层用户问句太简短、有歧义、没做问句改写和扩展Prompt 层没加约束、上下文拼接混乱、没限定 “只基于检索内容回答”LLM 层模型能力弱、上下文窗口太小、超长上下文截断关键信息。市面上很多企业做 RAG 都失败了你可以说说你的看法畅所欲言。很容易做成技术 DEMO没对应真实业务场景。需要思考到底帮谁、解决什么痛点、替代谁的工作如何推进使用使用率、覆盖率、效果需要指标监控。产品没有拆解真正的使用场景。高频问题有哪些回答要精准到什么程度能不能犯错混淆「知识库」和「业务系统」以为灌点文档就能用忽略业务是流程化、带表单、带权限、带分支逻辑的RAG 只会碎片化问答真的能撑起真实工作流吗有效的指标、和用户反馈能优化我们的知识库所以监控和埋点日志等也要设计好。速度如果你做个产品response太慢用户都走了所以要做缓存加速。RAG实战2——企业级知识库读到这里的小伙伴应该对 RAG 有了足够的了解我本次的学习项目是 Dify 平台它在RAG 工作流 企业级 LLMOps方面的能力在业界已经非常成熟。但整体项目体量过重、架构庞大部署和二次迭代成本偏高。所以我基于它的核心 RAG 架构思想自研了一个轻量化本地版 RAG 项目剥离了冗余复杂的企业级组件保留核心链路更适合本地调试、快速迭代和业务定制。这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容