【查询优化】Query改写只是RAG查询优化的其中一环

一说到RAG查询优化(Query Optimization),不少小伙伴首先想到的就是Query改写,不止这一个哦,这里有更全、更专业QO技术分析:

腾讯最新QO技术研究综述,四大类Query优化:扩展、分解、消歧、抽象

查询优化(QO)对于提高大模型RAG的有效性和精确性至关重要。它通过改进用户的原始查询来解决多种挑战,包括模糊的语义、复杂的要求以及查询与目标文档之间的相关性差异。

Query优化详细分类

Query Expansion(查询扩展)

查询扩展技术对于提高检索增强生成的性能至关重要,尤其是当与大型语言模型(LLMs)集成时。查询扩展可以基于不同的知识来源,分为内部扩展和外部扩展。

Internal Expansion(内部扩展)
  • 场景:内部扩展主要针对信息时效性较低的查询,这些信息通常包含在LLMs的预训练阶段内嵌入的知识。

  • 案例:例如,原始查询“2020年夏季奥运会将在何处举行?”可以通过LLMs生成的相关额外信息进行优化。

External Expansion(外部扩展)
  • 场景:外部扩展主要针对通常需要从知识库或网络中搜索事实的高度时效性查询。

  • 案例:例如,原始查询“2024年夏季奥运会将在何处举行?”可以通过从知识库检索的相关信息进行优化。

Question Decomposition(问题分解)

对于复杂查询,简单地使用原始查询进行搜索通常无法检索到足够的信息。因此,LLMs需要先将这些查询分解成更简单、可回答的子查询,然后搜索与这些子组件相关的信息。通过整合这些子查询的响应,LLMs能够构建对原始查询的全面响应。

  • 场景:顺序分解主要针对需要检索多个事实以形成全面答案的查询。

  • 案例 A:原始查询“在2024年夏季奥运会上,中国在乒乓球或羽毛球上赢得的奖牌更多?”可以优化为两个子查询:“中国在2024年奥运会乒乓球上赢得了多少奖牌?”和“中国在2024年奥运会羽毛球上赢得了多少奖牌?”

  • 案例 B:原始查询“2024年奥运会男子单打乒乓球金牌得主的出生日期是什么时候?”可以优化为两个子查询:“2024年夏季奥运会男子单打乒乓球冠军是谁?”(假设冠军是)和“的出生日期是什么时候?”

Query Disambiguation(查询消歧)

查询消歧旨在识别和消除复杂查询中的歧义,确保查询是明确的。这涉及到确定查询中可能被多种方式解释的元素,并细化查询以确保单一、精确的解释。

  • 场景:查询消歧主要针对模糊查询或有多种潜在解释的查询。它专注于澄清和细化用户查询,以确保准确理解并检索相关信息。

  • 案例:例如,原始查询“2024年夏季奥运会乒乓球单打冠军是谁?”可能指代男子或女子单打冠军,通过消歧,可以将其分解为两个子查询:“2024年夏季奥运会女子乒乓球单打冠军是谁?”和“2024年夏季奥运会男子乒乓球单打冠军是谁?”。

Query Abstraction(查询抽象)

查询抽象旨在提供对事实需求的更广泛视角,可能导致更多样化和全面的结果。这涉及到识别和提炼查询的基本意图和核心概念元素,然后创建一个高层次的表示,捕捉本质含义的同时去除具体细节。

  • 场景:查询抽象主要针对不仅需要理解事实,还需要理解并应用与数据上下文相关的领域特定推理的查询。

  • 案例:例如,原始查询“中国举办过多少次奥运会?”可以被抽象为“奥运会的举办历史”,这种抽象提供了一个更广泛的背景,有助于理解和回答查询。

查询优化技术分类树提供了一个清晰的层次结构,帮助理解不同技术之间的关系和它们在查询优化过程中的作用。

  1. Query Expansion(查询扩展)
  • 内部扩展(Internal Expansion): 包括GENREAD、GUIDECQR、QUERY2DOC等技术,它们通过生成与查询相关的文档或利用LLMs已有的知识来扩展查询。

  • 外部扩展(External Expansion): 包括MUGI、KNOWLEDGPT等技术,它们通过从外部数据源检索信息来扩展查询。

  1. Query Decomposition(问题分解)
  • 包括RAG-STAR、PLAN×RAG、CONTREGEN等技术,它们将复杂的多跳查询分解为更简单、可管理的子查询或任务。
  1. Query Disambiguation(查询消歧)
  • 包括RSTAR、RQ-RAG、RAFT等技术,它们旨在消除查询中的歧义,确保查询的明确性,以便更准确地检索信息。
  1. Query Abstraction(查询抽象)
  • 包括SIMGRAG、COA、CRAFTING-THE-PATH等技术,它们通过抽象查询的本质意图和核心概念,以获取更广泛和全面的结果。

查询优化核心技术的分类树

A Survey of Query Optimization in Large Language Models``https://arxiv.org/pdf/2412.17558

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

### RAG 查询语句的优化改写 #### 查询生成/改写的原理 为了提高检索效率和准确性,在RAG框架下,查询生成阶段利用LLM模型对用户的初始查询进行改写,从而生成多个版本的新查询。这些新查询旨在从不同角度捕捉用户意图,进而提升后续检索的质量[^1]。 ```python def generate_rewritten_queries(initial_query, llm_model): """ 对输入的初始查询进行多次改写,返回一系列新的查询列表 参数: initial_query (str): 用户提出的原始问题 llm_model : 已训练好的大型语言模型实例 返回: list of str: 多个经过改写查询字符串组成的列表 """ rewritten_queries = [] # 基于llm_model生成多种可能的询问方式 for _ in range(5): # 控制生成数量 new_query = llm_model.rewrite_query(initial_query) rewritten_queries.append(new_query) return rewritten_queries ``` #### 向量搜索过程中的应用 对于每一个由上述方法产生的查询变体,系统会执行一次独立的向量匹配操作来获取最接近目标的信息片段。通过这种方式,即使原问题是模糊不清或是表述不够精确的情况下,也能找到更多潜在的相关资料作为候选答案源。 #### 排序机制的作用 值得注意的是,在完成多轮次的向量查找之后,RAG-Fusion引入了一种特殊的排序策略——即所谓的“倒数排名融合”。这一技术能够综合考虑各个查询路径下的文档关联度得分,并据此调整最终呈现给下游模块处理的结果顺序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值