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

RAG 检索增强生成七步链路实战:从文档切分到答案生成

发布时间:2026/11/16 1:50:19 来源:云帆数科 栏目:资讯中心
RAG 检索增强生成七步链路实战:从文档切分到答案生成
RAG 检索增强生成七步链路实战从文档切分到答案生成一、为什么需要 RAG三个绕不过去的限制本地模型跑起来之后你会撞上三个限制它们恰好对应 RAG 的三个存在理由。第一是幻觉。问模型我们公司产品的保修期是多久它不会说不知道而是基于训练时的通用知识编一个听起来合理的数字。对企业场景这是致命的。RAG 的思路是先把文档里真正相关的段落搜出来强制模型照着资料答题编造空间被大幅压缩。第二是私有知识不在模型脑子里。公司合同、内部手册、上周的周报训练语料里不可能有。RAG 不要求模型记住这些材料只要求它现场读——每次提问时把相关资料临时塞进上下文。知识更新不需要重新训练文档改了、重新入库下一次提问就生效这是 RAG 相对微调最大的运营优势。第三是上下文窗口有限。就算不嫌贵几十万字的文档也塞不进一次请求。RAG 只检索最相关的 3-8 个块上下文占用稳定可控。一句话概括RAG 就是给模型配一套开卷考试的资料检索系统。二、标准链路七步从文档到答案RAG 的完整链路分两条泳道离线建库文档只处理一次和在线问答每次提问都走一遍。第①步文档准备输入是原始文档PDF、Markdown、TXT、HTML。这一步最坑的在源头扫描版 PDF 没有文字层解析出来是空的后面全白干要先确认能复制出文字不行就先 OCR。表格混排的文档抽取顺序常常是乱的建议人工整理成 Markdown 再入库。还有一个经验一百份产品手册和一百份合同混在一个库里检索精度会被明显拖累按主题分库更稳。第②步解析Loader解析器把不同格式还原成纯文本。手写时一般用 LangChain 的各类 Loader 或各格式自己的解析库。可调点是元数据解析时给每段文本附带来源信息文件名、页码、章节名后面调试答案出处对不对全靠它也是给最终答案附引用的基础。第③步切块Splitter——最影响检索质量的参数切块是 RAG 里最考验经验的地方。经验区间单块 800-1200 字相邻块 10-15% 重叠。两个方向各有一个坑块太大一个块塞太多主题语义被稀释模型要在一大段里自己找答案块太小一句话一个块语义不完整。重叠区让跨边界的语义在相邻块各留一份缓解关键信息正好卡在切缝上的问题。实操建议优先按结构切按章节、按段落边界而不是按字数硬切。按结构切为主、超长段落再按字数切是更稳的组合。第④步嵌入Embedding嵌入模型把文本映射成高维向量。两条硬约束入库和检索必须用同一个嵌入模型换模型后老库向量全部作废必须重建——这是 RAG 最常见的坑中文文档优先选中文能力强的模型本地可用 bge-m3轻量通用可选 nomic-embed-text。第⑤步入库向量库所有块的向量连同原文、元数据写进向量数据库。选型参考Chroma 嵌入式适合个人和小数据量FAISS 内存库适合追求检索速度Milvus 或 Qdrant 适合生产和海量数据。第⑥步检索top-k把用户问题用同一个嵌入模型转成向量去库里找距离最近的 k 个块。经验区间 top-k 3-8k 太小相关块没排进前几答案直接缺料k 太大噪声块引入不仅浪费上下文还会把模型注意力带偏。判断 top-k 是否合适有个土办法把检索出来的块打印出来自己看一遍前 3 个块里必须包含答案原文否则不是模型的问题是检索没命中。第⑦步拼 Prompt 与生成把系统指令 检索到的块 用户问题拼成一次请求发给 LLM。Prompt 模板里两句指令很关键“只根据下面提供的资料回答资料里没有就回答’资料中没有相关信息’”——给模型留说不知道的出口是压制幻觉的直接办法资料和问题分开标清楚别让模型分不清背景和问题。三、最小可用代码Ollama 嵌入 Chromaimportrequestsimportchromadb OLLAMAhttp://localhost:11434LLM_MODELqwen2.5:7bEMB_MODELbge-m3defembed(texts):resprequests.post(f{OLLAMA}/api/embed,json{model:EMB_MODEL,input:texts})resp.raise_for_status()returnresp.json()[embeddings]# 离线建库一次性clientchromadb.PersistentClient(path./rag_store)colclient.get_or_create_collection(manual)col.upsert(ids[str(i)foriinrange(len(chunks))],embeddingsembed(chunks),documentschunks)# 在线问答每次提问defrag_answer(question:str,top_k:int5)-str:hitscol.query(query_texts[question],n_resultstop_k)context\n.join(hits[documents][0])prompt(只根据下面的资料回答用户问题资料中没有相关信息就回答资料中没有相关信息。\n\n【资料】\ncontext\n\n【问题】question)resprequests.post(f{OLLAMA}/api/chat,json{model:LLM_MODEL,messages:[{role:user,content:prompt}]})resp.raise_for_status()returnresp.json()[message][content] 验证分三层Ollama 层确认嵌入模型在列表里检索层把命中块打印出来确认包含答案原文——这是金标准检索没命中时别急着调 Prompt先回切块和嵌入模型查生成层确认回答与文档一致且对资料里没有的问题回答没有相关信息而不是编造。## 四、回答质量排查症状对应链路RAG 答错时按症状反推是哪一步出了问题不要一上来就换更大的模型-检索不到命中块全不相关→ 切块/嵌入/文档质量有问题。检查是否扫描版 PDF 没抽到字确认入库和检索用同一嵌入模型。--答非所问命中对了但答偏→ top-k 过大引入噪声或 Prompt 没写死只根据资料回答。降 top-k 到3再看。--幻觉资料里没有的也编→ Prompt 没留说不知道的出口或模型能力不足。加没有就回答不知道仍不行换更大的对话模型。--答案对但缺细节→ 块切得太碎关键句被切散。加大 chunk 或加大 overlap 重切重建。 调试习惯每次只改一个变量并把检索命中块打印出来对比。改完立刻知道是哪次改动起的作用。## 五、RAG vs 微调 vs 长上下文先选路线再动手三条路线经常被混在一起其实分工不同让它知道新事实用 RAG知识更新快、需要引用来源、冷启动项目都适合让它学会新本事用微调风格、格式、专业推理这类怎么答的问题微调更合适两者可叠加微调把基座调好RAG 负责喂私有知识。 长上下文场景也有讲究文档总量在几万字以内、且每次提问都高度相关比如就一份合同反复问直接整份塞进上下文可行省掉检索失真的风险文档总量超过上下文预算、或每次提问只跟一小部分相关必须走 RAG。折中做法是直接塞 检索各留一部分。 生产环境里 RAG 答案最好带出处解析时把文件名、页码存进 metadata检索后把来源编号附在答案末尾。引用对不上时问题多半出在切块边界——这既是用户体验也是快速核对通道。把这条链路吃透任何工具里的切块大小、top-k、嵌入模型这些参数你调起来都有依据而不是盲猜。

相关推荐

AI Agent 工程化实战:从最小工具调用循环到生产级系统
AI Agent 工程化实战:从最小工具调用循环到生产级系统

AI Agent 工程化实战:从最小工具调用循环到生产级系统 一、Agent 不是"会聊天的机器人" 很多团队把 Agent 理解成"更聪明的聊天机器人",这个认知偏差会导致整个技术方案走偏。Agent 的本质是能感知目标、规划步骤、调用工具、根据反… · 2026/11/11 23:15:58

C#+Halcon机器视觉框架源码:从模块化设计到落地避坑实践
C#+Halcon机器视觉框架源码:从模块化设计到落地避坑实践

简介:这套C#与Halcon混合编程的机器视觉框架源码,面向视觉检测与自动化设备开发者,覆盖AOI视觉检测、机械手定位、点胶机、插件机、激光切割机、视觉螺丝机、贴合机、激光焊接机、视觉裁板机等典型场景,可用于快速验证和落地视觉项… · 2026/11/11 6:17:35

AI提示流编排器的运行时看门狗与死循环熔断器
AI提示流编排器的运行时看门狗与死循环熔断器

1. 项目概述:为什么一个“提示流编排器”需要看门狗和熔断器?你有没有试过让一个AI Agent去查天气、订咖啡、再把结果发到飞书群——结果它卡在“查天气”这一步,反复调用同一个API十几次,每秒发起3个请求,半小时后账单… · 2026/11/14 11:46:11

电工证快速办理 兰州官方回应怕考不过白交培训费
电工证快速办理 兰州官方回应怕考不过白交培训费

电工证快速办理 兰州官方回应怕考不过白交培训费 怕考不过白交培训费?兰州电工证快速办理流程全公开,官方回应来了!别再被培训机构忽悠,现在自己就能搞清楚到底要怎么操作,避免被坑。作为开封一位在职建筑工人,我深知电工证对咱们一线工人的意义。别小… · 2026/11/16 1:49:52

电工证高级有什么要求?电子证书怎么申请?别让证书过期耽误你的职业发展
电工证高级有什么要求?电子证书怎么申请?别让证书过期耽误你的职业发展

电工证高级有什么要求?电子证书怎么申请?别让证书过期耽误你的职业发展 证书过期了不知道怎么复审延期,你不是一个人。最近有位信阳的应届工程类毕业生小李,因为没及时处理电工证复审,结果在找工作时吃了大亏。现在不少人都在问:… · 2026/11/16 1:49:52

电工证不能直接报考吗?学历不高也能拿上岗必备证书
电工证不能直接报考吗?学历不高也能拿上岗必备证书

电工证不能直接报考吗?学历不高也能拿上岗必备证书 你是不是也这样,学历不高,又想找个稳定的工作,听说电工证是 上岗必备 ,但又担心自己条件不够,根本报不上名?别急,今天我就从一个干了10年应急管理行业老手的角度,来给你讲讲电工证到底能不能直… · 2026/11/16 1:49:52

江苏特种工考证知识点全解析:学历不高怕报不上名?郑州报考避坑指南
江苏特种工考证知识点全解析:学历不高怕报不上名?郑州报考避坑指南

江苏特种工考证知识点全解析:学历不高怕报不上名?郑州报考避坑指南 你是不是也这样想:学历不高,考特种作业证是不是没戏?别急,今天我就从河南漯河公路工程从业者的角度,给你讲讲江苏特种工考证的那些事儿,让你知道,学历不是拦路虎,关键是你怎么准备… · 2026/11/16 1:49:52

电工证能挂靠社保吗 通过率揭秘
电工证能挂靠社保吗 通过率揭秘

电工证能挂靠社保吗 通过率揭秘 找工作卡在特种作业证上,你不是一个人。尤其是电工证,成了很多电工从业者进入工地、电力公司、制造业企业的“敲门砖”。但你知道吗? 电工证能挂靠社保吗… · 2026/11/16 1:49:52

低压电工证配电柜隐患千万别踩坑,别让证书拖累你找工作的机会
低压电工证配电柜隐患千万别踩坑,别让证书拖累你找工作的机会

低压电工证配电柜隐患千万别踩坑,别让证书拖累你找工作的机会 你是不是正在为找不到电工相关的工作发愁?是不是还在为特种作业证的考试流程、费用、考试内容一头雾水?别急,今天就带你扒一扒低压电工证的那些事,特别是 低压电工证配电柜隐患… · 2026/11/16 1:48:52

长春初级电工证怎么考?通过率揭秘全在这里
长春初级电工证怎么考?通过率揭秘全在这里

长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50

国内电工证报考条件与考试时间
国内电工证报考条件与考试时间

低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50

电工作业时如何断电?电子证书到底能不能全国通用?
电工作业时如何断电?电子证书到底能不能全国通用?

电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50

电工证培训的通知在哪考?别再被中介骗了
电工证培训的通知在哪考?别再被中介骗了

电工证培训的通知在哪考?别再被中介骗了 你是不是还在为 电工证培训的通知在哪考 发愁?网上搜了一堆信息,结果要么是挂羊头卖狗肉的培训机构,要么就是打着“包过”旗号的骗子?别急,今天我来给你讲讲, 电工证培训的通知… · 2026/11/16 0:00:34

高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟
高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟

高级电工证企业认可吗保姆级教程:实操考试心里没底怕挂科?看完这些建议再考不迟 你是不是也这样,站在高压电工实操考试的设备前,手心冒汗,生怕一个操作失误就被判不合格?实操考试心里没底怕挂科,这是很多准备考高级电工证的人的真实写照。别担心,今天… · 2026/11/16 0:00:34

电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享
电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享

电工证去哪个部门考核值不值得考 信阳转岗人真实经历分享 怕考不过白交培训费?你不是一个人,信阳的李师傅去年刚转岗做电工,就因为没搞清楚电工证去哪个部门考核,差点交了8000块的培训费。别急,下面这份实操考试全攻略,告诉你电工证到底值不值得考… · 2026/11/16 0:00:34

双极步进电机控制实战: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/15 1:51:20

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/15 4:02:19

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/15 3:02:05

了解更多?预约专属演示

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

企业微信二维码