标签:大模型,检索器,MultiQueryRetriever,自然语言处理,LangChain 时间:2023-10-29T10:15:56
MultiQueryRetriever是LangChain开发的一种新型检索器。在自然语言处理中,我们常常会遇到一个问题,那就是直接按照查询的文本进行相似度查找,可能无法得到很好的结果,原因在于对查询文本进行向量化(Embedding)时,可能因为用词的准确性导致检索结果出现差异。
这时,MultiQueryRetriever就派上用场了。其工作原理是利用大语言模型(LLM)对用户输入的查询文本进行提炼抽象,从不同的角度生成若干个相似的查询文本,然后把所有查询结果的独特并集拿出来,形成一个更大的、可能相关的文档集。
通过这种多角度的查询方式,MultiQueryRetriever可以有效解决原始查询文本描述不够准确的问题,为我们提供一批更为丰富、更具深度的检索结果。
提高检索效果:通过对查询文本的提炼抽象,MultiQueryRetriever可以从多个角度生成相似的查询文本,从而获取更全面的检索结果,解决了原始查询文本描述不准确的问题。
不会增加过多的时间成本:虽然MultiQueryRetriever需要生成多个查询文本,但由于可以进行异步调用,因此在时间上不会慢太多。
费token:使用MultiQueryRetriever进行检索会消耗更多的token。
可能漏掉重要信息:如果生成的摘要没有覆盖到原始查询中的重要信息,可能会导致检索结果无法命中。
针对上述风险,我们可以采取以下措施进行优化:
使用reranker进行结果排序:在获取到多角度的检索结果后,我们可以使用reranker对结果进行重新排序,以提高检索的精确性。reranker可以是单独训练的模型,例如https://huggingface.co/BAAI/bge-reranker-large。
原始查询作为一路召回:在使用MultiQueryRetriever进行多角度查询时,可以将原始查询作为一路召回,以确保不会漏掉重要信息。
MultiQueryRetriever作为大模型领域的新工具,具有较大的实用价值。通过对查询文本的提炼抽象,它可以从多个角度获取更全面的检索结果。虽然在使用过程中存在一些风险,但通过合理的优化,我们可以将这些风险降到最低,从而更好地利用这一工具。
以上就是我对MultiQueryRetriever检索器的深度解析,希望能对你有所帮助。如果你有任何问题或想法,欢迎在评论区留言,我们可以一起探讨。
导致Sam离职风波背后的OpenAI最近的技术突破——Q*项目信息汇总
DataLearnerAI发布中国国产开源大模型生态概览统计:国产开源大模型都有哪些?现状如何?
大模型泛化能力详解:大模型泛化能力分类、泛化能力来源和泛化研究的方向
大模型如何使用长上下文信息?斯坦福大学最新论文证明,你需要将重要的信息放在输入的开始或者结尾处!
需要多少GPU显存才能运行预训练大语言模型?大语言模型参数规模与显存大小的关系估算方法~
又一个国产开源大模型发布:前腾讯创始人创业公司元象发布XVERSE-13B,超过Baichuan-13B,与ChatGLM2-12B齐平!但免费商用授权!
国产开源大模型再添重要玩家:BAAI发布开源可商用大模型Aquila
目前业界支持中文大语言模型开源和商用许可协议总结
百度文心一言发布,功能尝鲜概览
能否用85000美元从头开始训练一个打败ChatGPT的模型,并在浏览器中运行?
自然语言处理中常见的字节编码对(Byte-Pair Encoding,BPE)简介
最新发布!基于推文(tweet)训练的NLP的Python库TweetNLP发布了!
自然语言处理中常见的10个任务简介及其资源
Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
回归模型中的交互项简介(Interactions in Regression)
贝塔分布(Beta Distribution)简介及其应用
矩母函数简介(Moment-generating function)
使用R语言进行K-means聚类并分析结果
普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
H5文件简介和使用
深度学习技巧之Early Stopping(早停法)
手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署
Wishart分布简介