什么是 RAG?RAG 的主要流程是什么?

RAG(检索增强生成)详解

一、什么是 RAG?

1.定义

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了信息检索大语言模型生成的技术,它让 AI 在回答问题时能够先从外部知识库中检索相关信息,然后基于这些信息生成更准确、更可靠的回答。

2.为什么需要 RAG?

传统大语言模型的问题: ┌─────────────────────────────────────┐ │ 问题:2024年苹果公司最新股价是多少?│ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 大模型回答: │ │ "我的训练数据截止到2023年, │ │ 无法提供2024年的信息..." │ └─────────────────────────────────────┘ RAG 的解决方案: ┌─────────────────────────────────────┐ │ 问题:2024年苹果公司最新股价是多少?│ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ 1. 检索:从知识库查找最新股价 │ │ 2. 找到:2024年1月股价为 $185.92 │ │ 3. 生成:基于检索信息回答 │ └─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────┐ │ RAG 回答: │ │ "根据最新数据,2024年1月 │ │ 苹果公司股价为 $185.92" │ └─────────────────────────────────────┘

3.RAG 的核心价值

优势说明
知识更新可以访问最新信息,不受训练数据时间限制
减少幻觉基于真实数据回答,减少编造内容
可解释性可以引用信息来源,提高可信度
领域定制可以接入企业内部知识库
成本效益比重新训练模型更经济

二、RAG 的主要流程

1.整体流程图

┌─────────────────────────────────────────────────────────────┐ │ RAG 完整流程 │ └─────────────────────────────────────────────────────────────┘ 第一阶段:数据准备(离线) ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 原始文档 │ → │ 文档分块 │ → │ 向量化存储 │ │ (PDF/网页) │ │ (Chunking) │ │ (Embedding) │ └──────────────┘ └──────────────┘ └──────────────┘ ↓ ┌──────────────┐ │ 向量数据库 │ │ (Vector DB) │ └──────────────┘ 第二阶段:检索生成(在线) ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ 用户提问 │ → │ 语义检索 │ → │ 提示词构建 │ │ │ │ (Retrieval) │ │ (Prompt) │ └──────────────┘ └──────────────┘ └──────────────┘ ↓ ↓ ┌──────────────┐ ┌──────────────┐ │ 向量数据库 │ │ 大语言模型 │ │ (Vector DB) │ │ (LLM) │ └──────────────┘ └──────────────┘ ↓ ↓ ┌──────────────┐ ┌──────────────┐ │ 相关文档块 │ ← │ 最终回答 │ │ │ │ │ └──────────────┘ └──────────────┘

2.详细步骤解析

阶段一:数据准备(离线处理)
步骤 1:数据收集 ┌─────────────────────────────────────┐ │ 来源: │ │ • PDF 文档 │ │ • Word 文档 │ │ • 网页内容 │ │ • 数据库记录 │ │ • API 数据 │ └─────────────────────────────────────┘ ↓ 步骤 2:数据清洗 ┌─────────────────────────────────────┐ │ 处理: │ │ • 去除格式标签 │ │ • 去除无关内容 │ │ • 统一编码格式 │ │ • 提取纯文本 │ └─────────────────────────────────────┘ ↓ 步骤 3:文档分块(Chunking) ┌─────────────────────────────────────┐ │ 原始文档: │ │ "这是一篇很长的文章,包含很多内容..." │ │ │ │ 分块后: │ │ Chunk 1: "这是一篇很长的文章," │ │ Chunk 2: "包含很多内容," │ │ Chunk 3: "需要合理分块..." │ └─────────────────────────────────────┘ ↓ 步骤 4:向量化(Embedding) ┌─────────────────────────────────────┐ │ 文本 → 向量 │ │ │ │ "苹果公司" → [0.1, -0.2, 0.5, ...] │ │ "水果苹果" → [0.3, 0.1, -0.4, ...] │ │ │ │ 相似文本的向量在空间中距离更近 │ └─────────────────────────────────────┘ ↓ 步骤 5:存储到向量数据库 ┌─────────────────────────────────────┐ │ 向量数据库: │ │ ┌──────────┬──────────────────────┐ │ │ │ 向量 │ 原始文本 │ │ │ ├──────────┼──────────────────────┤ │ │ │ [0.1...] │ "苹果公司是一家..." │ │ │ │ [0.3...] │ "水果苹果很甜..." │ │ │ │ [-0.2...]│ "股价上涨了..." │ │ │ └──────────┴──────────────────────┘ │ └─────────────────────────────────────┘
阶段二:检索生成(在线处理)
步骤 1:用户提问 ┌─────────────────────────────────────┐ │ 用户: │ │ "苹果公司最新的产品是什么?" │ └─────────────────────────────────────┘ ↓ 步骤 2:问题向量化 ┌─────────────────────────────────────┐ │ "苹果公司最新的产品是什么?" │ │ ↓ │ │ [0.15, -0.18, 0.42, ...] │ └─────────────────────────────────────┘ ↓ 步骤 3:语义检索 ┌─────────────────────────────────────┐ │ 在向量数据库中搜索最相似的向量: │ │ │ │ 问题向量:[0.15, -0.18, 0.42, ...] │ │ │ │ 计算相似度: │ │ • [0.1, -0.2, 0.5, ...] → 0.95 ✓ │ │ • [0.3, 0.1, -0.4, ...] → 0.23 │ │ • [-0.2, 0.5, 0.1, ...] → 0.67 │ │ │ │ 返回最相似的 Top-K 个文档块 │ └─────────────────────────────────────┘ ↓ 步骤 4:构建提示词 ┌─────────────────────────────────────┐ │ System Prompt: │ │ "你是一个助手,请基于以下信息回答" │ │ │ │ Retrieved Context: │ │ "苹果公司于2023年发布了iPhone 15, │ │ 配备了A17芯片..." │ │ │ │ User Question: │ │ "苹果公司最新的产品是什么?" │ └─────────────────────────────────────┘ ↓ 步骤 5:大模型生成 ┌─────────────────────────────────────┐ │ LLM 处理: │ │ • 理解上下文 │ │ • 提取关键信息 │ │ • 组织语言 │ │ • 生成回答 │ └─────────────────────────────────────┘ ↓ 步骤 6:返回结果 ┌─────────────────────────────────────┐ │ 回答: │ │ "根据最新信息,苹果公司最新的产品 │ │ 是iPhone 15系列,于2023年发布, │ │ 配备了A17芯片,具有更好的性能..." │ └─────────────────────────────────────┘

三、RAG 核心组件详解

1.文档分块(Chunking)

# 为什么需要分块?# • 向量模型有长度限制# • 提高检索精度# • 便于管理# 分块策略┌─────────────────────────────────────┐ │ 策略1:固定大小分块 │ │ • 每块512tokens │ │ • 简单但可能切断语义 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │ 策略2:语义分块 │ │ • 按段落、章节分块 │ │ • 保持语义完整性 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │ 策略3:滑动窗口 │ │ • 块之间有重叠 │ │ • 避免丢失边界信息 │ └─────────────────────────────────────┘

2.向量化(Embedding)

# 常用 Embedding 模型┌─────────────────────────────────────┐ │ OpenAI:text-embedding-ada-002│ │ •1536维向量 │ │ • 支持多语言 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │ HuggingFace:sentence-transformers │ │ •all-MiniLM-L6-v2 │ │ • 开源免费 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │ 中文模型: │ │ • text2vec-base-chinese │ │ • m3e-base │ └─────────────────────────────────────┘

3.向量数据库

┌─────────────────────────────────────┐ │ 向量数据库对比 │ ├─────────────────────────────────────┤ │ Pinecone • 云服务,易用 │ │ Milvus • 开源,功能强大 │ │ ChromaDB • 轻量级,易集成 │ │ Weaviate • 语义搜索 │ │ Qdrant • 高性能,开源 │ │ FAISS • Meta 开发,纯向量 │ └─────────────────────────────────────┘

4.检索策略

# 检索方式┌─────────────────────────────────────┐ │1.向量相似度检索 │ │ • 计算余弦相似度 │ │ • 返回 Top-K 结果 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │2.混合检索(Hybrid Search) │ │ • 向量检索+关键词检索 │ │ • 结合语义和精确匹配 │ └─────────────────────────────────────┘ ┌─────────────────────────────────────┐ │3.重排序(Reranking) │ │ • 先检索更多结果 │ │ • 用更精确的模型重新排序 │ └─────────────────────────────────────┘

四、RAG 实际应用场景

1.企业知识库问答

场景:员工查询公司政策 用户:"公司的报销流程是什么?" ↓ RAG 检索:从员工手册中找到报销流程 ↓ 回答:"根据公司政策,报销流程如下: 1. 填写报销单 2. 附上发票 3. 部门经理审批 4. 财务审核 5. 5-7个工作日到账"

2.客户服务智能助手

场景:客户咨询产品问题 用户:"这个产品保修期多长?" ↓ RAG 检索:从产品文档中找到保修信息 ↓ 回答:"该产品保修期为2年, 覆盖非人为损坏的故障"

3.法律文档检索

场景:律师查找相关法条 用户:"合同违约的法律责任是什么?" ↓ RAG 检索:从法律数据库中找到相关条款 ↓ 回答:"根据《民法典》第577条, 当事人一方不履行合同义务..."

4.医疗健康咨询

场景:患者查询疾病信息 用户:"高血压的饮食注意事项?" ↓ RAG 检索:从医学指南中找到建议 ↓ 回答:"高血压患者饮食应注意: 1. 低盐饮食 2. 控制脂肪摄入 3. 多吃蔬菜水果..."

五、RAG 的优化策略

1.数据质量优化

┌─────────────────────────────────────┐ │ • 清洗噪声数据 │ │ • 去除重复内容 │ │ • 标准化格式 │ │ • 添加元数据 │ └─────────────────────────────────────┘

2.检索优化

┌─────────────────────────────────────┐ │ • 调整分块大小 │ │ • 优化 Embedding 模型 │ │ • 使用混合检索 │ │ • 添加重排序步骤 │ └─────────────────────────────────────┘

3.生成优化

┌─────────────────────────────────────┐ │ • 优化提示词设计 │ │ • 添加引用来源 │ │ • 控制回答长度 │ │ • 添加置信度评分 │ └─────────────────────────────────────┘

六、RAG vs 其他方法对比

对比项纯 LLM微调模型RAG
知识更新困难中等容易
幻觉问题严重中等较少
可解释性
实现成本中等
领域适配困难容易容易
数据依赖训练数据领域数据外部知识库

七、总结

RAG 核心要点

┌─────────────────────────────────────┐ │ RAG = 检索 + 生成 │ └─────────────────────────────────────┘ 主要流程: 1. 数据准备 → 分块 → 向量化 → 存储 2. 用户提问 → 向量化 → 检索 → 生成 核心优势: • 知识实时更新 • 减少幻觉 • 可解释性强 • 成本较低 适用场景: • 企业知识库 • 客户服务 • 文档问答 • 领域咨询

快速记忆

RAG 就像开卷考试: • 考试时可以查阅资料(检索) • 基于资料回答问题(生成) • 比闭卷考试更准确(减少幻觉)

RAG 是目前大语言模型应用中最实用的技术之一,它让 AI 能够利用外部知识,提供更准确、更可靠的回答!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1211038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是 Google ADK?

Google ADK 详解 一、什么是 Google ADK? 1. 定义 Google ADK(Agent Development Kit,智能体开发工具包) 是 Google 推出的用于构建 AI 智能体的开发框架和工具集。它提供了一套完整的工具、API 和最佳实践,帮助开发…

2026诚信电源线及电缆生产厂家推荐榜

2026诚信电源线及电缆生产厂家推荐榜行业背景与筛选维度据《2026-2030年中国电线电缆行业发展白皮书》数据显示,2026年国内电线电缆市场规模突破1.5万亿元,年复合增长率达5.2%。随着城市配电网改造、轨道交通建设等项…

day.1

可能出现的问题 1.java是大小写敏感的 2.尽量使用英文 3.文件名和类名必须保持一致,并且首字母大写

大数据 Cassandra 中的数据序列化与反序列化

大数据 Cassandra 中的数据序列化与反序列化:从快递包裹到分布式数据库的秘密 关键词:Cassandra、序列化、反序列化、数据持久化、分布式存储、二进制协议、SSTable 摘要:在分布式数据库 Cassandra 的世界里,数据就像一群需要跨城…

从传统AI到 Agentic AI:教育技术中,提示工程架构师的转型之路!

从传统AI到Agentic AI:教育技术中,提示工程架构师的转型之路 一、引言:当“机械导师”遇到“主动学习者” 你是否见过这样的场景? 一个学生用某款英语背单词APP,连续3天收到“abandon”的复习提醒——哪怕他早就把这…

Kotlin 移动开发中的设计模式:MVVM 架构实战

Kotlin 移动开发中的设计模式:MVVM 架构实战 关键词:Kotlin、移动开发、设计模式、MVVM 架构、实战 摘要:本文主要围绕 Kotlin 在移动开发中运用 MVVM 架构展开。我们会先介绍 MVVM 架构的背景知识,用简单易懂的方式解释核心概念及…

企业估值中的量子点显示技术应用评估

企业估值中的量子点显示技术应用评估 关键词:企业估值、量子点显示技术、应用评估、技术原理、市场价值 摘要:本文聚焦于企业估值中量子点显示技术的应用评估。首先介绍了研究的背景、目的、预期读者、文档结构和相关术语。接着阐述了量子点显示技术的核心概念、原理和架构,…

2026年宜宾专业家庭搬家公司推荐指南

2026年宜宾专业家庭搬家公司推荐指南一、宜宾居民搬家行业背景与推荐依据据《2026-2030年中国居民搬家服务行业发展白皮书》数据显示,2026年川南地区居民搬家需求同比增长21%,其中宜宾市因房地产市场活跃度提升,家庭…

论文开题“黑科技”大揭秘:书匠策AI如何让你的研究赢在起点?

对于许多学术新手来说,论文开题报告就像一座难以翻越的大山——选题撞车、文献堆砌、逻辑混乱、格式错乱……这些问题常常让人焦头烂额。别担心!今天我们要揭秘一款“科研神器”——书匠策AI,它用智能算法和海量学术数据,为你的开…

《AI Flow: Perspectives, Scenarios, and Approaches》论文解读

《AI Flow: Perspectives, Scenarios, and Approaches》论文深度解读 (论文链接:https://arxiv.org/html/2506.12479v1,发布于2025年6月14日,领域:cs.AI) 一、论文基本信息 1. 核心团队与背景 作者单位&…

论文开题不再愁!书匠策AI:你的学术“开题神器”

在学术研究的漫漫征途中,论文开题报告就像是一座灯塔,为我们指引着研究方向。它不仅是对研究项目的初步规划,更是向评审专家展示研究价值与可行性的重要窗口。然而,对于许多研究者,尤其是初涉学术领域的新手来说&#…

论文开题“神器”大揭秘:书匠策AI如何让你的研究赢在起点?

在学术研究的赛道上,开题报告就像运动员的起跑姿势——姿势对了,才能跑得又快又稳。但现实中,许多研究者(尤其是刚入门的新手)常常被这些问题困扰:选题太普通,缺乏创新性;文献综述像…

论文开题“黑科技”:书匠策AI如何让你的选题秒变“学术顶流”

对于许多学术小白来说,论文开题就像一场“噩梦”——选题太宽泛怕被导师说“假大空”,选题太冷门又怕找不到参考文献;文献综述写得像“流水账”,研究方法设计得漏洞百出……别慌!今天要介绍的这款“学术神器”——书匠…

论文开题不再愁!书匠策AI:你的学术“导航仪”

在学术的浩瀚海洋中,论文开题报告就像是一座灯塔,为后续的研究指引方向。然而,对于许多研究生和科研新手来说,撰写开题报告却像是一场“噩梦”——选题撞车、文献混乱、逻辑不清、格式错乱……这些问题如同汹涌的波涛,…

论文开题不再愁!揭秘书匠策AI的“科研魔法棒”

在学术研究的道路上,开题报告就像是一座灯塔,为后续的研究指引方向。然而,对于许多研究者,尤其是刚踏入学术领域的新手来说,撰写一份高质量的开题报告却是一项极具挑战性的任务。选题没思路、文献梳理混乱、研究方法设…

开题报告不再愁!书匠策AI:你的学术写作“智能导航仪”

在学术研究的漫漫征途中,开题报告宛如一座明亮的灯塔,为后续的研究指引方向。然而,对于许多研究者,尤其是初涉学术领域的新手来说,撰写一份高质量的开题报告却如同攀登一座陡峭的山峰,充满了挑战与迷茫。别…

导师严选10个AI论文软件,助你轻松搞定本科毕业论文!

导师严选10个AI论文软件,助你轻松搞定本科毕业论文! 论文写作的“隐形助手”,你真的了解吗? 在本科阶段,论文写作往往成为许多学生最头疼的环节。从选题到开题,再到撰写与降重,每一步都需要大量…

2026年家庭搬家公司权威推荐:企事业单位搬迁/公司搬家/写字楼搬迁/别墅搬家/办公室搬迁/医院搬迁/单位搬家/选择指南

2026宜宾家庭搬家优质服务推荐榜一、行业背景与推荐依据据《2026-2026中国居民搬家服务行业白皮书》数据显示,宜宾地区2026年居民搬家需求同比增长12.7%,其中家庭搬家占整体搬家业务的68%。当前市场存在报价不透明、…

2026年优质水质检测公司推荐榜单

2026年优质水质检测公司推荐榜单行业背景与筛选依据据《2026年中国环境检测行业发展白皮书》数据显示,国内水质检测市场年复合增长率超12%,随着《水污染防治法》等政策趋严,市政、医疗、工业等主体的合规检测需求持…

python + vue 健康饮食食材烹饪管理系统vue3

目录健康饮食食材烹饪管理系统(Python Vue3)摘要系统概述技术栈核心功能扩展性应用场景项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作健康饮食食材烹饪管理系统(Pytho…