Embedding 与语义检索入门
什么是 Embedding
Embedding(嵌入)是将文本、图片等数据转换为固定维度的数值向量的技术。语义相近的内容在向量空间中距离更近,从而支持基于相似度的检索、聚类与推荐。
在 RAG、向量数据库、语义搜索中,Embedding 是连接「原始数据」与「向量空间」的核心环节。
为什么需要 Embedding
- 语义检索:不再依赖关键词匹配,可理解「同义」「近义」
- 跨语言:多语言 Embedding 支持中英混合检索
- 结构化:将非结构化文本转为可用于计算的结构
- 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 生成
典型应用
- 知识库语义检索
- 推荐与相似内容发现
- 文本聚类与分类
- 去重与模糊匹配
深入学习
想全面了解模型选型、维度选择、归一化与 BGE/M3 等实践?请查看 Embedding 深度解析。