啥是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日晚於实验楼
相关推荐
回眸&啤酒鸭1 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智1 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙1 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
AI的探索之旅1 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein1 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
qq_426003961 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk