一说到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(查询抽象)
查询抽象旨在提供对事实需求的更广泛视角,可能导致更多样化和全面的结果。这涉及到识别和提炼查询的基本意图和核心概念元素,然后创建一个高层次的表示,捕捉本质含义的同时去除具体细节。
-
场景:查询抽象主要针对不仅需要理解事实,还需要理解并应用与数据上下文相关的领域特定推理的查询。
-
案例:例如,原始查询“中国举办过多少次奥运会?”可以被抽象为“奥运会的举办历史”,这种抽象提供了一个更广泛的背景,有助于理解和回答查询。
查询优化技术分类树提供了一个清晰的层次结构,帮助理解不同技术之间的关系和它们在查询优化过程中的作用。
- Query Expansion(查询扩展)
-
内部扩展(Internal Expansion): 包括GENREAD、GUIDECQR、QUERY2DOC等技术,它们通过生成与查询相关的文档或利用LLMs已有的知识来扩展查询。
-
外部扩展(External Expansion): 包括MUGI、KNOWLEDGPT等技术,它们通过从外部数据源检索信息来扩展查询。
- Query Decomposition(问题分解)
- 包括RAG-STAR、PLAN×RAG、CONTREGEN等技术,它们将复杂的多跳查询分解为更简单、可管理的子查询或任务。
- Query Disambiguation(查询消歧)
- 包括RSTAR、RQ-RAG、RAFT等技术,它们旨在消除查询中的歧义,确保查询的明确性,以便更准确地检索信息。
- 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%免费】🆓