news 2026/5/1 10:25:41

大模型应用开发(十七)_RAG架构概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型应用开发(十七)_RAG架构概述

RAG(Retrieval-Augmented Generation,检索增强生成)架构概述。这部分是理解 RAG 系统设计与实现的核心内容。


5.1 RAG 架构总体思路

RAG 架构 = 检索(Retrieval) + 生成(Generation)

核心目标是:

让大语言模型(LLM)能够基于外部知识回答问题,从而实现知识增强、事实准确、可解释性强的生成。

传统大模型的知识来自预训练语料,无法实时更新;RAG 架构通过外部检索模块动态获取最新资料,使生成结果更加可靠。


5.2 RAG 架构的基本结构

RAG 的架构通常分为四层或五层结构:

┌─────────────────────────────┐ │ 用户交互层 (UI/API) │ ← 用户提问、接口调用 └────────────┬────────────────┘ ↓ ┌─────────────────────────────┐ │ 查询理解层 (Query Layer) │ ← 分词、改写、嵌入向量 └────────────┬────────────────┘ ↓ ┌─────────────────────────────┐ │ 检索层 (Retrieval Layer) │ ← 向量数据库检索、重排序 └────────────┬────────────────┘ ↓ ┌─────────────────────────────┐ │ 生成层 (Generation Layer) │ ← 大语言模型生成回答 └────────────┬────────────────┘ ↓ ┌─────────────────────────────┐ │ 知识库层 (Knowledge Base) │ ← 存储外部文档、语料 └─────────────────────────────┘

5.3 RAG 架构核心模块解析

模块功能说明
1. 数据预处理模块文档切分与向量化把知识源(如 PDF、网页、数据库)拆分为小块(chunk),生成文本嵌入向量。
2. 知识库模块向量数据库/索引存储存储嵌入向量及原文,常用:FAISS、Milvus、Chroma、Pinecone。
3. 检索模块相似度搜索 + 过滤根据用户问题的嵌入向量,检索最相关的文档段落。
4. 重排序(可选)优化检索结果质量用 cross-encoder 或 reranker 模型重新打分。
5. Prompt 构造模块拼接上下文将检索结果 + 用户问题拼接成模型输入模板。
6. 生成模块(LLM)基于上下文生成回答调用大语言模型(如 GPT-4、Llama3)生成最终回答。
7. 后处理模块(可选)格式化输出引用来源、高亮关键词、生成摘要等。

5.4 典型RAG数据流(Data Flow)

[1] 用户输入问题 ↓ [2] 将问题向量化 (Embedding) ↓ [3] 在向量数据库中检索相似文本 ↓ [4] 选取最相关的上下文 (Top-k) ↓ [5] 将上下文 + 问题拼接为 Prompt ↓ [6] 输入到大语言模型生成回答 ↓ [7] 输出答案 + 引用来源

5.5 RAG 架构关键技术点

技术环节核心方法说明
文本切分(Chunking)固定长度、语义分段、句法切分保证检索粒度合适
向量化(Embedding)bge-large-zh, text-embedding-3-large生成高维语义表示
向量检索(Similarity Search)余弦相似度、内积、ANN索引快速检索相似文本
重排序(Re-ranking)CrossEncoder、ColBERT提升上下文质量
Prompt 构造Context + Question + Instruction控制生成逻辑
生成模型(LLM)GPT, Llama, Qwen, Mistral基于上下文生成回答
引用标注Source highlighting提升可解释性

5.6 RAG 典型实现方式

架构层级实现示例(LangChain)
文档加载DocumentLoader.from_pdf("doc.pdf")
切分RecursiveCharacterTextSplitter(chunk_size=512)
向量化OpenAIEmbeddings()
存储FAISS.from_documents(docs, embeddings)
检索retriever.get_relevant_documents(query)
生成llm_chain.run({"context": context, "question": query})

5.7 RAG架构的变体与优化方向

类型特点说明
Vanilla RAG标准检索+生成最常用形式
Re-ranking RAG检索后重排序提升上下文质量
Multi-hop RAG多轮检索与生成支持复杂问题
Graph RAG基于知识图谱检索关系型问答
Agentic RAGAgent 自主规划检索和生成具备多步推理能力
Streaming RAG流式检索与生成适用于大规模文档

5.8 RAG 架构的优势与挑战

1.优势

知识可更新:修改知识库即可生效

幻觉减少:生成内容基于真实文本

可解释:可提供引用来源

灵活性强:适配多领域场景

成本低:无需重新训练模型


2.挑战

❌ 检索质量决定回答质量(Garbage In, Garbage Out)

❌ 上下文长度受限(Token 限制)

❌ 文档切分策略影响结果

❌ 多轮问题可能需多步推理

❌ 对多语言、多模态支持有限


5.9 RAG 架构发展趋势

方向描述
多模态 RAG支持图像、表格、音频等内容检索
Graph RAG融合知识图谱结构化信息
Memory RAG与长期记忆结合,支持上下文保持
Agentic RAG自主规划检索、判断何时调用外部知识
混合检索 RAG结合语义向量 + 关键字(BM25)检索
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:45:41

AI数字人小程序开发实战:基于系统源码的快速落地方案

这两年,AI数字人从概念迅速走向商业化落地。无论是品牌营销、知识付费,还是企业客服、直播带货,越来越多的企业开始意识到:不是要不要做数字人,而是如何用更低成本、更快速度做出一个能用、好用、可扩展的数字人产品。…

作者头像 李华
网站建设 2026/5/1 4:49:21

AI数字人小程序怎么做?从系统源码到产品上线全流程

这两年,“AI数字人”几乎成了企业数字化转型中的高频词。从数字主播、数字客服,到企业IP形象、知识型博主,AI数字人正在被越来越多地应用到实际业务中。而基于小程序的AI数字人产品,因为门槛低、传播快、易变现,也成为…

作者头像 李华
网站建设 2026/5/1 4:52:13

训练 分心驾驶行为识别模型 ,支持从分类任务到目标检测任务的多种应用场景。17类驾驶员疲劳驾驶状态检测数据集的训练及应用 YOLOV8疲劳驾驶检测系统

驾驶员分心驾驶目标检测数据集 SFDDD数据集基础上加入自己创建的数据 数据集提供标签文件 yolo和voc两种标注方式 类别数量:17类 类别名称: 每一类图像数 ,每一类标注数 Safe Driving 2056,2056 Texting right 1331,1331 Calling right 1343,1343 Text…

作者头像 李华
网站建设 2026/5/1 4:52:18

句柄到底是个啥?

文章目录1、什么是句柄?2、句柄与普通指针的区别?1、什么是句柄? 句柄(Handle)是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄不能是常量—引自科学百科通过…

作者头像 李华
网站建设 2026/5/1 4:51:34

回溯算法详解:从原理到实战(C++代码实现)

前言回溯算法是基于**深度优先搜索(DFS)**的经典算法思想,核心是“尝试-回退”,通过遍历解空间找到所有符合条件的解。它广泛应用于排列、组合、子集等问题,本文将结合LeetCode经典例题,用C实现回溯算法&am…

作者头像 李华