RAG(检索增强生成)技术简介

简介: RAG(检索增强生成)通过结合信息检索与文本生成,提升大模型回答的准确性与时效性。它利用向量数据库实现语义检索,支持智能客服、医疗诊断、法律咨询等场景,解决知识更新难、专业性不足等问题,并以“按需取用”机制突破上下文限制,兼顾效率与隐私。

一、RAG 的核心价值与应用场景

RAG(检索增强生成)是一项将信息检索与文本生成相结合的技术,它让大型语言模型(LLM)能够生成更准确、更具时效性且上下文更相关的内容。下表清晰地展示了RAG解决的核心问题及其典型应用场景:

核心关切点

RAG 提供的解决方案

典型应用场景

信息准确性

从外部知识库检索事实依据,减少模型“幻觉”,答案可溯源。

智能客服、医疗诊断、法律咨询。

知识时效性

无需重新训练模型,通过更新检索库即可让模型获取最新信息。

回答关于新闻事件、股价、最新产品信息等问题。

专业领域知识

为模型注入特定领域(如公司内部文档、行业资料)的知识,弥补通用模型的专业短板。

企业知识库问答、学术研究辅助。

成本与隐私

检索过程可实施权限控制,访问特定数据,比为了新知识重新训练大模型更经济高效。

处理企业内部敏感文档、个人隐私信息。

Q:那为什么不直接把手册或资料发给大模型呢?

这是一个关键问题。主要原因有二:

  1. 上下文窗口限制:如果用户的资料很大,比如上百页或千页的数据直接发给大模型,会超出模型的上下文窗口限制。
  2. 推理效率:模型的推理速度会变慢,模型读取的内容越多,输出越慢。

因此,RAG技术登场,它通过一种更智能的“按需取用”机制来解决这些问题。


二、RAG 的基本工作流程

RAG的工作流程可以清晰地划分为“准备(提问前)”和“回答(提问后)”两个主要阶段。

阶段一:准备 - 知识库预处理(索引)

此阶段在线下完成,是为系统“备课”的过程。

  • 分片分片就是把文档拆分成多个片段。分片的方式有很多种:
  1. 按字数来分,比如说1,000字为一个片段。
  2. 按一个段落来分片。
  3. 或者是按章节。
  4. 或者是按页码。
    但不管怎么做,我们最后都需要把一篇文档切分成多份,切好后这个环节就结束了。
  • 索引索引就是通过 Embedding 将每一个片段文本转化为一个向量,然后再将片段文本和对应向量都存储在向量数据库的一个过程。生成的所有向量及其对应的原始文本块,会被一同存入向量数据库。数据库会为这些向量建立专门的索引结构(例如HNSW、IVF-PQ等),这种结构的设计目标,就是在亿级向量中实现毫秒级的相似性搜索。
  • 向量在RAG中的作用
  • 将文本转换为向量(嵌入):使用嵌入模型将文本转换成高维向量,此操作由模型完成。语义相近的文本,其向量在空间中的位置也接近。
  • 实现语义检索:将用户问题也转为向量,通过计算“问题向量”与“文档向量”的相似度,快速找到最相关的文本片段。
  • 依赖向量数据库进行高效管理:向量数据库(如Milvus、Qdrant)负责存储、查询向量和文本,并提供相似度计算,这是RAG实时响应的基础。
阶段二:回答 - 实时查询处理(检索与生成)

此阶段在用户提问后实时发生。

  • 召回(检索)
    召回的核心任务是从庞大的知识库中快速筛选出与用户问题可能相关的文本片段。这主要依赖于向量相似度计算。常用的相似度度量方法对比如下:

方法名称

核心原理

特点

余弦相似度

衡量两个向量方向的差异,计算夹角的余弦值。

对向量长度不敏感,专注于语义方向;计算高效。

欧氏距离

计算两点间的直线距离。

直观,符合物理距离概念;受向量尺度和长度影响大。

点积

两向量对应分量乘积之和。在向量归一化后与余弦相似度等价。

计算简单高效;结果受向量长度影响显著。

  • 重排初步召回可能会返回大量相关片段,但质量参差不齐。重排步骤的目标是对这些结果进行更精细的排序,把最相关、最优质的片段排到最前面。常用技术是 Cross-Encoder
  • Bi-Encoder(用于召回):问题和文档分开独立编码为向量,然后计算相似度。优势是速度快,适合大规模初筛。
  • Cross-Encoder(用于重排):将问题和某个文档拼接在一起,同时输入模型进行交互计算,直接输出相关度分数。判断更准确,但计算成本高。
    可以理解为:召回(如余弦相似度)负责“海选”,追求速度;重排(如Cross-Encoder)则负责“精品面试”,追求精度。
  • 生成
    这是最后一步。系统将用户原始问题和经过重排筛选出的最相关的文本片段(如Top 3-5)组合成一个详细的提示(Prompt),然后交给LLM。LLM的任务是基于这个“增强后”的提示,综合所有信息,生成一个准确、连贯、自然的最终答案,而并非简单地复制粘贴。


三、RAG 技术演进与优化策略

RAG技术本身也在不断演进,从最初的简单模式发展出更复杂的架构以提升效果。

  • 技术范式的演进
  • Naive RAG:遵循传统的“索引-检索-生成”流程。
  • Advanced RAG:在检索前后引入优化策略,如查询重写、重排等,以提高检索质量。
  • Modular RAG:引入多个功能模块,流程不局限于顺序检索和生成,支持迭代和自适应检索,灵活性更大。
  • 常见优化工具与框架
    在实际构建RAG系统时,可以利用现有的框架和工具来简化开发,例如 LangChainLlamaIndex,它们提供了文档加载、文本分割、向量化、检索和链式调用等组件的强大支持。
目录
相关文章
|
2月前
|
安全 算法 网络协议
从明文到加密:HTTP与HTTPS核心知识全解析
本文深入解析HTTP与HTTPS的核心差异,揭示HTTPS如何通过SSL/TLS协议、CA证书和混合加密机制,解决HTTP的窃听、篡改与冒充三大安全问题,全面科普网络安全关键技术。
985 6
|
5月前
|
人工智能
实训Agent创客:一键生成电商场景Agent
在阿里云百炼一键生成电商场景Agent,轻松帮您搞定商品展示图片、视频。快来参与活动任务吧!
620 2
|
2月前
|
机器学习/深度学习 物联网
什么是大模型微调?与预训练有什么区别?
大模型通过海量数据预训练获得通用能力,成本极高;微调则用少量数据调整模型,适应特定任务。轻量级方法如LoRA、PEFT等仅更新部分参数,降低资源消耗,实现高效定制。
301 5
|
2月前
|
存储 人工智能 搜索推荐
教你10 分钟内为自己网站配置AI助手
阿里云百炼平台支持一键部署大模型镜像,如DeepSeek、千问、Kimi等,通过智能体(Agent)集成RAG、插件、MCP等功能,实现知识库接入与外部工具调用,轻松为网站添加AI助手,构建个性化、可扩展的AI应用。
455 3
|
2月前
|
前端开发 算法
深度研究Agent架构解析:4种Agent架构介绍及实用Prompt模板
本文系统梳理了深度搜索Agent的主流架构演进:从基础的Planner-Only,到引入评估反馈的双模块设计,再到支持层次化分解的递归式ROMA方案。重点解析了问题拆解与终止判断两大核心挑战,并提供了实用的Prompt模板与优化策略,为构建高效搜索Agent提供清晰路径。
720 10
深度研究Agent架构解析:4种Agent架构介绍及实用Prompt模板
|
2月前
|
人工智能 运维 前端开发
阿里云百炼高代码应用全新升级
阿里云百炼高代码应用全新升级,支持界面化代码提交、一键模板创建及Pipeline流水线部署,全面兼容FC与网关多Region生产环境。开放构建日志与可观测能力,新增高中低代码Demo与AgentIdentity最佳实践,支持前端聊天体验与调试。
460 52
|
2月前
|
存储 自然语言处理 监控
10 万文档 RAG 落地实战:从 Demo 到生产,我踩过的所有坑
本文分享10万级文档RAG系统从Demo到生产的实战经验,剖析检索慢、召回率低、部署复杂三大痛点,涵盖文档切分、Embedding选型、向量库优化、重排序与生成约束等关键步骤,并提供可落地的工程方案与评估方法,助力构建高效、稳定的企业级RAG系统。
|
3月前
|
前端开发 数据可视化
什么是低代码
该界面为低代码平台,支持通过拖拽方式快速生成前端表单页面,提升开发效率。包含可视化操作与组件配置,适用于快速搭建业务表单。参考文档详见附件。
|
2月前
|
机器学习/深度学习 数据采集 物联网
大模型指南:一文搞懂LoRA微调
本文详细解析LoRA微调技术,通过低秩分解实现参数高效适配。您将了解其核心原理、实践步骤及效果评估方法,以及如何在消费级GPU上轻量化定制百亿参数大模型,并探索其未来应用与进阶技巧。
大模型指南:一文搞懂LoRA微调

热门文章

最新文章