|
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">检索增强生成(RAG)是一种新兴的 AI 技术栈,通过为大型语言模型(LLM)提供额外的 “最新知识” 来增强其能力。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">基本的 RAG 应用包括四个关键技术组成部分:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;"> Embedding 模型:用于将外部文档和用户查询转换成 Embedding 向量 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">向量数据库:用于存储 Embedding 向量和执行向量相似性检索(检索出最相关的 Top-K 个信息) ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">提示词工程(Prompt engineering):用于将用户的问题和检索到的上下文组合成大模型的输入 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">大语言模型(LLM):用于生成回答 ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">上述的基础 RAG 架构可以有效解决 LLM 产生 “幻觉”、生成内容不可靠的问题。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">但是,一些企业用户对上下文相关性和问答准确度提出了更高要求,需要更为复杂的架构。一个行之有效且较为流行的做法就是在 RAG 应用中集成 Reranker。ingFang SC", "Helvetica Neue", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", Sathu, EucrosiaUPC, Arial, Helvetica, sans-serif;line-height: 1.8;border-width: initial;border-style: none;border-color: initial;color: rgb(51, 51, 51);letter-spacing: normal;background-color: rgb(255, 255, 255);visibility: visible;">什么是 Reranker?ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;text-wrap: wrap;background-color: rgb(255, 255, 255);letter-spacing: 0.578px;visibility: visible;line-height: 1.75em;">Reranker (重排器)是信息检索(IR)生态系统中的一个重要组成部分,用于评估搜索结果,并进行重新排序,从而提升查询结果相关性。在 RAG 应用中,主要在拿到向量查询(ANN)的结果后使用重排器,能够更有效地确定文档和查询之间的语义相关性,更精细地对结果重排,最终提高搜索质量。 目前,重排器类型主要有两种 —— 基于统计和基于深度学习模型的 Reranker: 基于统计的重排器会汇总多个来源的候选结果列表,使用多路召回的加权得分或倒数排名融合(RRF)算法来为所有结果重新算分,统一将候选结果重排。这种类型的重排器的优势是计算不复杂,效率高,因此广泛用于对延迟较敏感的传统搜索系统中。 基于深度学习模型的重排器,通常被称为 Cross-encoder Reranker。由于深度学习的特性,一些经过特殊训练的神经网络可以非常好地分析问题和文档之间的相关性。这类重排器可以为问题和文档之间的语义的相似度进行打分。因为打分一般只取决于问题和文档的文本内容,不取决于文档在召回结果中的打分或者相对位置,这种重排器既适用于单路召回也适用于多路召回。 将重排器整合到 RAG 应用中,可以显著提高生成答案的精确度,因为重排器能够在单路或多路的召回结果中挑选出和问题最接近的文档。 此外,扩大检索结果的丰富度(例如多路召回)配合精细化筛选最相关结果(Reranker)还能进一步提升最终结果质量。 使用重排器可以排除掉第一层召回中和问题关系不大的内容,将输入给大模型的上下文范围进一步缩小到最相关的一小部分文档中。 通过缩短上下文, LLM 能够更 “关注” 上下文中的所有内容,避免忽略重点内容,还能节省推理成本。 
追求回答高精度和高相关性的场景中,特别适合使用重排器,例如专业知识库或者客服系统等应用。因为这些应用中的查询都具有很高的商业价值,提升回答准确性的优先级远高于系统性能和控制成本。使用重排器能够生成更准确的答案,有效提升用户体验。 重排器在提高检索相关性的同时,也会增加延迟和计算成本。因此,在检索质量、搜索延迟、使用成本之间进行权衡之后,当前可选择的重排工具并不多,下面介绍三款:Cohere Rerank 、 BGE Re-Ranker、Jina Reranker。 Cohere RerankCohere Rerank 是在业界被广泛使用的重排工具,它通常集成在 LangChain 和 LlamaIndex 框架中,使用相对简单。 其背后公司 Cohere 的来头不简单。Cohere 成立于 2019 年,由曾在 Google Brain 和 Cortex 工作的研究人员和工程师创立,其联合创始人之一 Aidan Gomez,是 Transformers 架构的作者之一。 根据不完全统计,Cohere 累计融资已经超过 4.45 亿美元。今年 3 月,还爆出 Cohere 的新一轮融资已进入后期谈判阶段,筹集超 5 亿美元资金,估值有望达到 50 亿美元。 今年 4 月, Cohere 发布了 Rerank 3,各方面都提升了不少,包括: 不过,它是商业闭源的。原本每 1000 次搜索,用户需要花费 1 美元,在升级到 Rerank 3 之后,每 1000 次搜索,需要 2 美元。 
BGE Re-RankerBGE Re-Ranker 是智源研究院推出检索排序模型,今年 3 月发布了 2.0 版本。 该模型是智源团队在 BGE 系列基础上的新尝试。BGE(BAAI General Embedding)是智源研究院打造的通用语义向量模型。 自 2023 年 8 月发布以来,智源团队陆续发布了中英文模型 BGE v1.0、v1.5 以及多语言模型 BGE-M3。 
BGE Re-Ranker v2.0 系列排序模型采用了两种不同尺寸的模型基座: 来看看 BGE Re-Ranker 2.0 的特性: 开源模型现已通过 Hugging Face、Github 等平台发布,采用免费、商用许可的开源协议: https://github.com/FlagOpen/FlagEmbeddinghttps://huggingface.co/BAAI 截至今年 3 月,BGE 系列模型全球下载量超过 1500 万,位居国内开源 AI 模型首位。BGE-M3 模型一度跃居 Hugging Face 热门模型前三,其所属代码仓库 FlagEmbedding 位居 GitHub 热门项目前 10;BGE-M3 所带来的全新的通用检索模式也相继被 Milvus、Vespa 等主流向量数据库集成。 Jina RerankerJina Reranker v2 在今年 6 月发布,支持 100多种语言,适配了不同应用场景对于排序的任务的支持,是名副其实的多才多艺模型,尤其适用于检索增强生成(RAG)场景。通过对训练数据的极致蒸馏,模型称得上短小精悍,输出稳定,不挑活。 
Jina Reranker v2 的主要优势: 多语言支持:在 100 多种语言中提供更相关的搜索结果,性能超过 bge-reranker-v2-m3; Agentic 能力:具备最先进的函数调用和文本到 SQL 转换能力,适用于Agentic RAG 场景。 代码检索:在代码检索任务上表现最佳; 极速:推理速度比上一代产品快 6 倍,比同类产品 bge-reranker-v2-m3 快 15 倍。
Jina Reranker v2 的特性: 创新需求:弥补 Embedding 模型在检索精度上的不足。 多语言支持:在 MKQA、BEIR 和 AirBench 等基准测试中表现优异。 应用场景:在结构化数据查询、函数调用和代码检索方面的应用。 推理速度:模型尺寸更小、采用了 Flash Attention 2 技术。 训练过程:分四个阶段进行,包括使用英语数据预训练、添加跨语言数据、微调等。

Jina Reranker v2 的应用方式: Jina Reranker 前 100 万个 token 可以免费。10 亿 个 token 是 20 美元,110 亿个 token 为 200 美元,并且该 Token 可以与 Jina AI 其他模型通用。 
|