【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
    答案生成。
相关推荐
aircrushin2 小时前
从春晚看分布式实时协同算法与灵巧手工程实现
人工智能·机器人
恋猫de小郭2 小时前
Apple 的 ANE 被挖掘,AI 硬件公开,宣传的 38 TOPS 居然是"数字游戏"?
前端·人工智能·ios
银河系搭车客指南2 小时前
AI Agent 的失忆症:我是怎么给它装上"第二个大脑"的
人工智能
张拭心2 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
我的username3 小时前
极致简单的openclaw安装教程
人工智能
小锋java12343 小时前
【技术专题】嵌入模型与Chroma向量数据库 - Chroma 集合操作
人工智能
七月丶3 小时前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
用户5191495848453 小时前
CVE-2024-10793 WordPress插件权限提升漏洞利用演示
人工智能·aigc
chaors4 小时前
从零学RAG0x01之向量化
人工智能·aigc·ai编程
chaors4 小时前
从零学RAG0x02向量数据库
人工智能·aigc·ai编程