【AI】RAG的原理
目录前言一、为什么会有RAG二、RAG完整流程阶段一离线建库准备知识阶段二在线问答三、RAG和微调的区别微调Fine-tuningRAG总结前言上一篇博客中介绍了大模型的幻觉是什么以及为什么会产生幻觉而且还介绍了可以减少模型出现幻觉的方法——RAGRetrieval-Augmented Generation检索增强生成RAG的核心思想就是让大模型在回答问题之前先从外部知识库中检索信息再基于这些信息生成更准确、更可控的回答。一、为什么会有RAG要理解RAG必须要先理解普通大模型的局限。大模型的信息不是实时的模型训练完成之后它的知识基本上就冻结了如果你要问他某某公司最新公布的财报是多少不借助外部信息的情况下模型是不会知道这个内容的。大模型容易产生幻觉模型看起来回答得很自信但其实是编出来的。尤其在涉及事实性问题、专业问答、企业知识库时幻觉非常危险。有人可能会思考那我直接拿最新的企业数据进行微调不就可以解决这个问题了吗但是微调有几个问题成本高训练、更新都贵不灵活文档一更新可能就得重新训练不适合频繁变化的数据难以溯源回答来自模型参数难明确指出“答案依据哪份文档”。二、RAG完整流程一个典型的RAG系统通常分成两个阶段阶段一离线建库准备知识这个阶段的目标是把文档变成可检索的知识库。①收集数据数据来源可以是产品手册、企业内部知识库、FAQ等等。②文档切分大模型和检索系统通常不直接处理整篇长文而是把文档切成一个个小片段叫做chunk切片/文本块。为什么要切片太长不利于检索用户问题通常只对应文档中的局部内容小块更容易匹配相关问题。③向量化每个 chunk 会被送入一个Embedding 模型转换成一串向量。虽然两句话字面不一样但语义接近所以在向量空间里距离会比较近。这一步是 RAG 的关键因为后面的“检索相关内容”很多时候就是在做向量相似度搜索。④存入向量数据库为检索做准备。阶段二在线问答用户提问时系统会执行以下流程①用户输入问题比如“公司的报销流程里差旅费需要哪些凭证”②问题向量化把用户问题也通过 Embedding 模型转成向量。③检索相关文本系统去向量数据库里找“和这个问题语义最接近”的几个 chunk。例如找到《财务报销制度》第 3.2 节《差旅报销 FAQ》第 2 条《发票要求规范》第 1 页这一步叫Retrieval检索。④将检索结果和问题一起交给大模型系统会构造一个 Prompt类似这样用户问题是什么检索到的上下文有哪些要求模型只能根据提供的资料回答如果资料不足就明确说不知道。⑤大模型生成最终答案模型不再“凭空想”而是优先基于提供的资料组织答案。这一步叫Generation生成。三、RAG和微调的区别微调Fine-tuning是把新知识“写进模型参数”里。适合固定任务风格特定领域语言习惯输出格式定制分类、抽取、生成风格优化但不适合频繁更新的知识。RAG是把知识放在模型外部需要时动态取用。适合文档问答企业知识库实时更新信息需要引用来源事实准确性要求高的场景总结RAG 的核心价值在于把“大模型的语言能力”和“外部知识库的事实能力”结合起来。它不是让模型死记硬背更多知识而是让模型学会在回答前先查资料。因此RAG 特别适合知识密集、事实要求高、数据需要持续更新的场景。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2482969.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!