大数跨境
0
0

从零开始理解 Embedding,掌握向量检索的核心技术

从零开始理解 Embedding,掌握向量检索的核心技术 BiddingX
2025-12-18
2

从零开始理解 Embedding,掌握向量检索的核心技术

什么是 Embedding

1.1 一句话解释

Embedding(嵌入)= 把文字转换成数字向量

1.2 形象理解

想象你要给每个人建立档案

传统方式(文字)

line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 8px;">

Embedding 方式(向量)


这些数字向量包含了所有信息,而且相似的人向量会更接近

1.3 核心特点


三个核心特点

  1. 1. 固定维度:无论文本长短,都转换为固定长度的向量(如 768 维、1536 维)
  2. 2. 语义相似:意思相近的文本,向量也相近
  3. 3. 可计算:可以用数学方法计算相似度

为什么需要 Embedding

2.1 计算机不懂文字

问题: 计算机如何判断两段文字是否相似?

错误方法:字符串匹配


正确方法:Embedding + 向量相似度


2.2 应用场景


2.3 实际案例对比

场景:在知识库中搜索

用户问题: "如何重置密码?"

知识库中的文档:

  1. 1. "忘记密码怎么办"
  2. 2. "修改登录凭证的方法"
  3. 3. "公司年会时间安排"

传统关键词搜索:

  • • 搜索 "重置密码"
  • • 结果:无匹配 (因为知识库中没有"重置"这个词)

Embedding 语义搜索:

  • • 计算问题的 embedding
  • • 与所有文档的 embedding 计算相似度
  • • 结果:
    • • 文档1:"忘记密码怎么办" - 相似度 0.89
    • • 文档2:"修改登录凭证的方法" - 相似度 0.76
    • • 文档3:"公司年会时间安排" - 相似度 0.12

Embedding 的工作原理

3.1 从词向量到句子向量

早期:Word2Vec(词向量)


特点:

  • • 只能处理单个词
  • • 相似的词向量相近(apple 和 orange)

现代:Transformer(句子向量)


特点:

  • • 可以处理整个句子/段落
  • • 理解上下文关系
  • • 捕捉语义信息

3.2 Embedding 模型的训练


训练方式举例:

  1. 1. 对比学习
    • • 正样本对:"天气真好" <-> "今天天气不错" → 向量要接近
    • • 负样本对:"天气真好" <-> "我喜欢编程" → 向量要远离
  2. 2. 问答对训练
    • • 问题:"如何学习 Python?"
    • • 答案:"可以从基础语法开始..."
    • • 目标:问题和答案的 embedding 要接近

3.3 维度的意义

为什么是 768 维或 1536 维?

每一维可以理解为捕捉某种语义特征:


直观比喻:

  • • 1 维:只能表示"大小"(一条线)
  • • 2 维:能表示"长宽"(一个平面)
  • • 3 维:能表示"长宽高"(一个空间)
  • • 1536 维:能表示 1536 种不同的语义特征(超空间)

向量相似度计算

4.1 三种常见相似度算法

余弦相似度(最常用)

公式:


图示:


优点:

  • • 不受向量长度影响
  • • 只关注方向
  • • 适合文本相似度

欧氏距离


点积(内积)


对比

余弦相似度:文本语义比较、文档检索排序、内容推荐系统

欧氏距离:空间位置测量、聚类分析、异常检测

点积相似度:快速初步筛选、计算资源有限场景

4.2 实际例子


余弦相似度计算:

image-20251123230640603

4.3 相似度阈值设置


常见的 Embedding 模型

5.1 国际主流模型


5.2 国内主流模型


5.3 开源 vs 闭源


5.4 模型性能对比

中文检索任务 Benchmark:


推荐选择:

  • • 中文 RAG阿里 text-embedding-v4
  • • 预算有限:bge-large-zh(开源)
  • • 英文为主OpenAI text-embedding-3-small

向量数据库介绍

6.1 为什么需要向量数据库?

问题: 假设你有 100 万个文档的 embedding

暴力搜索:

【声明】内容源于网络
0
0
BiddingX
各类跨境出海行业相关资讯
内容 40
粉丝 0
BiddingX 各类跨境出海行业相关资讯
总阅读1.8k
粉丝0
内容40