TwKit
正在载入
TwKit

讲讲什么是 RAG,以及 RAG 是怎么工作的 平时我们在用AI的时候给它一个问题,通常会直接传给大模型。大模型会根据自身的训练结果和联网搜索到的资料,给出… · @kafkaup · TwKit

@kafkaup

讲讲什么是 RAG,以及 RAG 是怎么工作的 平时我们在用AI的时候给它一个问题,通常会直接传给大模型。大模型会根据自身的训练结果和联网搜索到的资料,给出一个最终答案。但很多时候AI不太听话,甚至开始胡说八道。这其实源于大模型自身的机制缺陷,主要有以下几个方面: 1. AI 幻觉 大模型的核心训练目标是预测下一个最合理的字词或 token,而不是像我们想象的那样去学习、记住并给出最正确的事实。它的第一优先级是保证输出连贯且逻辑自洽。在这种情况下,如果你感冒不舒服去问 AI 该怎么办,它完全有可能生成“感冒了可以尝尝黄桃罐头”这种回答。 另外,模型的所有知识都来自公开互联网的训练数据,其中混杂着很多错误或虚假信息,而模型缺乏辨别能力,全都会学进去。受限于知识存储的技术缺陷,大模型往往经不住细节推敲,容易张冠李戴,把不同年代的事情混淆在一起。特别是在一些小众领域,信息不足时它更容易去拼凑答案。 为什么信息不够时它不直接承认“我不知道”,而是选择拼凑?因为在对齐训练中,为了迎合用户习惯,表述完整、有内容的回答往往比一句简短的“我不知道”能获得更高的评分。模型因此学到了“给出具体答案才能满足用户”。所以如果用户的提问带有错误预设,或者反复施压追问,模型就会顺着用户的话去编造,而不是直接反驳或拒绝。 2. 知识过时 大模型的训练数据有明确的截止时间。原生模型自身无法获取截止时间之后的新消息。比如一个模型的训练截止到 2025 年 12 月,问它之后发生的事情它是不知道的。即便通过联网搜索补齐,也没办法自动保证搜索结果的真实性与准确性。 3. 缺乏私有与专业数据 模型通常只能查询公开的互联网数据。如果需要查询非公开的专业资料,或者分析企业内部的私有数据,它就无能为力了,因为这些内容它从未学习过。 这就是为什么我们需要 RAG(检索增强生成)。它是一套包含检索匹配和约束生成的完整技术框架,专门用来解决上述大模型的局限性。 RAG 的工作流程: 1. 知识库准备:把需要让模型学习的文档进行拆分、向量化,存入指定的知识库。 2. 检索匹配:用户提问时,系统先在知识库中定向检索,匹配并找出最相关、最恰当的内容。 3. 增强生成:把问题和检索到的参考资料一起交给大模型,生成最终答案。 这里有两个常见误区需要厘清: RAG 不等于知识库:知识库只是 RAG 的一个核心组件。 约束生成不是 RAG 本身:约束生成指的是限定回答的来源,它是 RAG 所达到的效果,而非技术本体。 为什么不能只用 prompt 来约束大模型? 只靠 prompt 指令,模型依然可能突破规则甚至编造内容。这好比去考试,老师虽然划定了第 1 到 10 页的考试范围,但为了写出答案,我们依然可能去百度或小红书到处乱搜,从而被虚假信息误导。而 RAG 是直接在输入层面做控制,先主动检索出准确的参考资料,再把资料和问题一起喂给模型。这相当于老师把考点涉及的所有内容打印好直接放在你面前,你只需要对照着挑选内容作答即可,从根源上避免了外界信息的干扰和虚构。 最后看一下 RAG 的技术演进: 1. 最初阶段:简单的分块、检索、生成流程。LangChain 的基础 RAG 模块就是典型代表。 2. 2023 年阶段:引入了查询改写技术,把用户模糊、不完整的指令改写得更清晰,提高检索准确率;同时通过给文档添加元数据,提升检索的精度和速度。 3. 2024 年阶段:模块化发展,将检索、改写、重排、生成等环节拆成独立模块,可以根据不同场景自由组合最合适的方案。 4. 当前前沿方向: (a) Graph RAG:从非结构化文档中自动抽取实体和关系来构建知识图谱,提升复杂关联检索的能力。 (b) 多模态 RAG:支持跨模态检索,不仅能处理文本,还能处理图像、音频、视频等多种模态内容,并支持对应模态的生成输出。

曝光 56 · 评论 0 · 点赞 0 · 书签 0

查看原帖