【RAG进阶实践】引入Rerank技术,让RAG效果更上一层楼
在RAG应用中,引入Rerank就像是给一个初步筛选的搜索结果再加一道精细把关——没错,这正是提升大模型落地效果的关键一招。
一个典型的RAG案例包含
三个核心步骤

- :将文档库切分为较小的Chunk,并通过Embedding编码器构建向量索引。
索引
- :根据Prompt问题和Chunks的相似度,检索出最相关的文档片段。
检索
- :以检索到的上下文作为增强条件,最终生成问题的答案。
生成
今天深入聊聊,在这三步之上,
Rerank技术
—1—
Rerank + RAG 增强落地
Rerank本质上是一个重排序的过程。引入它之后,不仅不会牺牲查询的准确性,甚至可能提高准确率。这个技术通过从上下文中剔除不相关的节点,并将相关节点重新排序,从而为后续生成环节提供更优质的素材。下图清晰展示了这一过程。
下面,不妨深入剖析一下Rerank + RAG的结合方式。这种组合有效缓解了大模型常见的“幻觉”问题,加速了知识更新的节奏,并显著增强了内容生成的可追溯性,让大语言模型在实际应用中变得更加实用、可信。
第一、 Rerank 模型技术及选型
与Embedding模型不同,Rerank模型直接以问题和文档作为输入,输出的是相关性分数,而不是Embedding向量。这个分数通常基于交叉熵损失函数优化而来,因此不受特定范围的限制。
在实际选型上,
bge-reranker-v2-m3
Rerank的工作机制,可以形象地理解为一个
智能筛选器
通俗点说,Rerank就像是在图书馆里,帮你从一堆书中精准挑出最相关的那几本,让你寻找答案的过程更高效、更精准。
第二、RAG 框架:LlamaIndex
LlamaIndex是一个专为大语言模型应用设计的数据框架,目的在于增强模型的能力。这种应用模式被称为RAG应用,与微调(Fine-tuning)技术形成互补。LlamaIndex提供了必要的抽象层,使得获取、索引、存储和访问私有或特定领域的企业级数据变得更容易。通过它,可以安全可靠地将这些数据注入大模型中,从而实现更准确的知识生成。
第三、LLM 大语言模型选型
在做知识增强时,不同任务对模型能力的要求差异很大。简单理一理:
分类任务选用3B参数量,翻译任务选用7B参数量,意图识别选用13B参数量,Action函数调用(Function Calling)选用70B参数量
遵循这个原则,在闭源大模型方面,可以考虑OpenAI的ChatGPT系列和百度的文心一言系列;在开源阵营,则可以关注阿里的Qwen 1.5、智谱的ChatGLM3、百川3、Llama 2,以及xAI最新推出的314B参数量的Grok 1.5和Databricks开源的132B参数量的DBRX。
第四、RAG + Rerank 环境配置与安装
动手实践前,建议确认以下环境要求:
- Python 3.10 及以上版本
- Pytorch 1.12 及以上版本,推荐 2.0 及以上版本
- 建议使用 CUDA 11.4 及以上
- 详细配置可参考相关代码仓库(注意替换为实际可用的链接)
把这些基础条件准备好,就能顺利进入下一步的实践环节了。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名