15种高级RAG技术(二)检索/召回优化

二、检索/召回优化

检索优化涵盖了高级 RAG 技术和策略,目标是在推理时提高搜索性能和检索结果,并在检索发生之前进行优化(本质上,也可以是认为检索过程中的优化)。这些策略包含以下几种:

  • 使用 LLM 优化搜索请求
  • HyDE:假设性文档 embedding
  • 使用查询路由

1、使用 LLM 优化搜索请求

搜索系统在搜索查询以特定格式呈现时往往能达到最佳效果。LLM 是一种强大的工具,可以为特定的搜索系统定制或优化用户的搜索查询。为了说明这一点,本文来看两个例子:优化一个简单的搜索查询和一个面向对话系统的查询。

假设一个用户想要搜索 example-news-site.com 上所有关于比尔·盖茨或史蒂夫·乔布斯的新闻文章。他们可能会在 Google 中输入如下内容:(次优的 Google 搜索查询):Articles about Bill Gates or Steve Jobs from example-news-site。可以使用 LLM 来优化这个搜索查询,具体针对 Google,通过利用 Google 提供的一些高级搜索功能。(最优的 Google 搜索查询):"Bill Gates" OR "Steve Jobs" -site:example-news-site.com

这种方法对于简单的查询是有效的,但对于对话系统,本文需要进一步提升。

尽管上述简单的搜索查询优化可以视为一种增强,本文发现使用 LLM 来优化对话系统中的 RAG 搜索查询是至关重要的。对于一个只能进行单轮对话的简单问答机器人,用户的问题同时也是检索信息以增强 LLM 知识的搜索查询。但在对话系统中,情况会变得更加复杂。以下是一个示例对话:

客户:“你们的定期存款利率是多少?”
助手:“我们的利率是 XYZ。”
客户:“哪种信用卡适合旅行?”
助手:“XYZ 信用卡适合旅行,原因是 ABC。”
客户:“告诉我更多关于那个利率的信息。”

为了回答用户的最后一个问题,可能需要进行语义搜索以检索有关特定 XYZ 旅行信用卡的信息。那么,搜索查询应该是什么呢?仅仅使用最后一条用户消息是不够具体的,因为金融机构可能有许多产品会产生利息。在这种情况下,语义搜索可能会产生大量潜在的无关信息,这些信息可能会挤占 LLM 上下文窗口中的实际相关信息。那么,使用整个对话记录作为语义搜索查询怎么样呢?这可能会产生更好的结果,但仍然可能包括关于定期存款的信息,这与用户在对话中的最新问题无关。本文发现的最佳技术是使用 LLM 根据对话生成最优的搜索查询。此场景中用到了一下 prompt:

You are examining a conversation between a customer of Example bank and an Example bank chatbot. A documentation lookup of Example bank's policies, products, or services is necessary for the chatbot to respond to the customer. Please construct a search query that will be used to retrieve the relevant documentation that can be used to respond to the user.

这种技术的一个变体是查询扩展,其中由 LLM 生成多个子搜索查询。这种变体在具有混合检索系统的 RAG 系统中特别有用,该系统结合了来自不同结构的数据存储(例如,SQL 数据库+独立的向量数据库)的搜索结果。其他提示工程技术如step-back prompting``和HyDE也可以与这种方法结合使用。

2、HyDE:假设性文档 embedding

预检索优化策略中提到了查询和文档内容的 embedding 可能存在不对称的问题。通过应用 HyDE,我们还可以在检索阶段实现更大的语义相似性。

预检索优化中的方法是为每个段落生成对应的问答对。而在 HyDE 中,我们预先为用户的问题生成多个假设性的回答,再用假设性回答去进行检索而不是使用用户查询。这个想法是,在具有查询-文档不对称的 RAG 系统中,假设文档或片段将比用户查询本身具有更大的语义相似性。用到的 prompt 如下:

Please generate a 1000 character chunk of text that hypothetically could be found on Example banks website that can help the customer answer their question.

3、使用查询路由

查询路由器是我们见过的更受欢迎的高级 RAG 技术之一。其思想是当 RAG 系统使用多个数据源时,利用 LLM 将搜索查询路由到适当的数据库。这涉及在提示中预定义路由决策选项,并解析 LLM 的路由决策输出,以便在代码中使用。

为了降低成本并提高 RAG 的质量,本文开发了一种 RAG 决策模式,因为并非所有查询都需要 RAG 查找。因此,识别何时 LLM 可以独立回答查询而无需外部知识,可以提高效率。一个不太明显的例子是,当回答用户查询所需的所有信息已经存在于最近的对话历史中。在这种情况下,LLM 只需重复或稍微改述之前所说的内容。例如:"你能把你最后的信息翻译成西班牙语吗?"或"请像我五岁一样解释最后的信息。"这两种查询都不需要新的检索,因为 LLM 可以简单地使用其内置功能回答这些查询。

在实现的过程中,只需要对不同的分支采用不同的 prompt 即可。


最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

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

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值