在高级RAG应用中,检索后处理环节至关重要 。Rerank技术通过重新排序检索出的文档块,确保与用户问题更相关的信息排在前面,从而 提高语言模型生成答案的质量 。在这个环节中,可以做一些诸如相似度过滤、关键词过滤、chunk内容替换等处理。其中, Rerank(重排序) 是一种常见的,也是在RAG应用优化中很常见的一种技术处理环节。
本文介绍了两种被广泛认可的Rerank模型: Cohere Rerank模型和bge-reranker-large模型 ,并提供了使用指南。
一、为什么还需要Rerank
Cohere Rerank是一个商业闭源的Rerank模型。它根据 与指定查询问题的语义相关性对多个文本输入进行排序,专门用于帮助关键词或向量搜索返回的结果做重新排序与提升质量。
为了使用Cohere Rerank,你首先需要在官方网站()注册后申请测试的API-key(测试使用免费):
Cohere Rerank的使用非常简单,通常在LangChain与LlamaIndex框架中集成使用。下面展示如何在LangChain框架中使用Cohere Rerank来优化检索结果。
输出结果示例
在调用Cohere Rerank之后,内容的相关性和其对应的查询更加匹配,排序也更加合理。 这种更加合理的排名一方面有利于LLM生成更准确的回复;另一方面也可以帮助降低top_K数量,以节约上下文空间。
bge-reranker-large 是国内智源开源的一个被广泛使用的Rerank模型,在众多的模型测试中有着非常优秀的成绩。
下面展示如何在LangChain框架中使用 bge-reranker-large 来优化检索结果。
输出结果示例
了解更多:
总结:
Rerank虽然在RAG流程中看似不那么显眼,但其实现简单、资源要求低,且不依赖于特定的嵌入模型,能够显著提升最终生成的质量。无论是选择在线的Cohere Rerank模型,还是本地部署的bge-reranker-large模型,都能为您的RAG应用带来性能上的提升。
原文链接:
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/xingyeremen/32852.html