Jean's Blog

一个专注软件测试开发技术的个人博客

0%

RAG系统介绍

什么是RAG

检索增强生成(Retrieval-Augmented Generation),这是一种将大型语言模型(LLM)外部知识库 相结合的技术框架。

  • 核心定义:凡是能有效进行知识检索的技术都可称为RAG(检索增强生成)
  • 技术本质:通过双向赋能实现智能增强
    • 大模型帮助人类做信息检索
    • 人类帮助大模型做有效生成
  • 关键突破:解决大模型知识更新的瓶颈问题,避免频繁微调或重新训练
  • 典型场景:当用户查询《黑神话:悟空》发售时间时,传统大模型可能回答”不知道”,而RAG系统能结合最新资料给出准确答复

AI时代的应用开发

image-20250801092532941

  • 三大模式:
    • 检索模式:信息存取/查找/计算(如RAG)
    • 生成模式:文本/图像生成(如AIGC)
    • 行动模式:智能体自主操作(如Devin、Minimax)
  • 发展现状:
    • 智能体(Agent)发展迅速但存在垄断风险
    • RAG更适合中小企业及个人效率需求
    • 实际项目中RAG落地需求最为旺盛
  • 未来趋势:RAG与Agent技术将深度融合,共同推动智能化发展

RAG整体流程

image-20250801092641311

  • 完整链路:
    • 用户输入问题(如游戏发售时间查询)
    • 知识库预处理:文档切片→向量化→索引存储
    • 查询处理:问题向量化→相似度匹配
    • 结果生成:相关片段+问题+提示词→大模型生成回答
  • 对比实验:
    • 无RAG时:大模型可能回答”没有相关信息”
    • 有RAG时:能结合文档A/B/C给出准确答复
  • 关键设计:提示词框架(如”请基于以下资料回答…”)可标准化配置

另一个视角的系统框架

image-20250801092853505

  • 人脑类比:
    • 知识嵌入+向量存储→长期记忆形成
    • 检索器→回忆机制
    • 生成器→推理响应
  • 核心组件:
    • 知识嵌入:文本→向量表示(如使用Embedding模型)
    • 向量数据库:存储和组织向量化知识
    • 检索器:实现相似度匹配的”回忆”功能
    • 生成器:基于上下文生成最终回答

RAG的四大核心组件

根据上图的技术架构,我们可以清晰的看到需要的核心组件

image-20250801093046161

  1. 知识嵌入(Embedding):负责将文本知识转化为向量表示,捕捉语义信息。
  2. 向量数据库(Vector DB):存储由知识嵌入模块生成的向量表示。
  3. 检索器(Retriever):接收用户查询并将其转化为向量,然后从向量数据库中检索相似的文档。
  4. 生成器(Generator):基于检索到的相关上下文信息生成流程且可信的回答。

具体说明:

  • 质量决定因素:
    • Embedding模型:影响语义捕捉能力(如文本→向量转换效果)
    • 向量数据库:决定数据承载量和检索速度
    • 检索器:影响召回率和排序质量
    • 生成器:现代大模型已足够强大,非主要瓶颈
  • 优化重点:当前系统性能瓶颈主要在检索环节而非生成环节

RAG关键环节

索引

image-20250801093629715

  • 四步流程:
    • 加载(Load):支持JSON/URL等多种格式的原始数据
    • 分割(Split):按语义或固定大小切分文档
    • 嵌入(Embed):转化为向量表示(如[0.8,0.4,…])
    • 存储(Store):存入向量数据库
  • 质量守则:”垃圾进垃圾出”原则,数据清洗至关重要
  • 高级技巧:
    • 分层索引设计
    • 父子文档关系构建
    • 兼顾检索精度与上下文连续性

检索和生成

image-20250801093755460

  • 三阶段优化:
    • 检索前处理:
      • 问题重写(如纠正错别字)
      • 假设文档生成
      • 问题分解(将复合问题拆解为子问题)
    • 检索过程:
      • 多路召回策略
      • 混合检索技术
    • 检索后处理:
      • 结果重排序
      • 信息去重
      • 相关性过滤
  • 生成策略:控制上下文窗口大小,避免信息过载