AgentKnowledgeAgentKnowledgeAgentKnowledge
文档案例博客
AgentKnowledgeAgentKnowledgeAgentKnowledge

深入 Agent,构建你的专属。致力于打造体系化的 AI Agent 开发者学习平台。

学习路径

DocsAI BasicsMCPAgent 实战

社区

ShowcaseBlogGitHub

账号

User CenterLogin

© 2026 AgentKnowledge.cn. 保留所有权利。

  • Agent
  • System Prompt
  • Prompt
  • Prompt Engineering
  • Zero-shot / Few-shot
  • Chain of Thought(CoT)
  • ReAct
  • SKILL(Agent技能)
  • Memory(Agent记忆)
  • RAG
  • Retrieval
  • Embedding
  • Embedding Model
  • Vector Database
  • Cosine Similarity
  • MCP(Model Context Protocol)
  • Tool Calling
  • Function Schema
  • Structured Output
  • OpenClaw
  • Harness Engineering(驾驭工程)
  • Token
  • Context Window
  • Temperature
  • Top-p
  • Transformer 架构
  • MCP
  • Agent

Cosine Similarity

为什么需要 Cosine Similarity

Embedding 把文本变成了向量,但你拿到两个向量后怎么判断它们"有多像"?

比如向量 A = [0.8, 0.2, 0.5],向量 B = [0.7, 0.3, 0.4],这算像还是不像?直接比大小会很麻烦——不同维度的数值量级可能差很远。

Cosine Similarity 就是解决"怎么量化向量之间的相似度"这个问题的。


什么是 Cosine Similarity

一句话定义:Cosine Similarity(余弦相似度)是衡量两个向量"方向有多接近"的指标,值越接近 1 表示越相似。

它为什么叫"余弦"?因为它的计算方式等价于计算两个向量夹角的余弦值。

类比:两个向量就像两个指向不同方向的箭头,余弦相似度看的是这两个箭头有多"指向同一个方向":

  • 完全指向同一个方向 → 余弦值 = 1
  • 垂直 → 余弦值 = 0
  • 完全相反 → 余弦值 = -1

在 Embedding 场景里,"指向同一个方向" = "语义相近"。


怎么做:什么时候用 Cosine Similarity

适合用 Cosine Similarity 的场景:

  • 语义搜索排序:按相似度高低返回文档
  • 相似文本匹配:找重复内容、近似问题、相似商品
  • 向量聚类:按语义相似程度分组

不适合用 Cosine Similarity 的场景:

  • 精确 ID、订单号、人名匹配——这些更适合关键词检索
  • 向量不是用来表示语义的时候(比如用于其他目的的向量)

常见坑:

  • 相似度高不等于答案对:只代表语义接近,内容本身可能有问题
  • 分数差一点有关系:在排序边界附近,微小差异也可能影响 Top 结果

记住这一句:Cosine Similarity 衡量的是向量"方向"有多接近,而不是"大小"有多接近——在 Embedding 场景里,方向接近 = 语义相近。

相关词条:Embedding · Vector Database

相关词条

EmbeddingEmbedding ModelVector Database

标签

余弦相似度cosine similarity向量相似度语义相似度

目录

为什么需要 Cosine Similarity什么是 Cosine Similarity怎么做:什么时候用 Cosine Similarity