news 2026/10/8 6:54:33

Chroma 的边际相关性检索 - Maximal Marginal Relevance,检索的多样性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Chroma 的边际相关性检索 - Maximal Marginal Relevance,检索的多样性

“边际相关性检索” 是 Chroma 里的高级查询模式,MMR(Maximal Marginal Relevance,最大边际相关)

它解决什么问题

普通相似度检索只按 “和查询最像” 返回,结果往往扎堆重复
比如查 “如何健身”,可能返回的 10 条全是讲举铁的
MMR 的目标是:既相关,又不重复,让你拿到一个 “相关且多样” 的结果集

核心公式

对每一条候选结果算一个分数:

最终分 = λ × 与查询的相似度 − (1−λ) × 与已选结果的相似度
  • 第一项:越相关分越高(跟查询像)
  • 第二项:跟已选的越重复,扣分越多(多样性惩罚)

选结果时贪婪地一条条挑:每轮选当前 “相关度高 + 与已选最不重复” 的那条,直到选满

λ 参数的作用

在 Chroma 里怎么用

results = collection.query( query_texts=["健身"], n_results=10, # MMR 相关参数 lambda_param=0.5, # 多样性 vs 相关性的权衡 fetch_k=50, # 先取50个候选,再从中做MMR挑10个 mmr_threshold=0.8 # 相似度低于此阈值的不选(可选) )

关键点:fetch_k 要大于 n_results,否则没有多余候选可做去重;系统先粗取 fetch_k 个,再用 MMR 精挑出 n_results 个

什么时候该用

  • RAG 检索增强生成:给大模型喂上下文时,避免喂一堆同质化片段,让回答覆盖面更广
  • 推荐系统:推荐结果不想全是同一个类型的商品 / 文章
  • 知识库问答:同一问题想看多个角度的答案

什么时候不要用

  • 就是要最相关的 N 条(比如精确找最相似的向量做匹配),用普通similarity就行,MMR 反而可能丢掉最相关的 1 条
  • 数据量很小或本身就多样,MMR 收益不大

总结

MMR = 在 “跟查询相关” 和 “结果彼此不重复” 之间做平衡,用 λ 控制天平
在 Chroma 里就是query时传上lambda_param、fetch_k等参数即可

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 6:53:21

Spring Boot 核心知识点总结,面试再也不怕了!

一、Spring Boot 概述1.1 为什么需要 Spring Boot传统 Spring 项目存在三大痛点:依赖版本冲突:手动管理依赖版本,容易出现版本不兼容。配置繁琐:大量 XML 或 Java 配置类,启动慢、维护成本高。部署复杂:需要…

作者头像 李华
网站建设 2026/10/8 6:51:46

脆肉罗非大型批发商甄选:从鱼塘到餐桌的鲜活供应链实力参考

脆肉罗非基础常识科普:了解产品才能选对供应商很多餐饮新手刚接触脆肉罗非,会把它和普通罗非鱼混为一谈,其实脆肉罗非和普通罗非完全是两类产品,核心差异从养殖阶段就已经决定。脆肉罗非本身是经过品种改良的罗非鱼养殖品种&#…

作者头像 李华
网站建设 2026/10/8 6:51:45

注意!扬州高职单招机构排名出炉,选错至少耽误3年!

注意!扬州高职单招机构排名出炉,选错至少耽误3年!对于扬州及周边地区的中职、普高及往届考生而言,高职单招是通往理想大学的重要通道。随着江苏高职单招竞争日趋激烈,市面上各类集训机构层出不穷,一份非官方…

作者头像 李华
网站建设 2026/10/8 6:51:06

Java TCP聊天室实战:从Socket连接到消息广播完整链路

简介:这份资源是面向Java初学者与网络编程进阶者的TCP网络通信聊天室完整项目包,围绕客户端与服务器端实时交互场景,帮助读者理解面向连接、可靠传输的TCP协议原理及Java网络编程API的实际运用。包内共15个文件,以java源码、class…

作者头像 李华
网站建设 2026/10/8 6:51:02

oracle坏块导致备份不了

问题: Oracle 数据文件出现坏块(典型报错 ORA-01578 数据块损坏、ORA-19566 坏块数超过 MAXCORRUPT 限制),导致 RMAN 备份无法完成、备份任务失败,需要既处理坏块又让备份能够跑完。 方案: 场景一&#xff…

作者头像 李华