跳到主要内容

Embedding 与语义检索入门

什么是 Embedding

Embedding(嵌入)是将文本、图片等数据转换为固定维度的数值向量的技术。语义相近的内容在向量空间中距离更近,从而支持基于相似度的检索、聚类与推荐。

在 RAG、向量数据库、语义搜索中,Embedding 是连接「原始数据」与「向量空间」的核心环节。

为什么需要 Embedding

  1. 语义检索:不再依赖关键词匹配,可理解「同义」「近义」
  2. 跨语言:多语言 Embedding 支持中英混合检索
  3. 结构化:将非结构化文本转为可用于计算的结构
  4. RAG 基础:RAG 的检索阶段依赖 Embedding 做向量相似度搜索

核心概念

维度(Dimension)

向量长度,常见有 384、768、1024、1536 等。维度越高通常表达力越强,但存储与计算成本增加。

归一化(Normalization)

将向量归一化到单位长度,相似度计算可用点积代替余弦相似度,计算更高效。

多语言与领域

  • BGE:中文表现好,开源可本地部署
  • M3:多语言、多粒度,覆盖 100+ 语言
  • OpenAI text-embedding-3:通用场景,需 API 调用
  • E5、GTE:开源、性能优秀

Embedding 在 RAG 中的位置

文档 → 分块 → Embedding → 向量存储 → 检索
查询 → Embedding → 向量相似度搜索 → Top-K → 上下文 → LLM 生成

RAG向量数据库 形成完整链路。

典型应用

  • 知识库语义检索
  • 推荐与相似内容发现
  • 文本聚类与分类
  • 去重与模糊匹配

深入学习

想全面了解模型选型、维度选择、归一化与 BGE/M3 等实践?请查看 Embedding 深度解析

参考资源