
Reranker模型选型:Cohere vs BGE vs Jina对比
为什么需要Reranker? RAG检索分两个阶段: 第一阶段:召回(Recall) Embedding向量检索,快速从百万文档中召回Top-K(K=20-50) 优势:速度快(<50ms) 劣势:精度有限(Embedding模型容量小,语义理解浅) 第二阶段:精排(Precision) Cross-Encoder Reranker对Top-K重新打分排序 优势:精度高(Cross-Encoder能深度理解query-doc关系) 劣势:速度慢(需对每个候选单独计算) Reranker的本质:用更强的模型对初筛结果做精排,用少量延迟换取显著的精度提升。 Cross-Encoder vs Bi-Encoder Bi-Encoder (Embedding模型): Query ──► Encoder ──► [向量] ◄── Encoder ◄── Document │ 余弦相似度 快但浅 Cross-Encoder (Reranker): [Query, Document] ──► Encoder ──► 相关性分数 慢但深 Cross-Encoder将query和document拼接后一起输入模型,能捕捉两者间的细粒度交互关系,这是Bi-Encoder做不到的。 三大Reranker深度对比 1. Cohere Reranker import cohere co = cohere.Client(api_key="your-key") def cohere_rerank(query, documents, top_n=5): results = co.rerank( model="rerank-v3.5", query=query, documents=documents, top_n=top_n, ) reranked = [] for result in results.results: reranked.append({ "document": documents[result.index], "relevance_score": result.relevance_score, "index": result.index, }) return reranked 特点: ...

