
RAG 重排序实战:Cohere Rerank vs BGE-Reranker vs Jina
为什么重排序是 RAG 的必备环节 向量检索(Bi-Encoder)速度快但精度有限,因为它将 query 和文档独立编码。重排序(Cross-Encoder)将 query 和文档拼接在一起送入模型,能捕获更精细的语义交互,显著提升检索精度。 向量检索 (Bi-Encoder) 重排序 (Cross-Encoder) Q → [Embedding] → ← [Embedding] ← Doc Q + Doc → [Cross-Encoder] → Score 速度快,精度中等 速度慢,精度高 召回阶段 (Top-50) 精排阶段 (Top-5) 三大重排序方案概览 特性 Cohere Rerank BGE-Reranker Jina Reranker 类型 闭源 API 开源模型 开源模型 + API 最大序列长度 4096 8192 8192 多语言 ✅ 100+语言 ✅ 中英文为主 ✅ 100+语言 部署方式 仅 SaaS 自托管 自托管/SaaS 延迟 (P99) 200ms 150ms (GPU) 180ms (GPU) 成本 $2/1K调用 GPU成本 GPU或$1/1K 实战对比 1. Cohere Rerank v4 import cohere client = cohere.Client(api_key="your-api-key") def cohere_rerank(query: str, documents: list, top_n: int = 5): response = client.rerank( model="rerank-multilingual-v3.0", query=query, documents=documents, top_n=top_n, max_tokens_per_doc=4096 ) return [ { "index": r.index, "document": documents[r.index], "relevance_score": r.relevance_score } for r in response.results ] 优点:开箱即用、多语言强、稳定可靠 缺点:依赖外部 API、有数据隐私顾虑、按调用计费 ...
