Milvus-04-collection-metric_type度量类型COSINE/L2/IP
目录COSINE余弦的方式计算相似度L2欧氏距离的方式计算相似度IP内积的方式计算相似度不同的相似度规则该什么时候使用COSINE余弦的方式计算相似度只看方向不看长度两个向量方向越一致说明向量越相近-1最不像1最像假设有3个二维向量分别是A[1,1]B[2,1]C[-1,-1]如果从坐标系中画3个点会发现A和B的方向差不多A和C的方向相反使用python代码计算A和B的余弦相似度如下importtorchimporttorch.nn.functionalas nn tensor_Atorch.tensor([[1.0,1.0]])tensor_Btorch.tensor([[2.0,1.0]])tensor_Ctorch.tensor([[-1.0,-1.0]])cos_simnn.cosine_similarity(tensor_A,tensor_B,dim1)print(A和B余弦相似度,cos_sim.item())#0.9486832618713379接近1很像 cos_simnn.cosine_similarity(tensor_A,tensor_C,dim1)print(A和C余弦相似度,cos_sim.item())#-0.9999999403953552接近-1完全不像由上面可知A和B很像但是A和C完全不像甚至相反L2欧氏距离的方式计算相似度不看方向只看两个向量之间的距离A和B越近就说明A和B越像假设有3个二维向量分别是A[1,1]B[2,1]C[-1,-1]从坐标系中画3个点A和B很近A和C较远python代码如下importtorchimporttorch.nn.functionalas nn tensor_Atorch.tensor([[1.0,1.0]])tensor_Btorch.tensor([[2.0,1.0]])tensor_Ctorch.tensor([[-1.0,-1.0]])#NOTE可以理解对于本例的二维向量其实就是根据勾股定理求斜边三维向量就是3个平方再开方#p1L1 距离曼哈顿距离#p2L2 距离欧氏距离distancenn.pairwise_distance(tensor_A,tensor_B,p2)print(A和B的欧氏距离,distance)#1.0000distancenn.pairwise_distance(tensor_A,tensor_C,p2)print(A和C的欧氏距离,distance)#2.8284IP内积的方式计算相似度有人说是A向量在B向量上的投影再乘以B其实我觉得没必要去这样理解内积上述文章已经阐述过COS和L2一个通过方向一个通过距离而IP则是通过方向向量长度强度来综合判断下图一眼就可明白内积是什么意思虽然A和C方向完全一致但是你架不住B的力度大所以说从内积的规则判断A和B更相似而A和C仅仅是方向一致而已说白了就是你C确实和我一条心但是你帮不上多大忙虽然B和我不是一条心但是人家出手即可帮大忙python代码如下importtorchtensor_Atorch.tensor([[2.0,2.0]])tensor_Btorch.tensor([[5.0,0.0]])tensor_Ctorch.tensor([[1.0,1.0]])innertorch.matmul(tensor_A,tensor_B.T)print(A和B的内积,inner)# 值为10更相似 innertorch.matmul(tensor_A,tensor_C.T)print(A和C的内积,inner)# 值为4C不如B相似不同的相似度规则该什么时候使用CONSINE常用来处理文本语义例如喜欢爱慕L2常用于数字处理例如音频视频相似度IP不常用一般用在高频搜索中其中IP的强度通常用来表示关键词的出现次数这个具体场景我也不清楚不是很了解没做过不过本文主要讲述的是milvus这个了解一下就行0904重新整理本文下面是场景示例还没写完周五休息了你需要知道的前提方向代表语义在当下AI所有场景中向量的方向代表语义向量的长度代表维度的综合强度也就是说判断两句话是否相似是由向量方向决定的而不是向量长度你需要知道的前提长度代表语义是否可行?答案是不可行若我反过来用长度代表语义而不是方向代表语义这样可以吗比如有A,B,C三个向量他们的长度分别是A2B3C4数轴上分别是234然后我设置阈值为1小于等于1就相似大于1就不相似那么对于该例子B-A3-21得出AB相似度极高C-B4-31得出BC相似度极高C-A4-22得出AC不是很像对于上述例子用长度表示语义从数学的角度来说是没问题的但是该例子是简单的实际业务场景不可能这么简单尝试看如下例子有A,X,Y,Z四个向量产品要求A和X相似A和Y也相似A和Z也相似但是XYZ它们三个之间互不相似此时这种情况在数轴上无法表示只有如下一种方法可以表示就是使用方向不用长度如下图可以完全满足无限个向量相似答案是不可以举个例子就能知道假设公司产品要求示例1现有句子A和句子BA:“草地上有只垂耳兔”B:“一只垂耳兔正在草坪上啃青草”下一篇Milvus-05-将文本变成向量并入库

相关新闻

JS逆向入门实战:从断点调试到sign参数复现全流程解析

JS逆向入门实战:从断点调试到sign参数复现全流程解析

很多刚接触爬虫的同学,会把“学爬虫”和“收藏教程”画上等号。看到“最全”“几百集”“一周从新手到高手”这类标题,第一反应是先存下来,仿佛收藏了就等于学会了。但真到了动手的时候,面对网页里一长串看不懂的 JS 逻辑&#xf…

2026/10/25 12:24:30 阅读更多 →
A Survey on Agentic Multimodal Large Language Models

A Survey on Agentic Multimodal Large Language Models

该文章是首篇关于智能体多模态大语言模型(Agentic MLLMs)的综述,系统梳理了该领域从基础理论到应用实践的全貌,明确了其与传统MLLM智能体的核心差异,为领域研究提供了统一框架和关键资源。 一、文章主要内容总结 1. 核心概念与定位 Agentic MLLMs定义:具备自主决策能力…

2026/10/25 6:04:01 阅读更多 →
JS逆向实战指南:爬虫接口签名参数的定位与还原方法

JS逆向实战指南:爬虫接口签名参数的定位与还原方法

做爬虫开发的同学,通常都会遇到这样一个场景:同一个接口,在浏览器地址栏里访问没有问题,页面上的数据也能正常展示,可一旦换成 Python 的requests或httpx去请求,结果就变成了 403,或者返回一串看…

2026/10/21 2:53:28 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →