54 lines
2.2 KiB
Markdown
54 lines
2.2 KiB
Markdown
---
|
||
title: "Vector Embedding"
|
||
type: concept
|
||
last_updated: 2026-04-22
|
||
---
|
||
|
||
## Definition
|
||
|
||
将文本、图片、音频等非结构化数据通过深度学习模型转换为高维稠密向量(dense vector),使语义相似的内容在向量空间中彼此接近。
|
||
|
||
## How It Works
|
||
|
||
1. **编码(Encoding)**:文本经过 embedding 模型(如 BERT、OpenAI text-embedding-3-small、BGE-m3)处理,输出固定维度的实数向量(常见维度:384/768/1536/3072)
|
||
2. **存储**:向量存入向量数据库(Qdrant、Pinecone、Weaviate)或支持向量索引的数据库(pgvector、SQLite + sqlite-vss)
|
||
3. **检索**:查询时将查询文本同样编码为向量,在向量空间中搜索最近邻(ANN 或 KNN)
|
||
|
||
## Key Properties
|
||
|
||
| 属性 | 说明 |
|
||
|------|------|
|
||
| 维度(dimensionality) | 越高表达能力越强,但存储/计算成本更高 |
|
||
| 语义保持(semantic preservation) | 同义词/近义表达在空间中接近 |
|
||
| 可微性 | 支持通过梯度下降持续优化(对比学习) |
|
||
| 跨模态 | CLIP 等模型可实现图文跨模态检索 |
|
||
|
||
## Core Operations
|
||
|
||
- **余弦相似度**(cosine similarity):衡量方向一致性,值域 [-1, 1]
|
||
- **点积**(dot product):值域无界,embedding 已归一化时等价于余弦相似度
|
||
- **欧氏距离**(L2 distance):衡量绝对距离
|
||
|
||
## Applications
|
||
|
||
| 应用 | 说明 |
|
||
|------|------|
|
||
| RAG | 检索相关文档片段作为 LLM 上下文 |
|
||
| 语义去重 | [[Semantic-Deduplication]] — 识别语义重复内容 |
|
||
| 推荐系统 | 基于内容 embedding 找相似物品 |
|
||
| 聚类分析 | 将相似文档自动分组 |
|
||
|
||
## Tools & Models
|
||
|
||
- **OpenAI text-embedding-3-small**:1536 维,性价比最高($0.02/1M tokens)
|
||
- **BGE-m3**:支持中文多语言,开源(FlagEmbedding)
|
||
- **nomic-embed-text**:开源 768 维,支持本地部署
|
||
- **sqlite-vss**:SQLite 扩展,支持向量 ANN 搜索
|
||
- **Qdrant**:开源向量数据库,支持过滤条件
|
||
|
||
## Connections
|
||
|
||
- [[Semantic-Deduplication]] — 向量嵌入的直接应用
|
||
- [[Knowledge-Base-RAG]] — RAG 的核心检索技术
|
||
- [[YouTube-Content-Pipeline]] — 用向量嵌入实现选题去重
|