十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

超硬核!手把手带你拆解RAG(检索增强生成):像“开卷考试”一样解决AI胡说八道

超硬核!手把手带你拆解RAG(检索增强生成):像“开卷考试”一样解决AI胡说八道 一、先聊点扎心的为什么AI总是“一本正经地胡说八道”你有没有遇到过这种情况你问ChatGPT“我昨天中午在公司食堂吃的红烧肉具体多少钱一碗”它可能会编一个“大概15块吧。”实际上食堂根本不做红烧肉就算做它也不可能知道。为什么会这样因为大语言模型LLM就像一个记忆力超群但记忆力截止日期固定的“超级学霸”。它只记得“上学时训练时”学过的课本知识。你问它昨天发生的事、公司内部机密、最新的政策文件它只能靠瞎蒙这就是AI圈臭名昭著的“幻觉”问题。那咋办有人说了“简单啊我把公司几百页的文档全塞给AI不就行了”这就引出了第二个大坑——AI的“脑子上下文窗口”装不下。就算最新的模型能装下几百万字价格贵得离谱按字数收费而且反应慢得像蜗牛。于是为了解决“记不住”和“装不下”的难题RAG检索增强生成技术闪亮登场二、RAG到底是什么一个“开卷考试”的故事想象一下这个场景明天要闭卷考《中国近代史》你只能靠脑子里死记硬背的东西答题考不过就是考不过这就好比纯大模型。但如果明天是开卷考呢老师允许你带整本历史书进去翻。可问题来了考试时间只有1小时你哪有时间从头翻到尾RAG 就是那个“最聪明的监考老师学霸同桌”考试前这位同桌提前把历史书做成了超详细的“关键词索引目录”这就是索引过程。考试时你看到题目问“辛亥革命的意义”。同桌立刻根据关键词以光速翻到书中那几页撕下来召回递给你。你拿着这几页纸结合自己的语言工工整整地把答案抄/写在卷子上这就是生成过程。结论RAG的本质 给AI外挂了一个“随时可更新的百度网盘”需要什么资料现搜现用三、拆解RAG全流程超详细图解版RAG的流程分成两大部分赛前准备离线阶段和正式比赛在线阶段。第一部分赛前准备先把知识库“腌入味”这一步发生在用户提问之前我们得把公司所有的文档Word、PDF、TXT、网页都扔进一个“加工厂”。第1步文档清洗与分片Chunking——把大骨头剁成肉馅你不可能把一整头牛一本50万字的书直接塞进锅里煮。你得把它切成小块Chunk。怎么切是个技术活按标点符号切遇到句号、问号就切断。简单但可能把上下关联的对话切断。按固定字数切比如每500个字一刀切。粗暴但可能把一句话拦腰斩断。按语义切高级利用AI模型判断哪里是章节结束、哪里是段落结束。最精准推荐。切多大最好切得太小如50字上下文不完整AI看不懂前因后果。切得太大如2000字检索出来太占AI脑子上下文窗口费钱费时。行业默认黄金值256~512个Token大概200~400个汉字最稳妥。第2步向量化与索引Embedding Indexing——给每块肉贴上“经纬度坐标”切好的文字是“人类语言”电脑看不懂电脑只认数字向量。什么是向量Embedding你可以把一段文字比如“苹果很好吃”通过一个Embedding模型变成一串密密麻麻的小数比如[0.12, -0.54, 0.87 ... 0.01]通常有几百到几千个维度。神奇之处在于在数学的多维空间里意思相近的句子它们的向量坐标离得特别近“我喜欢吃苹果” 和 “苹果味道不错” 的向量挨得很近。“我喜欢吃苹果” 和 “今天天气真差” 的向量离得十万八千里。存入向量数据库我们把“文本原文”和“文本对应的那串向量数字”捆绑在一起存进一个专门的仓库——向量数据库比如 Pinecone, Milvus, Chroma。这一步就叫“建索引”。第二部分正式问答用户发起提问现在用户来敲门了他问“苹果为什么能帮助减肥”第3步召回/检索Retrieval——从大海里捞针要快系统先把用户的问题“苹果为什么能帮助减肥”也扔进刚才那个同样的Embedding模型转换成问题向量。然后拿着这个问题向量冲进向量数据库里大喊一声“谁跟我长得最像余弦相似度最高快出来”数据库瞬间把仓库里成百上千万的向量算一遍相似度闪电般抓出前20个最像的文本片段比如抓到了“苹果富含果胶”、“果胶增加饱腹感”、“苹果热量低”等。特点这一步要极快哪怕不太准也没关系主打一个“粗筛”。第4步重排Reranking——把20个候选人里挑出“三好学生”要准为什么要有这一步因为第3步的向量检索有时候会犯傻。比如它可能抓出来一段“苹果手机电池寿命”因为里面也有“苹果”两个字向量有点像。召回是“海选”选20个漂亮的。重排是“决赛”用更精细的重排模型Cross-Encoder把20个候选片段两两与问题做深度对比。这个重排模型计算量巨大但准确率极高。它会把20个片段重新打分排序最后只留下最最相关的几个片段比如只留下关于“食物苹果”的内容扔掉“手机苹果”。为什么要费两道劲因为如果直接用重排模型去数据库里搜几百万条数据电脑会直接烧掉太慢了。所以策略是召回跑得快粗筛重排看得准精筛两者结合天下无敌第5步生成Generation——AI动笔写答案输出此时我们手里有用户的原问题“苹果为什么能帮助减肥”重排后的精选资料几段和问题最相关的原文比如“苹果含果胶占XX%”、“果胶可抑制食欲长达3小时”。我们把上面两样东西塞进一个提示词模板Prompt Template里变成这样的一段话发给大模型如GPT-4“【参考上下文】\n1. 苹果中富含的果胶遇水会膨胀占据胃部空间产生饱腹感。\n2. 苹果热量极低每100克仅含52大卡。\n...\n【问题】苹果为什么能帮助减肥\n【要求】请严格基于参考上下文回答不要添加自己幻想的内容。”大模型看完这段提示词后就不会乱编了它就像一个优秀的“总结员”把3段话归纳成一段通顺、流畅的答案“苹果能帮助减肥主要是因为其富含的果胶能增强饱腹感且本身热量极低……”四、一张图总结 RAG 全链路【离线准备花钱建仓库】 老板扔来10000份PDF ↓ 1. 切分把文档剁成200字一块的小碎片 ↓ 2. 向量化把小碎片转成数学坐标 存入向量数据库建索引 ↓ 【在线问答实时查资料】 用户提问“AI是什么” ↓ 3. 召回把问题也转成坐标瞬间去库里捞 20 个最接近的小碎片→ 速度快但精度一般 ↓ 4. 重排用更精细的模型从20个里挑出最准的 3 个小碎片→ 速度慢但精度极高 ↓ 5. 生成把“3个小碎片原文 用户问题”一起发给大模型 ↓ 输出最终答案“AI是人工智能它通过……”五、关于RAG你还必须知道的3个“潜规则”重排不是必须的但强烈建议加如果你的资料库很小只有几十份文档召回直接拿前3个可能也够用。但如果资料库很大不加重排答案质量会直线下降。分片大小是“玄学”切大了检索精确度下降混入无关词切小了语义不完整只说苹果好吃没说为什么。通常需要根据你的文档类型代码、小说、合同反复测试才能定下来。RAG不能解决数学推理问题RAG只能帮你“找资料”不能帮你“解微积分”。如果问“11等于几”RAG是搜不到资料的这时候还得靠大模型自己的逻辑能力。六、写在最后RAG 技术本质上就是“搜索引擎查资料” “大模型写作文”的强力组合。它的核心优势知识库随时可更新不用重新训练AI、杜绝胡说八道有原文可查、成本低廉只传几页资料不传整本书。它能做什么企业智能客服、个人第二大脑记下你所有笔记让AI问答、帮你读超长论文。
返回列表