提升 RAG 效果的关键:问题改写(Query Transformation)技术解析

RAG之query改写优化 RAG系统涉及到对用户query做检索召回,好的query更有利于召回正确的结果。所以query analysis要做的就是对输入query做一个改写,让其语义更完善或格式更清晰。基于query改写好的文档如下,然后我们可以分别基于query和文档做检索。 阅读详情

前言:问题改写是 RAG 系统中不可或缺的“桥梁”技术,它连接了“用户语言”与“知识库语言”,显著提升了检索的相关性和系统整体性能。掌握并合理应用问题改写方法,是构建高效、智能 RAG 应用的关键一步。

1、问题改写(Query Rewriting/Transformation)简介

问题改写(Query Rewriting/Transformation)是信息检索、对话系统和RAG(检索增强生成)中的关键技术,旨在对用户原始问题进行转换、分解或增强,以提高检索效果或理解准确性。

2、为什么问题改写在 RAG 中如此重要?

在原始的 RAG 流程中,用户提问后,系统直接使用该问题去检索知识库。但实际中,用户的问题可能存在:

  • 表述模糊(如:“它怎么样?”)
  • 缺少上下文(如对话历史中的指代)
  • 使用口语化或非专业术语
  • 复杂多跳问题(包含多个子问题)

这些问题会导致检索失败或召回不相关文档。问题改写的作用就是优化原始查询,使其更适合检索系统(尤其是向量数据库或搜索引擎)理解与匹配。

3、问题改写在 RAG 中的常见方法

序号方法名称核心说明示例展示
1同义扩展(Query Expansion)通过添加同义词、近义表达或相关术语,扩大检索覆盖范围“手机发热” → “手机发烫、过热、温度高”
2语义重写(Semantic Rewriting)将口语化、模糊表述转化为更清晰、标准的表达,提升检索准确性“这玩意儿好用吗?” → “这款产品用户体验如何?”
3对话历史融合(History Integration)整合上下文信息,解决对话中的指代问题,明确检索对象历史:“特斯拉 Model Y” 问:“续航多少?” → “特斯拉 Model Y 续航多少?”
4问题分解(Step Decomposition)将复杂的多跳问题拆解为多个简单的单跳问题,分步检索后整合结果“比较 A 和 B 的优缺点” → 分别检索 A 的优点、A 的缺点、B 的优点、B 的缺点
5HyDE(假想文档嵌入)先生成假设性回答,再通过其向量检索相似的真实文档,优化检索相关性“光合作用的过程?” → 生成回答 → 向量化检索相似真实文档
6标签提取与结构化查询提取问题中的实体、类别、属性等关键信息,用于结构化过滤检索结果“找一部科幻类、诺兰导演的电影” → 过滤 genre = 科幻,director = 诺兰
7查询重表述(Paraphrasing)用不同句式或表达方式重述问题,保持语义不变的同时优化检索适配性“怎么安装 Python?” → “Python 的安装步骤是什么?”

4、问题改写带来的好处

核心价值目标具体说明关联优化方法举例
提高召回率(Recall)通过扩展或重写查询内容,扩大检索覆盖范围,匹配更多潜在相关文档同义扩展、问题分解
增强语义理解优化查询表述的清晰度和标准化程度,帮助检索器精准捕捉用户真实需求意图语义重写、查询重表述
支持多轮对话整合上下文信息,解决对话中的指代模糊或上下文缺失问题,明确检索对象对话历史融合
优化向量检索效果提升查询 embedding 与文档 embedding 的匹配精度,尤其适用于语义检索场景HyDE、语义重写
降低对原始查询质量的依赖通过技术手段修正不规范、口语化或模糊的提问,保障检索效果稳定性语义重写、标签提取与结构化查询

5、实际应用建议

  • 在 RAG 系统中,可将问题改写作为预处理模块,位于用户输入与检索器之间。
  • 可结合多种策略:如先融合对话历史,再进行 HyDE 或分解。
  • 注意延迟与成本权衡:使用大模型进行改写会增加推理时间,需根据场景选择轻量或复杂策略。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

解决大模型,你是谁的问题 大模型自我认知的问题解决,通过数据微调解决,数据如下。 阅读详情

相关推荐

RAG查询精炼实战:Query Transformation与Routing全解析

在RAG系统中,查询处理(Query Handling)是决定检索质量与答案准确性的核心前置环节。其本质是将用户模糊、口语化、指代不明的自然语言查询,通过语义理解、结构重构与上下文增强等技术,转化为适配知识库特征的精准检索指令。关键技术包括Query Expansion(同义扩展)、Query Reformulation(清晰重写与问题分解)、HyDE(假设文档嵌入)、Multi-Query生成及LLM智能体驱动的动态转换;同时需结合Query Routing实现数据源精准分发,涵盖函数调用路由、语义路由与

weixin_30239339的博客 455

RAG关键技术:问题改写(Query Rewriting/Transformation)

问题改写是RAG(检索增强生成)系统中的关键技术,用于优化用户查询以提升检索效果。它通过同义扩展、语义重写、对话历史融合等方法,解决表述模糊、上下文缺失等问题,提高检索相关性。问题改写能增强语义理解、支持多轮对话、优化向量检索,降低对原始查询质量的依赖。在RAG系统中,可将问题改写作为预处理模块,结合多种策略使用。

2401_84494441的博客 2124

LLM 大模型RAG 多轮回答问题准确率优化:问题改写

有时候多轮进行上下文关联变弱,比如前面问北京的天气,后面问广州的呢,可能前面大模型回答内容过多一起上下文给到会导致后面多轮识别产生错误。解决方法:可以把用户问题单独取出来做处理,根据前面问题通过大模型prompt形式改写当前问题。

weixin_42357472的博客 1082

知识图谱用于细粒度大模型幻觉评估:兼论Langchain-RAG问答中的问题改写范式

来自:老刘说NLP快来!NLP论文投稿、LLM交流、论文直播群我们在之前的文章中有说过,Langchain作为当前RAG和AGENT的一个明星框架,已经为大家所熟知,而随着应用人数的增加,在技术层面上也出现了许多的问题和对应的优化方案。例如,一般RAG通常将文档分割成块,嵌入其中,并检索与用户问题语义相似度高的文档块。但是,这也带来了一些问题:文档块可能包含不相关的内容,从而降低了检索效率;用户问...

zenRRan的博客 1407

通达信筹码分布主图源码分享

NOTEXT下区成本:IF(CURRBARSCOUNT<=CONST(XA_26+1),CONST(IF(1,XA_94,XA_94)),DRAWNULL),DOTLINE,COLORYELLOW;NOTEXT上区成本:IF(CURRBARSCOUNT<=CONST(XA_26+1),CONST(IF(1,XA_81,XA_81)),DRAWNULL),DOTLINE,COLORRED;FFG1:DRAWBAND(C线,RGB(255,0,0),XA_33,RGB(255,0,0));

zhibiaogong的博客 3359

VSCode里玩转AvaloniaUI:手把手教你搭建跨平台桌面应用开发环境(附.NET 7配置避坑)

本文详细介绍了如何在VSCode中搭建AvaloniaUI跨平台桌面应用开发环境,包括.NET 7配置避坑指南。从环境准备、项目创建到调试优化,手把手教你利用VSCode和Avalonia实现高效开发,特别解决了.NET 7依赖等常见问题,助力开发者快速上手跨平台应用开发。

weixin_28826545的博客 578

RAG关键技术深度解析:揭秘问题改写(Query Rewriting/Transformation)!

摘要:问题改写是RAG系统的关键技术,通过优化用户查询提升检索效果。主要方法包括同义扩展、语义重写、对话历史融合、问题分解等7种策略,能有效解决表述模糊、上下文缺失等问题。该技术可提高召回率、增强语义理解、优化向量检索,建议作为预处理模块结合多种策略使用。文末还提供了AI大模型学习资源,包含学习路线图和实战资料等。

WANGJUNAIJIAO的博客 2192

基于Web的智能家居(源码+开题)

实践上,智能家居系统的普及和应用将极大改善人们的居住体验,提高生活质量,同时也有助于促进智能家居产业链的发展和完善,为社会经济发展注入新的活力。此外,本研究还将对基于Web的智能家居系统的用户体验进行深入研究,通过用户调研和数据分析,不断优化系统功能和界面设计,提升用户的使用体验和满意度。针对以上问题,本研究将综合运用物联网、云计算、大数据等新一代信息技术,通过系统架构设计、功能模块开发、安全性保障、用户体验优化等多个方面的研究工作,力求为基于Web的智能家居系统的研发和应用提供全面而有效的解决方案。

sryue06的博客 1904

Query Transformation

是指在将用户问题送入。

find_element_by_id的博客 725

3D Gaussian Splatting的使用

Gaussian splatting 快速生成自己屋子的模型

gootyking的博客 1万+

电阻应变式力传感器

电阻应变式力传感器

lu_fresh_student的博客 5075

Query Transformation技术解析:提升检索效果的关键方法

在信息检索系统中,查询转换(Query Transformation)是一项核心技术,通过改写或扩展用户原始查询,使其更适配底层检索机制。该技术基于自然语言处理(NLP)原理,能有效解决查询表述与系统索引间的语义鸿沟问题。在工程实践中,结合大语言模型(LLM)的智能改写可显著提升检索召回率和结果准确率,特别是在检索增强生成(RAG)系统中展现重要价值。典型应用场景包括消除指代歧义、补充隐含条件、专业术语转换等,电商搜索、知识库问答等系统通过该技术实现查询效率的成倍提升。当前主流实现方案涵盖多表征索引、查询重

weixin_28678151的博客 247

【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)

简洁易懂的车牌号识别Python实现(含代码)1、整体思路2、代码详解 1、整体思路 2、代码详解

qq_40784418的博客 9万+

RAG系统中的Query Transformation详细说明

Query Transformation是检索增强生成(RAG)系统中的关键技术,通过将用户模糊、口语化的自然语言查询转化为精准、可检索的语义表达,提升系统回答质量。主要方法包括同义扩展、语义重写、对话历史融合、问题分解等,有效解决语义匹配、指代模糊等问题。该技术广泛应用于智能客服、企业知识库等场景,未来将结合大模型能力向多模态、自适应方向发展,成为提升RAG系统性能的核心环节。

阿土不土的博客 401

展锐平台wifi连接性问题解决方案

对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。

手机-手表蓝牙开发工程师的博客 2023

不加行也能填满:用 ABAP BDC 驯服 Table Control 滚动录制缺陷,批量维护供应商银行账户

摘要 本文探讨了在SAP ECC/S4HANA系统中处理供应商主数据时,Table Control控件带来的批量导入挑战。文章指出,银行账户维护界面中Table Control的滚动动作难以被录制工具捕捉,导致批量导入数据时仅能填充前5行。解决方案是通过BDC_OKCODE显式触发翻页(如=P+),并配合行号拼接(如(01)~(05))将数据写入不可见行。文中提供了完整的ABAP程序示例,展示了如何读取外部文件、动态生成BDCDATA、处理表格翻页逻辑,最终通过CALL TRANSACTION执行XK01事

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 275

爆改检索体验!RAG三大核心 Query Transformation 技术实战解析与深度思考:你的AI能“聪明问”,才能“聪明答”!

本文探讨了检索增强生成(RAG)系统中的关键技术——查询变换(Query Transformations),指出AI回答质量很大程度上取决于提问方式。文章解析了三种核心方法:查询重写(Query Rewrite)通过补充细节提升检索精准度;升维提问(Step-back Query)将具体问题扩展为宏观背景;子问题拆解(Sub-query Decomposition)将复杂问题拆分处理。通过代码示例展示了如何用大语言模型实现这些技术,并列举了企业知识库、学术研究等应用场景。文章强调,在RAG系统中,&quot

许泽宇的技术分享 1166

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

一文详解RAG关键技术:问题改写(Query Rewriting/Transformation),零基础小白收藏这一篇就够了!!

问题改写是 RAG 系统中不可或缺的“桥梁”技术,它连接了“用户语言”与“知识库语言”,显著提升了检索的相关性和系统整体性能。掌握并合理应用问题改写方法,是构建高效、智能 RAG 应用的关键一步。 1、问题改写(Query Rewriting/Transformation)简介 问题改写(Query Rewriting/Transformation)是信息检索、对话系统和RAG(检索增强生成)中的关键技术,旨在对用户原始问题进行转换、分解或增强,以提高检索效果或理解准确性。

2401_85327249的博客 1744

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

RAG性能优化实战:Chunking、Re-Ranking与Query Transformation三阶精调

RAG(检索增强生成)是一种将外部知识库与大语言模型结合的关键技术,其核心原理在于通过索引、检索、生成三阶段协同工作,缓解幻觉、提升事实准确性。技术价值体现在不改变LLM本身的前提下,显著增强领域问答的可靠性与可控性。典型应用场景包括企业知识库问答、政策法规咨询、医疗文献辅助分析等对信息溯源和精度要求高的工程落地环节。本文聚焦RAG系统中最常失效的三大瓶颈环节——Chunking(语义分块)、Re-Ranking(重排序)与Query Transformation(查询改写),结合真实项目数据与可复现代码,

weixin_30888413的博客 307

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

第28篇-RAG进阶-重排序查询改写与混合检索

用 Go 语言从零构建各类 AI Agent,覆盖 ReAct、Plan-and-Execute、Multi-Agent、Super Agent 等核心设计模式的完整工程实现。

m0_68987304的博客 240

【智能体开发】《LangChain核心技术与LLM项目实践》_187.[第12章 项目实战] 查询重写技术:Query Transformation解决提问模糊

Query Transformation:让RAG系统理解模糊用户提问的关键技术 摘要 本文深入探讨了RAG系统中Query Transformation(查询重写)技术,该技术解决了用户模糊提问导致检索失败的核心痛点。文章分析了四大技术方案: Step-back Prompting:将具体问题抽象为原理性问题 HyDE:通过生成假设答案来匹配真实文档 Query Expansion:生成多角度查询变体 Multi-Query:并行检索多个查询版本 通过LangChain实战代码展示了如何实现这些技术,并提

231

langchain RAG: Query Transformation (查询转换)

将用户输入转换为更有效的检索查询,通过语义优化提升检索结果的相关性和覆盖率。理解简单一点就是,将来一个查询(query)生成多个不同问法,最后一起检索。突破词汇不匹配(Vocabulary Mismatch)的检索瓶颈。您是一个很有帮助的助手,可以基于单个输入查询生成多个搜索查询。通过对用户问题生成多个视角,您的目标是提供帮助。给定用户问题的不同版本,以从向量中检索相关文档。用户克服了基于距离的相似度搜索的一些限制。提供以换行符分隔的备选问题。生成与以下内容相关的多个搜索查询。提高长尾问题的处理效果。

sinat_35153174的博客 558

RAG查询优化秘籍:重写、扩展、拆解,让你的问答效果飙升!

本文介绍了RAG(检索增强生成)中的查询转换技术,主要包括三种优化方式:重写(Rewriting)、扩展(Expansion)和拆解(Decomposition)。重写用于消除歧义、修正口语化表达;扩展通过增加同义词提高召回率;拆解将复杂问题分解为子问题。文章还提供了判断适用场景的方法,如使用硬编码规则或LLM分类器。这些技术能显著提升RAG系统的检索和生成质量。

Trb201013的博客 524

面试题详解:高级 RAG 优化全解析——Query Transformation、混合检索、RAG Fusion、HyDE、Graph RAG 与 Rerank 一次讲透

4.1 大模型可以在召回前帮你“理解问题”大模型辅助召回,不是让大模型直接编答案,而是让它在检索之前或检索之后做辅助判断。检索之前,它可以做意图识别、查询改写、问题分解、同义词扩展、生成多查询。检索之后,它可以判断候选片段是否真的相关,做上下文压缩或重排。4.2 为什么需要大模型辅助召回?因为传统检索器更擅长“相似度匹配”,但不一定懂用户真实任务。比如用户问“这个方案能不能上线”,真正需要的可能是“风险、依赖、测试结果、审批流程、历史事故”。如果直接拿原问题去检索,可能只搜到“上线方案”四个字相关的文档。

闵浮龙的博客 143

AI大模型实战系列(六):大浪淘沙——Advanced RAG 架构与 Reranker 重排深度解析

本文深入解析了Advanced RAG架构中的核心技术与优化策略。针对大规模知识库检索面临的"高召回、低精度"问题,提出两阶段检索方案:先通过快速向量检索(Bi-Encoder)进行粗排召回,再使用深度交互的Reranker(Cross-Encoder)对候选文档进行精排。重点介绍了基于BGE-Reranker的LangChain实现,通过设置阈值过滤和Top-N截取,显著提升检索质量。文章还指出查询转换在解决用户模糊查询时的重要性,为构建高效RAG系统提供了完整的技术路径。该方案能有效

欢迎来到“不会代码IT男”的频道!这里不拼代码,只拼对AI大模型的深度认知。博客专注高质量原创干货,深耕提示词工程(Prompt)、大模型安全攻防与RAG检索增强生成技术。用通俗语言破除技术神话,带你直击AI底层逻辑,轻松构建自己的AI护城 490

RAG检索优化实战:从67%到92%,我做了这4步

纯向量检索的 Hit Rate 只有 67%,根本不够用。本文从 Baseline 出发,逐步叠加混合检索(BM25+向量+RRF)、BGE-Reranker 重排序、Multi-Query 查询改写、上下文处理,最终将 Hit Rate@5 提升至 92%,答案准确率达 88%。包含完整代码、实验数据和生产环境避坑指南。

汪汪汪的博客 710
上一篇: 建议收藏!大模型面试必考题:微调+蒸馏核心技术全解析(含高频考点+面试真题)
下一篇: Dify 实战:零代码打造合同AI审核助手,提升审查效率
不秃头de程序猿
博客等级 码龄5年 4089粉丝 1478原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值