【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)

1,介绍

出自论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,RAG是权宜之计,通过RAG将问题简单化、精简化、剔除噪声,让LLM更容易理解、生成内容。RAG:检索增强技术=检索+生成(重排)。

1)场景

通过集成外部知识从而减少特定领域LLM幻觉问题,相比微调和强化学习陈本极低。

2,基本原理和架构

RAG系统可以分为检索和生成两个阶段:

1)检索过程

通过检索找到与用户查询密切相关的知识库(KB)内容:

1> 切片(Chunking,切块)

将文档划分为较小的、语义上有意义的片段;文档可以支持多模态(Word、TXT、CSV、Excel、PDF、PPT、Images、Audio/Video等)转换为文本,最终还是对文本进行处理。

太大数据检索准确率下降,太小丢失上下文信息,找到平衡点。分块方式:

  1. 固定大小分块(Fixed-size chunking)、
  2. 递归分块(Recursive chunking)、
  3. 基于文档(Document-based chunking)
    文档有一定的格式如html或者带标题、
  4. 语义分块(Semantic chunking):
    余弦定理。
  5. LLM分块

除此之外分块之前还会做一些数据清洗已提高RAG的准确率:冗余消除、专有名词、数据增强(同义词近义词翻译库)、用户反馈、过期文档。

2>创建嵌入(Create embeddings)

嵌入模型将每个信息块压缩为向量表示;常用的模型:

  1. Word2Vec
  2. Sentence2Vec
  3. BERT
  4. GPT系列

3>索引(Indexing)

将嵌入向量存入向量库中(键值对),从而实现高效且可扩展的搜索功能。

查询路由(Query Routing):根据查询的内容和意图将查询定向到特定流水线的技术,使 RAG 系统能够有效地处理各种场景。

4>相似性搜索(Similarity search,rank)

用户查询也通过相同的向量化过程转换为向量表示;同时去向量库中检索,这样用户查询就可以在相同的维度空间中进行比较。

计算用户查询嵌入与之前存入的文本块嵌入之间的相似性分数,返回相似度最高的几个信息。

2)生成过程

生成过程将检索到的信息与用户查询结合,形成增强的查询,通过prompt(提示模板)组合后传递给LLM查询、润色,以生成丰富上下文的响应。

5>Reranker 模型(重排序)

Reranker 是信息检索系统中的核心组件,用于对初步筛选的候选结果进行重新排序,以提升最终输出的相关性和用户体验。

a)原理
  1. 特征融合
    结合文本 / 内容特征(如关键词匹配)、用户行为特征(如点击率)、上下文特征(如时间、地理位置)等多维度数据。
    利用嵌入向量(如用户和物品的 Embedding)计算语义相似度。
  2. 排序函数
    通过机器学习模型(如逻辑回归、树模型、深度学习)学习样本对(Query - 文档对)的排序规则。
    常用损失函数:Pairwise Loss(如 RankNet)、Listwise Loss(如 LambdaMART)。
  3. 反馈机制
    结合离线评估(NDCG、MAP)和在线反馈(A/B 测试)优化模型。
b)场景
模型类型 代表算法 / 模型 特点
传统模型 LambdaMART、RankNet 基于梯度提升树或神经网络,依赖人工特征工程。
深度学习模型 BERT-Pairwise、ESIM 利用预训练语言模型捕捉复杂语义关系,支持端到端训练。
交互式模型 DSSM、双塔模型 通过用户与物品的交互行为学习联合嵌入空间,适用于推荐系统。
多模态模型 MM-Ranker(文本 + 图像) 融合多模态特征(如商品图片与描述),提升跨模态场景排序效果。
c)常见模型/算法
  1. 搜索引擎
    对搜索结果进行精排,如 Google 的 RankBrain。
  2. 推荐系统
    电商平台(如亚马逊)的商品推荐、社交媒体的内容流排序。
  3. 广告系统
    优化广告与用户查询的匹配度,提升点击率(CTR)和转化率(CVR)。
  4. 问答系统
    对候选答案进行置信度排序,筛选最优解。

3,RAG流水线组件

  1. 嵌入模型
    嵌入用户查询;
    提取用户文档md、word、纯文本,通过数据清晰和降噪,转换文档为要素;
    文档分块,
  2. 向量数据库
    从向量数据库中检索相关文档信息块;
  3. 提示模板
    将检索内容填充到LLM提示中;
  4. LLM
    答案生成。
相关推荐
人工智能训练5 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
源于花海6 小时前
迁移学习相关的期刊和会议
人工智能·机器学习·迁移学习·期刊会议
DisonTangor8 小时前
DeepSeek-OCR 2: 视觉因果流
人工智能·开源·aigc·ocr·deepseek
薛定谔的猫19828 小时前
二十一、基于 Hugging Face Transformers 实现中文情感分析情感分析
人工智能·自然语言处理·大模型 训练 调优
发哥来了8 小时前
《AI视频生成技术原理剖析及金管道·图生视频的应用实践》
人工智能
数智联AI团队8 小时前
AI搜索引领开源大模型新浪潮,技术创新重塑信息检索未来格局
人工智能·开源
不懒不懒8 小时前
【线性 VS 逻辑回归:一篇讲透两种核心回归模型】
人工智能·机器学习
冰西瓜6008 小时前
从项目入手机器学习——(四)特征工程(简单特征探索)
人工智能·机器学习
Ryan老房8 小时前
未来已来-AI标注工具的下一个10年
人工智能·yolo·目标检测·ai
丝斯20119 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习