RAG(检索增强生成)的简单理解
一个完整的企业级或个人级 RAG(检索增强生成)项目,包含数据流、检索流、生成流、运维评测的完整闭环系统。
一个标准的 RAG 项目,通常包含以下四大核心组成部分:
一、 RAG数据接入与处理层(ETL / Data Pipeline)
这是 RAG 的地基,决定了喂给 AI 的原料质量(Garbage in, garbage out)。
-
多源数据采集器:
支持连接各种数据源:MySQL 业务数据、对象存储(MinIO/S3)里的 PDF/Word/Markdown、Confluence 页面、Git 仓库、网页爬虫等。 -
文档解析与清洗(Document Parser):
提取非结构化文件中的纯文本、表格、图片(配合 OCR 或多模态模型解析图表)。 -
智能文本切分(Chunking Strategy):
将长文档切分成合适大小的文本块(如按固定 Token 数、按 Markdown 标题层级、或语义切分),并保留前后上下文重叠(Overlap)。 -
向量化与索引生成(Embedding & Indexing):
调用 Embedding 模型(如 BGE、Qwen-Embedding)将文本块转为高维向量,存入向量数据库(如 Milvus、PGVector、ES)。
二、 RAG检索与增强层(Retrieval & Enhancement)
这是 RAG 的核心大脑,负责把最准、最相关的知识片段精准捞出来。
-
混合检索(Hybrid Search):
结合向量语义检索(懂意思)和 BM25 关键词/全文检索(懂专有名词、代码、型号),互补盲区。 -
多路召回与重排(Rerank):
初筛阶段先捞出几十个候选片段,再通过专门的 Rerank 模型(如 BGE-Reranker) 进行深度语义打分和精细化排序,只留下最核心的 Top 3-5 个片段。 -
元数据过滤与权限管控(Metadata Filtering):
在检索时带上业务条件(如用户角色、所属部门、数据密级),确保用户只能搜到自己权限允许范围内的数据,解决企业级安全合规问题。 -
查询重写(Query Rewriting):
用户的提问往往口语化或含糊不清。通过小模型或大模型先对用户的提问进行润色、扩写或拆解,提高检索命中率。
三、 RAG生成与交互层(Generation & Interaction)
这是 RAG 的门面,负责把检索到的知识转化为人类易读的答案。
-
Prompt 模板工程:
将检索到的知识片段(Context)与用户的原始提问(Query)按照严谨的提示词模板组装,防止大模型自由发挥或胡说八道(减少幻觉)。 -
大模型驱动(LLM Integration):
调用本地大模型(如 Ollama 跑 Qwen)或云端大模型(如 DeepSeek、OpenAI)生成最终回答。 -
流式响应与前端交互(Streaming & UI):
实现打字机效果(Stream 流式输出),支持多轮对话(Chat History 记忆),并能展示引用来源(References / Citations),让用户点击即可追溯原文出处。
四、 RAG运维、评测与治理层(Ops & Evaluation)
决定 RAG 系统能否从Demo 玩具走向生产可用的关键。
-
RAG 评估体系(Evaluation):
使用类似 RAGAS 或 TruLens 的自动化评测框架,对系统的检索召回率、答案忠实度(Faithfulness)、回答相关性进行打分和持续优化。 -
数据增量同步与生命周期管理:
数据库或文档更新时,系统能通过监听变更(如 CDC)自动更新或删除对应的向量索引,保持数据的“鲜活度”。 -
日志审计与监控:
记录用户的每一次提问、检索到的知识片段、大模型的 Token 消耗、耗时以及用户的反馈(点赞/踩),用于后续的 Prompt 调优和数据闭环。
浙公网安备 33010602011771号