主要来源Weaviate
查看原文事件专题 ·多源确认
Weaviate 上线 Diversity Ranking:一个参数解决检索结果同质化
Weaviate 推出 Diversity Ranking 功能,针对向量搜索、BM25 和 cross-encoder 都存在的同一问题:每篇文档只按与 query 的相关性打分,返回的 top-k 结果常常高度重复,比如问"史上最伟大运动员"会得到五名篮球运动员。其实现基于经典的 Maximal Marginal Relevance(MMR)算法,在每一步选择时同时权衡候选结果与 query 的相关性,以及与已选结果的相异度,让结果列表覆盖整个主题而非单一角落。使用上只需设置一个参数:Weaviate 的 search 层支持 diversity_weight,取值 0.0 到 1.0,越接近 0 越偏重相关性,越接近 1 越偏重多样性;qa.search 接口可直接传入 diversity_weight=0.5;Query Agent 中则在向量或混合查询上加 diversity_selection=Diversity.mmr(...),其中 balance 参数方向相反(0.0 偏多样性、1.0 偏相关性)。此前开发者要自己实现多样性重排,需要超额取回大候选池、做候选间相似度检测、编写并调优独立的 reranking 阶段、长期维护这套流水线代码,现在这些步骤被收敛为一个参数配置。
当前结论
做 RAG 或搜索的人应该都有过返回五条几乎一样的结果的体验,Weaviate 把 MMR 多样性重排做成了一个 diversity_weight 参数,省掉自己写 rerank 流水线。和自己手搓方案比配置成本低很多,值得在你的检索链路里试一下 0.5 左右的取值。
3 个信源29° AI 热度最后更新 2026/11/11 16:30:23
证据链
3 个信源冲突核查
现有去重数据只说明这些来源讨论同一事件,不代表立场相同。当前没有结构化的支持或反驳证据,不自动推断冲突。