从零拼一个最小 RAG 问答
检索 → 拼 prompt → 生成;想做深直接跳站内 RAG 完整教程
一句话:RAG 听起来高大上,核心其实就三步——检索相关资料 → 拼进 prompt → 让模型照着答。把这三步亲手跑通,你就懂了"开卷考试"的本质;想做深,站内有完整 RAG 教程接住。 为什么需要 RAG(一句话回顾) 第 1 篇说过:模型不联网、知识会过期、不知道也会编。RAG 就是在提问前,先去外部知识库捞出相关资料,塞进上下文,让模型"照着资料答"——把闭卷考试变成开卷考试。 三步拆解 最小实现(可跑,不依赖向量库) 知识库就用几段文本;向量化用 Embedding 接口;相似度用余弦——够说明原理: 跑通后你会发现:模型不再凭空编,而是照着检索到的资料答——这就是 RAG 的全部精神。 从"能跑"到"能用",难在哪 这个 30 行版能讲清原理,但真实知识库有 5000+ 文档时,每一步都会暴露问题: 切分:文档怎么切成片段?切坏了语义就断了(站内 RAG 教程有个"核辐射条款被切散"的真实事故)。 检索:纯向量会漏掉"推销 vs 销售"这种同义词 → 要混合检索(向量 + BM25)。 重排:召回一堆,怎么把最相关的排到前面 → Cross-Encoder 精排。 评估:怎么量化"答得准不准" → 召回率 / QA 准确率。 👉 想做深,直接看站内 RAG 完整项目教程:从 67% 召回率优化到 91% 的完整链路,配 GitHub 开源代码。 常见坑 资料没提到也硬答:prompt 里必须加"没提到就说不知道",否则照样幻觉。 k 取太大:塞太多片段 → 噪声多 + 烧 token + 注意力稀释。 每次都重算知识库向量:知识库向量离线算一次存好,在线只算问题向量。 不做切分:整篇文档当一个片段,要么超长、要么粒度太粗,检索不准。 关联面试题 「RAG 的完整流程是什么?检索质量怎么优化?」 「为什么需要混合检索?向量和 BM25 各自的短板是什么?」 👉 去 题库 搜 RAG / 混合检索 / 重排 / 切分。 训练营延伸 这条线在训练营里是一个完整的商业级项目(5000+ 保险文档、多模态入库、上线与评估闭环),也是每季度结合最新热点迭代的实战项目之一。