Embedding model有哪些
时间: 2025-06-19 14:53:29 浏览: 11
### 常用的嵌入模型类型或名称
在实际应用中,常用的嵌入模型可以分为两大类:dense embedding model 和 sparse embedding model。以下是具体的一些常用模型及其特点:
#### 1. Dense Embedding Model
Dense embedding model 是一种将数据表示为低维稠密向量的方法,适用于大规模数据集和计算资源充足的情况[^1]。以下是一些常见的 dense embedding model:
- **BERT**:基于 Transformer 的预训练语言模型,能够生成上下文相关的稠密向量。
- **RoBERTa**:BERT 的改进版本,通过更大的训练数据和优化的训练策略提高了性能。
- **Sentence-BERT (SBERT)**:对 BERT 进行了优化,专门用于生成句子级别的稠密向量。
- **DPR (Dense Passage Retrieval)**:专为信息检索设计的稠密向量模型,常用于 RAG 引擎中[^2]。
#### 2. Sparse Embedding Model
Sparse embedding model 使用高维稀疏向量表示数据,适合数据集较小或计算资源有限的情况[^1]。以下是一些常见的 sparse embedding model:
- **TF-IDF**:基于词频和逆文档频率的简单稀疏向量表示方法。
- **Word2Vec**:虽然生成的是稠密向量,但在某些场景下也可以被视为稀疏模型的近似替代。
- **FastText**:扩展了 Word2Vec,支持子词(subword)级别的表示。
- **BM25**:一种经典的稀疏检索模型,广泛应用于搜索引擎中。
#### 3. 其他新兴模型
除了上述两类模型外,还有一些结合两者优点的混合模型或特定领域模型:
- **GraphRAG**:结合了 ollama 提供的本地 LLM 和嵌入模型服务,构建本地知识库时可选择不同的嵌入模型[^3]。
- **RAGFlow 内置模型**:在使用 RAGFlow 时,内置的嵌入模型通常是经过优化的 dense 模型,避免因外部模型访问受限导致的错误[^4]。
```python
# 示例代码:加载 Sentence-BERT 模型
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
embeddings = model.encode(["This is a test sentence."])
print(embeddings)
```
###
阅读全文
相关推荐

















