跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

RAG 系统查询优化技巧:扩展、分解、消歧与抽象

RAG 系统通过查询优化技术提升检索与生成效率。主要方法包括查询扩展(内部如 GenRead、外部如 LameR)、查询分解(将复杂问题拆解为子任务)、查询消歧(消除语义模糊)及查询抽象(提升推理层级)。这些技术解决了语义模糊、复杂需求及相关性差异问题,使 LLM 能更精准处理知识密集型任务。

静心发布于 2025/2/7更新于 2026/7/1934 浏览
RAG 系统查询优化技巧:扩展、分解、消歧与抽象

RAG 查询优化简介

检索增强生成(RAG)系统因其能高效地检索信息并生成内容而备受关注。然而,要想让 RAG 系统的表现更上一层楼,查询优化技术显得尤为重要,尤其是在使用大型语言模型(LLM)时。通过扩展、分解、消歧和抽象等方法优化查询,可以显著提升 LLM 在 RAG 系统中的工作效率和准确性。

这些技术通过优化用户的初始查询,解决了语义模糊、复杂需求以及查询和目标文档之间相关性差异等问题,使 RAG 系统在处理知识密集型任务时表现更加出色。

RAG 查询优化示意图

1. 查询扩展

查询扩展技术能够提升信息检索和生成内容的准确性和相关性。主要分为内部扩展和外部扩展两种策略。

内部扩展

利用系统内部已有的数据(如来自 LLM 或查询本身的信息)来增强查询效果。

  • GenRead:通过生成相关的文档片段来补充查询内容。它利用系统内部的信息优化查询,从而提高检索和生成响应的质量。例如,当用户查询'气候变化的影响'时,系统会生成包含'全球变暖'、'极端天气'等相关术语的上下文文档,丰富查询内容。
  • Query2Doc:使用小样本提示来生成伪文档,为查询提供额外的背景信息。例如,针对'如何烤蛋糕'的查询,LLM 会生成包含'面粉'、'鸡蛋'等关键词的伪文档,帮助系统检索更具体的上下文。
  • HyDE(假设文档嵌入):将查询与假设文档的嵌入信息结合,提升检索准确性。系统先创建一个假设答案(如'做蛋糕需要准备面粉、鸡蛋和糖'),根据这个答案进行相似性搜索,找到相关文档,最后使用优化后的查询获得精确结果。

外部扩展

借助外部数据源(如知识库和网页)为查询添加上下文。

  • LameR(基于潜在答案的查询扩展):利用特定领域参考的外部候选答案优化查询。例如,收集'机器学习在医疗保健中的应用'的候选答案来扩展查询。
  • CSQE(语料库源查询扩展):从语料库中识别并提取关键句子,增强查询相关性。系统先检索初始文档,找出相关句子创建更详细的查询。
  • FLARE(未来语言和检索增强):预测查询过程中的下一步,迭代检索相关信息。例如,预测用户接下来可能问'准备蛋糕原料的步骤是什么?',并根据预测进行检索。
  • MUGI(多参考引导查询扩展):使用多个外部引用来增强用户查询的广度和深度。例如,针对'气候变化对北极熊有何影响?'的查询,整合生态研究、气候报告和保护论文中的信息,形成更全面的问题。

2. 查询分解

查询分解技术主要用于处理 RAG 系统中的复杂用户查询。模型可以将复杂查询拆解成更简单的子查询,从而更精准地收集信息。

  • DSP 框架(分解、搜索、解析):把复杂查询拆解成更小、更容易处理的步骤,并通过管道式方法逐步解决。包括拆分子查询、检索相关信息、推理整合答案。
  • 从少到多和计划并解决:将复杂查询按顺序分解成可管理的子查询。'从少到多'从少量例子开始,'计划并解决'则是先制定计划再执行子任务。
  • 自我询问:解决子查询之间的'组合差距',通过整合它们的答案提高整体响应准确性。识别合并答案时的难点,逐步整合答案。
  • ReAct:将多轮交互中的推理和执行结合起来,根据前一步反馈调整推理过程。适用于需要多轮推理的查询。
  • HiRAG(分层 RAG):采用分层策略,将查询分解为多个子查询,利用外部知识和推理链解决每个步骤。适合处理复杂的多维查询。
  • RichRAG 和 ConTReGen:采用多层次方法探索查询,从不同角度分析并将结果组织成树状结构,生成全面答复。
  • EAR(集成增强检索):集成多种查询变体并进行排序,确定最适合信息检索的变体。使用集成学习策略,通过对结果重新排序提高检索系统有效性。
  • COK(知识组合):将来自不同来源或领域的信息融合在一起解决复杂问题。涉及将专业知识库与一般搜索内容整合,提高生成响应的准确性和深度。

RAG 查询分解流程

3. 查询消歧

查询消歧在处理意思模糊或多重含义的查询时至关重要。它能帮助 LLM 更准确地理解用户真实意图。

  • 推理验证:把大问题拆分成几个小问题逐一检查准确性,利用外部知识验证搜索结果。
  • EchoPrompt:让语言模型重新组织语言,把查询说得更清楚,确保理解一致。
  • 上下文树 (ToC):构建一棵消歧树,从查询出发一步步解决歧义,找到最精确的解释。
  • 信息上下文查询重写(InfoCQR):帮助 LLM 重写和编辑查询,加入更多细节,进行更精准搜索。
  • 自适应查询重写(AdaQR):根据之前的响应调整查询重写,计算各种查询重写的条件概率来优化结果。
  • 查询重写的多方面反馈(MaFeRw):结合检索到的文档和生成的答案反馈,优化查询重写。

4. 查询抽象

该方法通过抓住核心原理来简化推理过程,提升效率。

  • 退一步看问题:让 LLM 从更高角度思考,抓住核心原则,而非纠结于复杂细节。例如,针对'怎么烤蛋糕',引导思考'烘焙的原理'。
  • 概念推理:把问题提升到更高的概念层次,让 LLM 用更结构化方式处理。例如,针对'机器学习在医疗领域的应用',思考数据处理的一般应用。
  • 抽象链(CoA):把传统的思路链(CoT)推理提升到更高抽象层次,让模型用特定工具得到更准确答案。
  • 思维抽象(AoT):把推理过程分成多个层次,每一步逐步增加细节。将问题拆成诊断、治疗、预防等子问题详细分析。
  • BaeK:通过生成高级抽象信息增强初始问题,提供更多背景支持。适合需要背景知识的复杂问题。
  • 多方面检索和推理细化 (MA-RIR):识别问题的各个方面,拆分成子领域,方便针对性检索。对于涉及多个主题的问题特别有效。
  • RuleRAG:用逻辑规则增强文档检索,结合逻辑推理和知识图谱优势,提高准确性。
  • SimGRAG:通过两步把查询文本和知识图谱结构对齐。首先转换查询为图形模式,然后用图语义距离衡量对齐程度。

RAG 查询抽象层级

总结

检索增强生成(RAG)系统的核心在于巧妙地将高效的信息检索和对上下文敏感的生成能力结合在一起。通过扩展、分解、消歧和抽象这些查询优化技巧,可以对查询进行微调,使其更贴合用户需求,消除歧义,并精准处理复杂或知识密集型任务。

无论是用上下文信息丰富查询,还是把复杂问题拆解成小块,或者通过抽象获得更广泛见解,这些方法都能显著提升 RAG 系统中大语言模型的表现和灵活性。有了这些创新,RAG 系统能够提供更精准、更相关、更有深度的结果,推动信息驱动型应用向前发展。

参考论文:A Survey of Query Optimization in Large Language Models 链接:https://arxiv.org/pdf/2412.17558

目录

  1. RAG 查询优化简介
  2. 1. 查询扩展
  3. 内部扩展
  4. 外部扩展
  5. 2. 查询分解
  6. 3. 查询消歧
  7. 4. 查询抽象
  8. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • IDS-Agent:基于大模型的物联网可解释入侵检测系统
  • 无人机三维路径规划算法对比:蚁群、A*与RRT*的 Matlab 实战
  • VSCode 集成 Copilot MCP 快速上手指南
  • AI 绘画精讲与 AIGC 时代游戏美术设计:Stable Diffusion 实战指南
  • Android 开发从零入门:学习路线与核心知识体系
  • Linux 高级 IO:基于 ET 模式 epoll 的 Reactor 模型 TCP 服务器实现
  • 基于 OpenClaw 与飞书构建 AI 新闻推送机器人
  • Openclaw 连接本地 Ollama 与 Qwen WebUI 无响应问题排查
  • 动态规划:路径问题
  • ResNext 网络核心技术解析及 UCI-HAR 数据集实验分析
  • Openclaw 连接本地 Ollama 与 Qwen WebUI 无响应排查指南
  • 通义灵码 AI 程序员 实操全指南:从 IDE 安装到全栈需求落地(多文件批量修改 + 报错自动修复 + 跨语言开发)
  • C++ 栈模拟验证栈序列:LeetCode 946 题解
  • Flutter 三方库 dart_webrtc 的鸿蒙化适配指南
  • JavaScript 中 for...in 与 for...of 的区别与用法
  • 宇树机器人 G1 二次开发:FAST_LIO 建图与 RViz 配置教程
  • Go 语言与 GoLand IDE 安装及配置指南
  • 使用 Ollama + AnythingLLM 搭建本地知识库
  • 10 个 AI 降重工具对比与使用指南
  • 2026 年 2 月 AIGC 行业模型发布与前沿技术动态汇总

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online