首页/新闻资讯/正文详情

传统 RAG 项目技术解析:从架构到落地实践

发布时间:2026/11/8 6:52:30 来源:云帆数科 栏目:资讯中心
传统 RAG 项目技术解析:从架构到落地实践
1. 什么是传统 RAG检索增强生成Retrieval-Augmented Generation简称 RAG是一种将信息检索与大语言模型生成相结合的技术范式。它的核心思想是在模型回答用户问题之前先从外部知识库中检索出与问题最相关的文档片段再将这些片段作为上下文注入提示词Prompt引导大语言模型基于“查到的资料”生成答案。传统的 RAG通常指的是Naive RAG朴素 RAG这一经典实现路线。它的整体流程相对直接索引构建、向量检索、上下文拼接、答案生成。虽然近年来出现了 GraphRAG、Agentic RAG、Self-RAG 等更复杂的演进形态但传统 RAG 依然是理解这一领域的最佳起点也是很多中小规模知识问答系统落地时的首选方案。传统 RAG 缓解了大语言模型的三个核心痛点知识时效性问题模型训练数据存在截止时间RAG 通过检索最新文档补足外部知识。幻觉问题让模型基于检索到的真实资料作答而非仅凭参数记忆“编造”答案。私有知识利用问题企业内部的制度、手册、专有文档无法直接参与模型训练RAG 提供了一种低成本接入方式。2. 传统 RAG 的整体架构传统 RAG 项目通常由离线与在线两条链路组成整体架构可以抽象为“准备知识”和“回答提问”两个阶段。文档库文档切分文本向量化向量数据库索引用户提问问题向量化向量相似度检索Top-K 文档片段拼接 Prompt大语言模型生成答案返回用户上图可以分为两个部分离线索引阶段上半部分对文档进行预处理、切分、向量化并写入向量数据库。在线检索阶段下半部分将用户问题向量化从向量库中召回相关片段再交给 LLM 生成答案。这种“检索 生成”的解耦设计使得知识库可以随时更新而无需重新训练模型这也是 RAG 相比微调Fine-tuning的最大优势之一。3. 核心工作流程3.1 文档加载与解析传统 RAG 项目通常从多种来源采集文档常见的类型包括纯文本文件TXT、MarkdownPDF 文档Word 文档HTML 网页结构化数据数据库导出内容在实际项目中文档解析需要处理表格、图片、页眉页脚等噪声信息。对于扫描版 PDF 或图片文档还需预先进行 OCR 识别将图片中的文字提取为可用文本。3.2 文档切分Chunking文档切分是将长文档拆解为适合检索和 LLM 上下文窗口的小片段。切分策略直接影响检索质量常见方案包括固定长度切分按固定字符数或 Token 数切分实现简单但可能切断语义。按段落或标题切分利用文档结构切分保留更完整的语义单元。重叠切分在相邻片段之间保留一定重叠避免关键信息被截断在边界处。一个典型的切分示例为每段 500 字符相邻片段重叠 50 字符。切分后的片段被称为 Chunk是后续向量化和检索的最小单元。3.3 文本向量化Embedding文本向量化的作用是将自然语言文本映射为高维空间中的向量使语义相近的文本在向量空间中距离更近。传统 RAG 项目通常使用预训练的 Embedding 模型完成这一转换主流选择包括OpenAI 的text-embedding-ada-002开源模型 BGE、M3E中文场景常用的bge-large-zh等向量化的对象包括两个方面索引阶段对每个文档 Chunk 生成向量存入向量数据库。查询阶段对用户问题生成向量用于后续相似度检索。3.4 向量检索向量检索是 RAG 引擎的核心能力之一。系统将问题向量与向量库中的文档向量进行相似度计算返回最相近的 Top-K 个片段。常用的相似度度量方式包括余弦相似度Cosine Similarity欧氏距离Euclidean Distance内积Inner Product在工程实现中向量检索通常由专门的向量数据库承担例如方案特点FaissMeta 开源的高性能向量检索库适合本地部署Milvus分布式向量数据库支持大规模数据Chroma轻量级适合原型开发Pinecone云托管向量数据库开箱即用Elasticsearch 向量插件适合已有 ES 体系的企业3.5 Prompt 拼接与答案生成检索完成后系统将 Top-K 文档片段与用户问题一起组装成最终 Prompt再调用大语言模型生成答案。一个典型的 Prompt 模板如下你是一个知识库问答助手。请严格依据以下参考资料回答用户问题 如果资料中没有相关信息请明确回答“暂无相关信息”不要编造内容。 参考资料 {context} 用户问题{question} 你的回答这种模板设计有两个关键目的明确要求模型“依据资料作答”以降低幻觉概率。为无法回答的场景预留退出路径避免模型强行编造。4. 传统 RAG 的技术栈一个完整的传统 RAG 项目通常涉及以下技术组件文档解析PyMuPDF、pdfplumber、python-docx、BeautifulSoup文档切分LangChain 的RecursiveCharacterTextSplitter、LlamaIndex 的SentenceSplitter向量化OpenAI Embedding API、sentence-transformers向量存储Chroma、FAISS、Milvus大模型接口OpenAI API、通义千问、文心一言或本地部署模型编排框架LangChain、LlamaIndex或自行编写的轻量编排逻辑以 Python 为例一个最小化的传统 RAG 项目示例代码结构如下# 1. 文档加载与切分fromlangchain.text_splitterimportRecursiveCharacterTextSplitter chunksRecursiveCharacterTextSplitter(chunk_size500,chunk_overlap50).split_documents(documents)# 2. 向量化并写入向量库fromlangchain.vectorstoresimportChromafromlangchain.embeddingsimportOpenAIEmbeddings vectorstoreChroma.from_documents(documentschunks,embeddingOpenAIEmbeddings())# 3. 检索相关片段retrievervectorstore.as_retriever(search_kwargs{k:4})docsretriever.get_relevant_documents(user_question)# 4. 拼接 Prompt 并生成答案context\n\n.join([d.page_contentfordindocs])promptbuild_prompt(context,user_question)answerllm.generate(prompt)5. 传统 RAG 的适用场景传统 RAG 在以下场景中表现良好适合作为第一版落地实现企业内部知识库问答规章制度、操作手册、FAQ 的智能问答。客服辅助系统从产品文档中检索答案辅助人工客服回复。文档摘要与信息查询从大量报告中快速查找关键信息。学习辅助工具基于教材、讲义进行知识点答疑。对于知识结构相对扁平、答案集中在少量文档片段中的任务传统 RAG 通常能以较低成本获得不错的回答质量。6. 传统 RAG 的局限与不足尽管传统 RAG 实现简单、见效快但它也存在一些公认的短板6.1 检索质量受限传统 RAG 本质上依赖单个问题向量与文档片段向量的相似度检索。当问题表述与文档用词不一致或问题需要跨多个片段进行推理时检索召回率会明显下降。6.2 缺乏多跳推理能力对于“A 公司去年的营收是多少相比 B 公司有何差距”这类需要跨文档比较、聚合的问题传统 RAG 很难通过单轮检索直接获取完整答案。6.3 知识库规模越大检索精度越低当知识库规模增大、文档片段数量增多时如何从海量候选中精准召回 Top-K 片段成为主要瓶颈容易出现“召回不相关片段”或“遗漏关键片段”的情况。6.4 无法利用结构化关系传统 RAG 将所有知识扁平化为文本片段忽略了实体之间的关系、文档的层级结构等结构化信息。这也是后续 GraphRAG 等方案兴起的重要动因。7. 从传统 RAG 到进阶 RAG为了弥补传统 RAG 的不足学术界和工业界发展出了一系列改进方案HyDE假设性文档嵌入先用 LLM 根据问题生成一段假设答案再拿假设答案去检索缓解问题与文档表述不一致的问题。Rerank重排序先粗召回较多候选片段再用交叉编码器进行精排提升 Top-K 片段的相关性。Self-RAG让模型在生成过程中自行判断是否需要检索并对检索结果进行反思与筛选。GraphRAG构建知识图谱利用实体和关系进行结构化检索提升多跳推理能力。8. 总结传统 RAG 是大语言模型应用工程化的重要起点。它以“文档切分 向量检索 Prompt 增强生成”的清晰链路用较低成本缓解了模型的私有知识接入与幻觉抑制问题适合作为知识问答类项目的第一版实现。理解传统 RAG 的工作流程和局限是进一步学习 Rerank、Self-RAG、GraphRAG、Agentic RAG 等进阶技术的基础。对于大多数初期项目而言传统 RAG 依然是一个务实且高效的选型方向。

相关推荐

Agent工程-运行时控制与治理
Agent工程-运行时控制与治理

Agent 最初常被当作“会调用工具的聊天模型”。早期做法也很直接:写一段提示词,让模型拆解任务,再通过函数调用搜索、读写文件或访问接口。这个方式在演示中往往有效,因为任务短、环境干净、失败可以重来。 但真实业务很快暴露出另… · 2026/11/3 20:35:34

OpenAI Agents SDK 工程笔记:function_tool 的 name_override / description_override 命名分裂、白名单对不上与生产禁区
OpenAI Agents SDK 工程笔记:function_tool 的 name_override / description_override 命名分裂、白名单对不上与生产禁区

有个退款函数在重构时改名成 refund_order_v2,为了不让模型侧感知变化,同事顺手加了 name_override"refund"。代码评审很快过了,上线后第二天,审批系统报表里高危退款的人工复核数掉到零。查下去才知道,审批… · 2026/11/5 0:04:31

TF-M 使用 Ninja 构建
TF-M 使用 Ninja 构建

文章目录使用 Ninja 编译和运行 BL2、TF-M Secure 与 Non-Secure使用 Ninja 构建 Secure配置编译并导出 NS 接口清理使用 Ninja 构建 Non-Secure配置配置报错解决方法配置 TF-M编译 TF-M安装 NS 接口重新配置 NS编译 NS查看产物QEMU 启动尝试加载三个镜像启动报错原因分析解决方… · 2026/11/3 10:33:03

加油站算特种工吗怎么报名实操考试避坑指南
加油站算特种工吗怎么报名实操考试避坑指南

加油站算特种工吗怎么报名实操考试避坑指南 实操考试心里没底怕挂科?很多准备报考特种作业操作证的朋友,尤其是刚接触这个领域的加油站从业人员,最容易陷入的误区就是不清楚自己到底算不算特种工,以及怎么报名才能一步到位。今天我们通过一个发生在焦作的… · 2026/11/8 6:51:49

电工证多少年复查值不值得考?驻马店建筑工人的避坑指南
电工证多少年复查值不值得考?驻马店建筑工人的避坑指南

电工证多少年复查值不值得考?驻马店建筑工人的避坑指南 你是不是也担心, 学历不高怕报不上名 ?特别是像我们这种干体力活的,想着考个电工证,既想提升自己,又怕证书过期、年审麻烦,干脆算了。其实不然, 电工证多少年复查… · 2026/11/8 6:51:49

办电工证去哪儿审在哪考最稳妥
办电工证去哪儿审在哪考最稳妥

办电工证去哪儿审在哪考最稳妥 实操考试心里没底怕挂科,这是很多第一次报考电工证的朋友的真实写照。尤其是新乡地区的初次报考人员,面对复杂的流程和严格的考试标准,心里难免会打鼓。不过别担心, 办电工证去哪儿审… · 2026/11/8 6:51:49

网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办
网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办

网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期?你不是一个人。现在特种作业证管理越来越严格,尤其是高压电工证,一旦过期,不仅影响工作,还可能面临停工、罚款甚至法律风险。很多从业者都遇到过这样… · 2026/11/8 6:51:49

加油站算特种工吗?上岗必备的证书你了解多少
加油站算特种工吗?上岗必备的证书你了解多少

加油站算特种工吗?上岗必备的证书你了解多少 急需特种作业证才能上岗找工作,尤其是像加油站在岗人员,很多都搞不清自己是否属于特种作业范围,更不知道哪些证书是 上岗必备 的。今天咱们就围绕“ 加油站算特种工吗… · 2026/11/8 6:51:49

低压电工证要上课吗?怎么报名?劳务班组负责人必看!
低压电工证要上课吗?怎么报名?劳务班组负责人必看!

低压电工证要上课吗?怎么报名?劳务班组负责人必看! 你是不是也遇到过这种情况,刚进工地就被告知必须有低压电工证才能上岗?别急,现在就告诉你, 低压电工证要上课吗?怎么报名? 这些问题,直接影响你能不能按时开工、拿到工资。… · 2026/11/8 6:50:49

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 11:25:08

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 12:02:18

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/8 1:18:25

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码