【RAG】001-RAG概述

【RAG】001-RAG概述

0、整体思维导图

下面的知识是基于一个视频教程结合 AI 生成的笔记,我也看了一遍,有了一些印象,但这种印象很快就会消失,知识也就消失了,为了使得知识在我的大脑中停留更长的时间,我要主动增加学习的宽度(在更多场景下学习和记忆同一知识)!

一、RAG 介绍

1、LLM 的主要局限性

大语言模型(LLM)尽管功能强大,但仍存在以下明显的局限性:

  • 时效性问题:模型的知识在预训练后就固定了,无法自动更新最新信息
  • 知识覆盖局限
    • 缺乏特定领域或私有领域的专业知识
    • 对组织内部文档、数据等私域信息无法感知
  • 幻觉问题:容易生成看似合理但实际错误的内容,影响可靠性

2、RAG 的价值与优势

检索增强生成(Retrieval-Augmented Generation,RAG)技术能够有效解决上述问题:

  • 提升输出质量

    • 通过实时检索相关信息,显著提高生成内容的准确性
    • 基于事实的回答,减少模型幻觉
  • 降低实施成本

    • 无需大规模模型训练,显著降低计算资源消耗
    • 相比微调方案,实施门槛更低,投入产出比更高
  • 灵活性与可扩展性

    • 支持知识库持续更新,确保信息时效性
    • 易于整合多源数据,快速扩充知识范围
    • 可根据实际需求动态调整检索策略

二、RAG 概述

1、RAG 的概念

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了检索和生成技术的文本处理方法 ,主要用于提高语言模型的输出质量

RAG 通过在生成回答之前,先从知识库中检索相关信息,然后将检索到的信息作为上下文提供给语言模型,从而实现更准确、更可靠的响应。这种方法既保留了 LLM 强大的理解和生成能力,又克服了其知识局限性。

2、RAG 的工作原理

RAG 的核心工作流程包含以下步骤:

  1. 知识库构建

    • 收集和处理文档资料
    • 将文档切分为适当大小的文本块
    • 使用向量化模型将文本转换为向量并存储
  2. 检索过程

    • 接收用户查询并向量化
    • 在向量数据库中搜索相似内容
    • 获取最相关的文本片段
  3. 生成过程

    • 将检索到的相关内容与用户问题组合
    • 构建合适的提示词(Prompt)
    • 通过 LLM 生成最终答案

3、RAG 的应用场景

RAG 技术在多个领域都有广泛应用:

  • 企业知识库问答

    • 客服智能问答
    • 内部文档检索
    • 技术支持服务
  • 个性化内容生成

    • 产品推荐
    • 个性化营销文案
    • 定制化报告生成
  • 实时信息服务

    • 新闻摘要生成
    • 市场分析报告
    • 数据洞察分析

4、实施注意事项

在实施 RAG 系统时,需要注意以下几点:

  1. 数据质量控制

    • 确保知识库数据的准确性和时效性
    • 定期更新和维护知识库内容
    • 建立数据质量审核机制
  2. 性能优化

    • 选择合适的向量数据库
    • 优化检索策略和参数
    • 合理设置缓存机制
  3. 系统监控

    • 跟踪系统响应时间
    • 监控检索准确率
    • 收集用户反馈并持续优化

三、RAG vs Fine-tuning(微调)

1、两种方法的基本概念

  • RAG

    • 通过实时检索相关信息来增强模型输出
    • 无需对模型本身进行修改
    • 知识库可以随时更新
  • Fine-tuning

    • 在预训练模型基础上进行额外训练
    • 直接修改模型权重
    • 知识被固化在模型参数中

2、对比分析

2.1 实施成本

  • RAG

    • 初始投入低,主要成本在知识库建设
    • 无需大规模计算资源
    • 部署维护相对简单
  • Fine-tuning

    • 需要较高的计算资源
    • 需要专业的训练技能
    • 对数据量和质量要求高

2.2 灵活性

  • RAG

    • 知识库可以随时更新
    • 易于添加或移除信息
    • 支持多源数据整合
  • Fine-tuning

    • 知识更新需要重新训练
    • 模型一旦训练完成较难修改
    • 数据变更成本高

2.3 性能表现

  • RAG

    • 输出更可控,有明确的信息来源
    • 适合需要高准确度的场景
    • 响应时间可能较长(需要检索)
  • Fine-tuning

    • 响应速度快
    • 可能出现知识遗忘
    • 难以追溯答案来源

3、选择建议

3.1 适合使用 RAG 的场景

  • 需要频繁更新知识的应用
  • 对答案准确性要求高的场景
  • 预算有限但需求明确的项目
  • 需要透明解释的业务场景

3.2 适合使用 Fine-tuning 的场景

  • 任务明确且相对固定的应用
  • 对响应速度要求高的场景
  • 有充足的训练资源和专业团队
  • 需要深度定制模型行为的项目

3.3 混合使用策略

在实际应用中,可以考虑将两种方法结合使用:

  • 使用 Fine-tuning 优化模型的基础能力
  • 使用 RAG 补充最新知识
  • 根据具体场景动态选择或组合使用

四、RAG 工作流程

1、离线处理阶段

1.1 文档预处理

  • 数据收集

    • 整理各类文档资源(PDF、Word、HTML等)
    • 提取文本内容
    • 清洗和标准化文本
  • 文档分块

    • 按语义完整性分割文本
    • 控制文本块大小(通常256-1024个token)
    • 保持上下文连贯性
  • 元数据提取

    • 记录文档来源
    • 提取时间戳信息
    • 标注文档类型和主题

1.2 向量化处理

  • 文本嵌入

    • 选择合适的嵌入模型
    • 将文本块转换为向量
    • 优化向量维度和质量
  • 向量存储

    • 选择向量数据库
    • 建立索引结构
    • 设置检索参数

2、实时处理阶段

2.1 查询处理

  • 查询分析

    • 理解用户意图
    • 提取关键信息
    • 优化查询表达
  • 查询向量化

    • 使用与文档相同的嵌入模型
    • 生成查询向量
    • 标准化处理

2.2 相似度检索

  • 向量检索

    • 执行向量相似度计算
    • 应用过滤条件
    • 排序筛选结果
  • 上下文组装

    • 获取相关文本片段
    • 组织检索结果
    • 控制上下文长度

2.3 生成响应

  • Prompt 构建

    • 设计提示模板
    • 整合检索内容
    • 添加约束条件
  • LLM 调用

    • 发送完整 Prompt
    • 控制生成参数
    • 处理模型输出
  • 后处理优化

    • 格式化输出
    • 添加引用来源
    • 质量检查

3、性能优化策略

3.1 检索优化

  • 索引优化

    • 选择合适的索引算法
    • 定期重建索引
    • 优化检索参数
  • 缓存策略

    • 热点查询缓存
    • 结果集缓存
    • 智能预加载

3.2 质量提升

  • 文本分块策略

    • 重叠分块
    • 动态块大小
    • 语义完整性保证
  • 相关性优化

    • 多轮检索
    • 结果重排序
    • 相关度阈值控制

3.3 响应速度

  • 并行处理

    • 批量向量化
    • 并行检索
    • 异步处理
  • 资源调优

    • 硬件配置优化
    • 负载均衡
    • 服务扩缩容

4、图示

相关推荐
救救孩子把12 分钟前
集成开发环境革新:IntelliJ IDEA与Cursor AI的智能演进
java·人工智能·intellij-idea
jndingxin18 分钟前
OpenCV图像拼接(6)图像拼接模块的用于创建权重图函数createWeightMap()
人工智能·opencv·计算机视觉
九亿AI算法优化工作室&1 小时前
SA模拟退火算法优化高斯回归回归预测matlab代码
人工智能·python·算法·随机森林·matlab·数据挖掘·模拟退火算法
Blossom.1181 小时前
基于Python的机器学习入门指南
开发语言·人工智能·经验分享·python·其他·机器学习·个人开发
默 语2 小时前
10分钟打造专属AI助手!ToDesk云电脑/顺网云/海马云操作DeepSeek哪家强?
人工智能·电脑·todesk
Donvink4 小时前
【Dive Into Stable Diffusion v3.5】2:Stable Diffusion v3.5原理介绍
人工智能·深度学习·语言模型·stable diffusion·aigc·transformer
宇灵梦4 小时前
大模型金融企业场景落地应用
人工智能
lsrsyx4 小时前
中信银行太原长治路支行赴老年活动服务中心开展专题金融知识宣讲
大数据·人工智能
烟锁池塘柳05 小时前
【深度学习】Self-Attention机制详解:Transformer的核心引擎
人工智能·深度学习·transformer
Matrix_115 小时前
论文阅读:Self-Supervised Video Defocus Deblurring with Atlas Learning
人工智能·计算摄影