商务服务
【RAG优化技术】 关键词&语义的混合检索实现
2024-11-11 09:45

【RAG优化技术】 关键词&语义的混合检索实现

一些纯语言模型,比如GPT-4,虽然也很强大,但它们的知识都是在训练时就固定下来的,无法实时更新。这就意味着,它们无法获取到训练之后出现的新信息。所以,对于一些需要最新信息,或者是一些特定场景的问题,纯语言模型可能无法给出满意的答案。

对于不同类型和语言的文件,我们需要选择适当的RAG技术。例如,对于PPT和PDF这些主要包含文本和图像的文件,我们可能需要使用能够理解和生成图像描述的模型。对于CSV和Excel这些主要包含结构化数据的文件,我们可能需要使用能够理解和生成数据摘要的模型。此外,不同语言的文件可能需要不同的嵌入模型以适应不同语言的语义。

因此,当我们描述问题时,有时并不清楚我们的提问是否与提供的文本表达存在歧义,或者当我们只有模糊的记忆,只知道一两个词时,向量库的语义搜索往往无法满足我们的需求。

因此,如果我们能够结合关键词和语义进行同时检索,就能够进一步提高我们的RAG的准确度。这种混合检索方法可以在保证搜索效率的同时,提高搜索的准确性和全面性。具体来说,当我们的问题描述不清楚,或者记忆模糊只知道一两个关键词时,混合检索方法可以通过关键词匹配找到可能的答案,然后结合语义匹配来进一步提高答案的准确性。

BM25 是一种基于概率的排名函数,用于信息检索系统。BM25原理是根据查询词在文档中的出现频率以及查询词在整个文本集中的出现频率,来计算查询词和文档的相似度。BM25模型的主要思想是:如果一个词在一份文档中出现的频率高,且在其他文档中出现的频率低,那么这个词对于这份文档的重要性就越高,相似度就越高。BM25模型对于长文档和短文档有一个平衡处理,防止因文档长度不同,而导致的词频偏差。

以下是使用Langchain进行混合检索的示例代码:

Llamaindex 使用的方法叫做 HybridFusionRetrieverPack,与 Langchain 的主要区别在于,它在进行混合检索之前,还会根据我们搜索的内容用大模型生成几条类似的提问,以提高我们提问的泛化能力。这种方法可以更有效地处理我们的模糊记忆和不确定的问题描述,使我们的搜索更加精确和全面。

其他的模型也是利用了BM25还有Embeding模型,但是Llamaindex主要还是对openai的支持比较好,所以它默认是用openai 的embeding模型的,如果你想要使用其他的Embeding模型,就需要将这些模型挂载到OneAPI上,通过配置key和base_url来转接调用

相当于它就会根据what is the main content?来生成5条差不多意思的句子然后再进行Langchain的那个操作

由于BM25模型主要依赖于词频来判断文档和查询词的相似度,因此当我们输入的词被错误地分词,或者当我们搜索名字或者号码这类内容时,模型的效果可能会大打折扣。这是因为在这些情况下,词频可能并不能准确地反映出查询词和文档的相关性。例如,一个人的名字在一篇文档中可能只出现一次,但这并不意味着这篇文档与查询词不相关。同样,如果我们在搜索电话号码时,由于电话号码通常是一长串数字,因此它的词频很可能非常低,但这并不影响其对于查询结果的重要性。因此,尽管BM25模型在许多情况下都能提供满意的检索效果,但在处理此类问题时,它的性能可能会大大降低。

因此,为了解决这个问题,我们可以考虑引入ElasticSearch。ElasticSearch是一个开源的、分布式的、RESTful搜索引擎,它的设计使得它非常适合执行诸如全文搜索、结构化搜索、实时聚合等复杂的搜索、分析任务。其内部使用Lucene作为索引和搜索的引擎,并做了很多优化和改进,使得ElasticSearch在处理复杂搜索时性能更高,使用更方便。

首先,我们可以尝试使用ElasticSearch进行纯关键词搜索。纯关键词搜索是最简单的一种搜索方式,不需要进行任何预处理或向量化,只需要对输入的关键词进行精确匹配。这种搜索方式的优点是简单、快速,但缺点是可能会漏掉一些含义相关但没有使用相同关键词的文档。但是,对于一些简单的、明确的搜索需求,纯关键词搜索是一个非常有效的方法。

搜索一个不知道是什么的词

结果如下,他还是能够精准识别出来,效果很不错

首先,我们需要安装并配置Elasticsearch。一旦Elasticsearch安装并运行,我们就可以创建一个索引,并将我们的数据添加到这个索引中。一旦数据被索引,我们就可以使用Elasticsearch的搜索API来查询数据。

下面是一个使用Elasticsearch进行混合识别的示例:

** 注意:有一个坑就是如果要使用ElasticSearch的这种混合检索,需要使用它的付费版本,所以如果真的需要混合检索可以用ElasticSearch的关键词再和普通向量检索的结果直接拼接去重融合就好了

不同的Embeding模型以及不同的RAG优化方法适用于不同的文本内容,我们需要根据实际情况进行选择和优化。例如,对于一些具有特定术语或者专业知识的文本,我们可能需要使用特定的嵌入模型以更好地理解和表示这些特定的词汇。同样,对于不同的搜索需求,我们可能需要调整我们的RAG策略,例如调整关键词和语义的权重,或者调整我们的向量库的大小和复杂性。这需要我们在实践中不断尝试和优化,以找到最适合我们需求的模型和策略。

    以上就是本篇文章【【RAG优化技术】 关键词&语义的混合检索实现】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/27054.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
WordPress企业主题制作(定制)应该注意哪些事项?
选择制作方是首要关键的一个环节,几年前那种百度几百元买的网站,现在几百元又套在WordPress上作为企业主题,能用吗?能,但是基本是
Win10连接wifi显示“无Internet,安全”的解决方法【详解】
  电脑升级到 win10 64位系统 后难免会遇到一些故障问题,比如连接WiFi网络无线的时候都会出现无Internet,安全的提示,怎么办
TCLAI应用助力经济增长 2024年创效5.4亿元
在2024TCL全球技术创新大会上,TCL宣布通过AI技术应用,创造经济效益达5.4亿元,引发业界广泛关注。此次大会于12月11日在深圳举
如何通过SEO分享提升网站流量与排名
关键词是SEO的基础,也是提升排名的关键因素之一。通过深入的关键词分析,找出与自己业务相关且有较高搜索量的关键词,然后合理
企业互联网营销必备《SEO攻略》
原标题:企业互联网营销必备《SEO攻略》 从这里了解互联网 解读热点 推送营销新思维 自从我们千享科技推出SEO推广业务以来,收到
如何找到可靠的100个免费软件下载安装入口必备神器助你畅享互联时代!
如何找到可靠的免费软件下载安装入口在互联网时代,软件已经成为我们日常生活和工作中不可或缺的一部分。然而,寻找可靠的免费软
收获颇丰!黄金白银期货保证金(为投资者提供一个全面的理解框架)
黄金白银期货,作为全球金融市场中的重要组成部分,以其独特的避险属性和投资价值,吸引了无数投资者的目光。而在这一市场中,保
acfan 软件下载最新版
acfan软件下载最新版是一款非常火爆的动漫视频播放软件,这款软件里面为用户们提供了丰富多样的资源,在观看的时候,用户们还能
从收录检测到安全防护的SEO工具大全
总是有朋友问我们,有没一套较为完整的SEO所需工具大全,省得找来找去了,今天我们就给大家带来从收录到安全的SEO工具大全! 综
曝明年多家手机厂商将测试北斗通信 华为领先一个身段
  虽然其他国产厂商也在积极研发相关技术,但它们目前尚未获得使用北斗卫星通信系统的批准。这些厂商主要使用的是天通卫星通信