当前位置: 首页 > news >正文

收藏!3个方法解决RAG答非所问,提升大模型准确率

本文探讨了RAG架构在问答系统中常见的“答非所问”问题,并提出了三个提升准确率的改进方向。首先分析了朴素RAG的缺陷,包括固定分块导致的语义断裂、向量相似度匹配的局限性以及信息碎片化问题。接着,提出了优化策略:1)改进文档摄取,采用语义分块和LLM补充上下文;2)优化查询处理,通过查询扩展和多查询策略增强匹配;3)采用混合放大方法,如两阶段检索和智能体RAG,以提升检索精准度。文章强调理解问题根源并针对性优化是提升RAG效果的关键,而非盲目堆砌技术。

1 、朴素 RAG 哪里错了

朴素 RAG 的流程看起来很合理:切块、向量化、检索相似片段、塞给 LLM 生成回答。每一步单独看都没毛病,但连在一起就错了。

固定分块会在语义边界上硬切。“ACME 公司 CEO 宣布……收入增长 40%”,如果分块断在"宣布"后面,剩下的半句就变成孤立的信息,单独检索出来毫无意义。

向量相似度匹配的是"看起来像",不是"能回答问题"。用户问"这家公司去年业绩怎么样",向量搜索找到的是表述最接近"业绩"两个字的片段,而不是真正包含答案的那个。

更根本的问题是:检索到的片段是碎片,LLM 在信息残缺的情况下硬着头皮生成,看起来流畅,实际在胡编。

这就是为什么很多 RAG 项目上线后,用户体验远低于预期。

2、 方向一:文档摄取

问题的根源往往在数据准备阶段。

  1. 告别固定分块,用语义分块

固定分块是最初级的做法——按字符数硬切,不管语义是否连贯。更好的方式是分析文档结构,在自然断句处分块:

from docling.chunkingimportHybridChunkerfrom transformersimportAutoTokenizer# 用实际 tokenizer 而不是字符数 tokenizer=AutoTokenizer.from\_pretrained("sentence-transformers/all-MiniLM-L6-v2")chunker=HybridChunker(tokenizer=tokenizer,max\_tokens=512,merge\_peers=True# 合并相邻的小分块)# 传入文档对象,自动识别标题、段落、表格结构 chunks=list(chunker.chunk(dl\_doc=document))

这样切出来的块,标题和对应的正文天然在一起,检索时才不会被切开。

  1. 给每个分块加上它缺失的上下文

切块之后,每个分块是孤立的——"收入增长 40%"单独存在,没人知道这是哪家公司、哪个季度的数据。补充上下文的方法是用 LLM 生成一句话描述:

asyncdef enrich\_chunk(chunk:str,document:str,title:str)->str:"""用 LLM 为分块添加文档级上下文"""prompt=f"""标题:{title} 文档内容:{document[:4000]} 当前分块:{chunk} 请提供 1-2 句话,说明此分块与完整文档的关系。 格式:"此分块来自[标题],讨论[内容摘要]。" """response=awaitclient.chat.completions.create(model="gpt-4o-mini",messages=[{"role":"user","content":prompt}],temperature=0,# 确定性输出 max\_tokens=150)context=response.choices[0].message.content.strip()# 嵌入时使用带上下文的版本returnf"{context}\n\n{chunk}"

对比效果:

# 补充前"收入增长 40%,利润率提高。"# 补充后"此分块来自 ACME 公司 2024 年 Q2 SEC 文件,讨论季度财务表现与 Q1 的比较。收入增长 40%,利润率提高。"

原来只能匹配"收入增长",现在能匹配"ACME"、“Q2”、“财务表现”——检索命中率大幅提升。

3 、方向二:查询处理

用户的问题是模糊的,向量检索是精确的,中间缺一层翻译。

  1. 查询扩展:把短问题变成长问题

用户通常问得很短,但文档写得详细——两者之间有表述差异。用 LLM 把用户的问题扩展成更详细、包含更多角度的版本:

asyncdef expand\_query(query:str)->str:"""将用户短查询扩展为详细版本"""system\_prompt="""你是查询扩展助手。将用户简短、模糊的查询扩展为更详细、全面的版本。 要求: 1. 添加相关上下文和澄清 2. 包含可能的同义术语和概念 3. 指定应该涵盖的方面 4. 保持原始查询的核心意图 5. 输出单个连贯的问题"""response=awaitclient.chat.completions.create(model="gpt-4o-mini",messages=[{"role":"system","content":system\_prompt},{"role":"user","content":f"扩展此查询:{query}"}],temperature=0.3)returnresponse.choices[0].message.content.strip()

实际效果:

# 用户输入"什么是 RAG?"# 扩展后 "检索增强生成(RAG)是什么?它的核心组件(检索、生成、增强)各自的原理是什么? 在问答系统、内容生成、知识推理等场景中 RAG 的典型应用有哪些?相比纯生成模型有什么优势?"
  1. 多查询:一个问题变成多个角度

用户的表述方式未必和文档一致。用 LLM 生成同一个问题的几种不同表述,然后并行搜索、去重:

asyncdef generate\_query\_variations(query:str,num:int=3)->list:"""生成同一问题的多种表述"""prompt=f"""针对以下查询,生成 {num} 种不同的表述方式。 每种表述应该从不同角度提出同一个问题。 每行一个,不要编号: "{query}" """response=awaitclient.chat.completions.create(model="gpt-4o-mini",messages=[{"role":"user","content":prompt}],temperature=0.7# 适度随机,生成不同表述)variations=response.choices[0].message.content.strip().split('\n')return[query]+variations

一个查询变出多个角度,命中率自然上来。

4、 方向三:混合放大

前两个方向解决的是"找对",这一层解决的是"找准"。

  1. 两阶段检索:向量搜索 + 重排序

向量搜索快但粗糙,重排序精确但慢——两者结合才是最优解。先快速召回候选,再用交叉编码器精确排序:

from sentence\_transformersimportCrossEncoder#### 初始化重排序模型(交叉编码器) reranker=CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')asyncdef search\_with\_reranking(query:str,limit:int=5)->list:#### 阶段1:向量搜索,取4倍候选(保证召回) query\_embedding=awaitembedder.embed\_query(query)candidates=awaitdb.query(query\_embedding,limit=limit \*4# 多取一些,给重排序留空间)#### 阶段2:交叉编码器重新评分 pairs=[[query,row['content']]forrowincandidates]scores=reranker.predict(pairs)#### 按重排序分数排序,取代向量相似度 reranked=sorted(zip(candidates,scores),key=lambda x:x[1],reverse=True)[:limit]return[docfordoc,scoreinreranked]

对比效果:

查询:"第二季度收入增长因素是什么?"向量搜索(top3"第二季度收入为3.14亿美元"(0.82)← 相似度高,但答非所问"增长因素包括..."(0.78)"第一季度,收入为..."(0.76)重排序后(top3"增长因素包括..."(0.94)← 真正回答了问题"第二季度收入为3.14亿美元"(0.89)"第二季度表现的关键驱动因素..."(0.85)
  1. 智能体 RAG:让系统自己决定怎么搜

不同类型的问题需要不同的检索策略——与其让人预设规则,不如让模型自己判断:

from pydantic\_aiimportAgentagent=Agent('openai:gpt-4o',system\_prompt='你是具有多个检索工具的 RAG 助手。根据用户问题选择最合适的工具。')@agent.toolasyncdef search\_knowledge\_base(query:str,limit:int=5)->str:"""语义搜索文档分块"""results=awaitdb.match\_chunks(query,limit)returnformat\_results(results)@agent.toolasyncdef retrieve\_full\_document(document\_title:str)->str:"""当分块信息不足时,检索完整文档"""result=awaitdb.query("SELECT \* FROM documents WHERE title ILIKE %s",f"%{document\_title}%")returnf"{result['title']}\n\n{result['content']}"@agent.toolasyncdef sql\_query(question:str)->str:"""查询结构化数据(数值、统计等)"""returnexecute\_safe\_sql(question)

系统根据问题类型自己判断:问数值查数据库,问政策拉全文,问概念搜分块。

没有银弹,但有路径

RAG 优化不是堆技术,是理解问题出在哪一层。

文档摄取解决的是数据准备得好不好。查询处理解决的是翻译损耗。混合方法解决的是精度天花板。

三个方向不是都要一起上,而是先定位问题在哪,再决定从哪个方向下手。60% 到 90% 的提升,往往靠的不是更多技术,而是更准确地找到最短的那块木板。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

http://www.jsqmd.com/news/654076/

相关文章:

  • PLB-TV 纯净 4K 影视:无广告流畅播放体验
  • 2026年氯化钙怎么选?实测避坑指南与品牌挑选真相
  • ​九科信息:以企业级AI Agent重塑企业数智化生产力
  • 2026耐候钢结构防火涂料厂家推荐 廊坊美鑫防火材料有限公司领衔(产能+专利+质量三重保障) - 爱采购寻源宝典
  • HunyuanVideo-Foley未来展望:多模态输入与交互式音效生成的探索
  • Lingyuxiu MXJ LoRA效果实测:同一Prompt下5个LoRA版本风格对比图集
  • Hermes Agent 部署 UI + 本地模型 Gemma 4,对接微信(完全免费,无需 Tokens)
  • 想监控局域网?教你五个实用的局域网监控方法,快码住了
  • 【企业级Prompt治理框架】:如何在3天内搭建可审计、可迭代、可量化的提示词管理体系?
  • 2026高安全性危险品库房厂家推荐 廊坊荣特建材领衔(产能+专利+环保三重认证) - 爱采购寻源宝典
  • 2026便携式总氮测定仪厂家推荐排行榜江苏盛奥华领衔(产能+专利+服务三重权威认证) - 爱采购寻源宝典
  • 单片机【指定数组地址】跳转表写法
  • 4.15学习日志
  • 生成式AI应用数据回流机制:从原始日志到高质量微调数据的7步工业化流水线(附GDPR/《生成式AI服务管理暂行办法》双合规checklist)
  • 2026智能快速bod分析仪厂家推荐排行榜江苏盛奥华环保科技领衔(产能+专利+服务三重认证) - 爱采购寻源宝典
  • 多进程multiprocessing加速程序的运行
  • 2026艺术装饰混凝土厂家推荐排行榜从产能到质量,廊坊美鑫防火材料有限公司领跑行业 - 爱采购寻源宝典
  • 2026智能联网检测仪厂家推荐 江苏盛奥华环保科技领衔(产能/专利/质量三重认证) - 爱采购寻源宝典
  • 2026创新节能型自动化控制系统厂家推荐 珀克利电气科技产能与专利双领先 - 爱采购寻源宝典
  • SenseVoiceSmall实战分享:多语言会议录音的情感与事件分析
  • 5分钟快速上手OBS智能背景移除插件:免费实现专业虚拟背景的完整指南
  • Nanbeige4.1-3B部署案例:国产A10/A800显卡适配经验——CUDA 11.8+torch2.0实测
  • STM32 实现差分编码器高精度数据采集与倍频技术详解
  • Qwen3-14B镜像空间优化:精简日志+清理缓存+压缩模型权重技巧
  • 2026年靠谱的南京广告摄影/南京商业摄影/南京工业摄影/南京企业宣传摄影靠谱公司推荐 - 品牌宣传支持者
  • Figma设计数据双向转换:如何实现设计文件与JSON格式的高效互转
  • GLM-4.7-Flash完整使用指南:部署、调用、调优一站式解决,小白友好
  • 2026便携式检测仪厂家推荐排行榜江苏盛奥华环保科技产能与专利双领先 - 爱采购寻源宝典
  • HY-Motion-1.0输入规范详解:Prompt编写避坑指南
  • 2026轻质耐用防爆板厂家推荐 廊坊荣特建材集团领衔(产能/专利/质量三重认证) - 爱采购寻源宝典