啥是RAG 它能干什么?

RAG工作机制详解

前言

为什么需要学习RAG?

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索与大语言模型生成能力的技术。与传统模型相比,RAG能够从外部知识库中检索相关信息,再基于这些信息生成更准确、更可靠的回答。

闲聊 :好久没写博客了 现在除了原本的Chat功能 现在居然也支持agent 你现在看到的开头的这段介绍都是agent自动帮我插入的,编辑页面也经过了优化,CSDN真是紧跟时代发展!

BZW:最后 整个排版也是 agent 自动帮我优化的 我只需要自己再微调一下就可以了 有点小龙虾------博客版的味道了^ _^

传统模型 vs. Agent

  • 传统模型:回答"如何预订酒店"时,仅提供文字步骤。
  • Agent:直接调用预订API,完成订单并返回确认信息。

前置知识补充

1. Token(词元)

我们在与大模型对话时输入的是文字,但在喂给大模型之前都需要先进行Token化

为什么需要Token化?

  • 单词在计算机中以字符形式存储,如果大模型每次都要从字符组合成单词,效率太低。
  • 通过建立Token词典,可以将"apple"转化为数字"1",大大提高处理效率。
  • 将字词或部分字词转化为数字的过程就叫做Tokenizer

2. Embedding(嵌入)

如果说Tokenizer是将用户输入的文字转化为数字,那么Embedding就是把这些数字转化为向量。

Embedding的优势

  • 可以表示不同维度上的关系远近
  • 例如:香蕉和苹果除了都是中文和水果外,在其他方面区别很大
  • 而"苹果"对应的不同翻译(如"apple"),除了语言差异外,都指同一个东西
  • 单一维度无法满足需求,需要Embedding进行向量化表示

3. 大语言模型Embedding vs. RAG Embedding

重要区别

  • 大语言模型的Embedding:主要用于理解输入文本的语义
  • RAG的Embedding:目的是概括一段话,提取关键信息

RAG Embedding的工作流程

  1. 模型输出Embedding向量
  2. 经过线性层处理
  3. 将向量转化为便于理解的Token

为什么需要RAG?

实际应用场景

  • 现在我们在学校或公司网站上,总能在右下角看到一个"智能管家"来帮助解答问题,我们当然可以在询问的时候丢给他一个系统的使用手册 但是这往往就会导致很多问题:
  • 如果你常用AI帮助你解决问题 那么这其实是很常见的 比如我们丢给豆包一片研究生论文 很大概率都会出现由于文档内容太长只能读取前80% 这就是涉及到上下文窗口大小的一个问题

  • 而输入太多就会导致token的消耗很大 对应的就是成本变高 和速度变慢 这是非常好理解的

  • 所以这个时候就需要我们RAG登场了 下面对于RAG基本运行流程的分析就可以让你基本理解 为什么RAG可以很好的解决这些问题

RAG的基本运行流程

核心步骤

  1. 索引

  2. 召回

  3. 重排

  • 召回和重排的区别
  • 有的人就说 直接在召回阶段 选出前三个最相似的不就行了吗 干嘛非得再次重排 简直是多此一举 其实关键是在于他们的筛选逻辑是不同的
  1. 生成
  • 我们拿到了上面的结果 之后就可以喂给大模型了 我个人理解的就像是:
  • 期末考试的时候 你发现你一个学期啥也没学 这个时候 大的来了 老师最后一节课把题库或者说是考试范围和重点 给你在书上圈好了 你虽然铲了一学期 依旧能够凭借这份资料 高分通过期末考试

回顾

  • 整体的流程可以分为提问前和提问后
  • 提问前的准备工作
  • 提问后

结语

  • 那么RAG的有关内容就到这里了 感谢你的关注 ~
  • 希望看到这里的你有美好的一天 我明天还有个面试 那 也祝我好运吧 ~ ------5.14日晚於实验楼
相关推荐
火山引擎开发者社区6 小时前
火山AgentPlan/CodingPlan同步上线GLM-5.2
人工智能
冬奇Lab7 小时前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab7 小时前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
甲维斯7 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
姗姗来迟了9 小时前
用React Hook封装AI对话状态
人工智能
Goodbye9 小时前
从 Token 到 Embedding:LLM 核心基础深度解析
javascript·人工智能
阿瑞IT10 小时前
AI Agent 在甘特计划变更场景中的动态响应工程实践
人工智能
用户9385156350710 小时前
工具调用背后:LLM 如何突破“缸中大脑”,操控真实世界?
javascript·人工智能