news 2026/4/16 12:26:47

大模型应用开发(十七)_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/4/16 11:06:02

蓝牙打印(二)不指定某个打印机

蓝牙页面-手动点击搜索蓝牙 然后选中某个打印机 进行手动点击打印--权限配置什么的 在上面某个都已配置了import React, { useEffect, useState, useRef } from react; import {Button,View,Alert,PermissionsAndroid,Platform,Text,ScrollView,TouchableOpacity, } from reac…

作者头像 李华
网站建设 2026/4/15 21:05:36

【第59套】来了,这一套出来了!

写在前面 车门焊死,考研将至,准备冲刺!我将持续为大家更新25最新真题解析!学得快的同学可以和我一起,全力冲刺~注意,目前我只发布最新年份的真题,其他年份的真题,一个是很…

作者头像 李华
网站建设 2026/4/16 14:40:58

【第60套】题目质量很高!

写在前面车门焊死,考研将至,准备冲刺!我将持续为大家更新25最新真题解析!学得快的同学可以和我一起,全力冲刺~注意,目前我只发布最新年份的真题,其他年份的真题,一个是很…

作者头像 李华