[ PROMPT_NODE_22988 ]
RAG Sentence Transformers 模型
[ SKILL_DOCUMENTATION ]
# Sentence Transformers 模型指南
选择和使用 Sentence-Transformers 模型的指南。
## 推荐模型
### 通用模型
**all-MiniLM-L6-v2** (默认推荐)
- 维度: 384
- 速度: ~2000 句/秒
- 质量: 良好
- 用途: 原型设计、通用任务
**all-mpnet-base-v2** (最佳质量)
- 维度: 768
- 速度: ~600 句/秒
- 质量: 更好
- 用途: 生产环境 RAG
**all-roberta-large-v1** (最高质量)
- 维度: 1024
- 速度: ~300 句/秒
- 质量: 最好
- 用途: 精度要求极高的场景
### 多语言 (50+ 语言)
**paraphrase-multilingual-MiniLM-L12-v2**
- 语言: 50+
- 维度: 384
- 速度: 快
- 用途: 多语言语义搜索
**paraphrase-multilingual-mpnet-base-v2**
- 语言: 50+
- 维度: 768
- 速度: 中等
- 用途: 更好的多语言质量
**LaBSE** (109 语言)
- 语言: 109
- 维度: 768
- 速度: 中等
- 用途: 最大化语言覆盖范围
### 特定领域
**allenai/specter** (科学论文)
- 领域: 学术论文
- 用途: 论文相似度、引用分析
**nlpaueb/legal-bert-base-uncased** (法律)
- 领域: 法律文档
- 用途: 法律文档分析
**microsoft/codebert-base** (代码)
- 领域: 源代码
- 用途: 代码相似度、搜索
## 模型选择矩阵
| 任务 | 模型 | 维度 | 速度 | 质量 |
|------|-------|------------|-------|---------|
| 快速原型 | MiniLM-L6 | 384 | 快 | 良好 |
| 生产环境 RAG | mpnet-base | 768 | 中等 | 更好 |
| 最高精度 | roberta-large | 1024 | 慢 | 最好 |
| 多语言 | paraphrase-multi-mpnet | 768 | 中等 | 良好 |
| 科学论文 | specter | 768 | 中等 | 领域专用 |
| 法律文档 | legal-bert | 768 | 中等 | 领域专用 |
## 性能基准
### 速度对比 (CPU)
| 模型 | 句/秒 | 内存 |
|-------|---------------|--------|
| MiniLM-L6 | 2000 | 120 MB |
| MPNet-base | 600 | 420 MB |
| RoBERTa-large | 300 | 1.3 GB |
### 质量对比 (STS 基准测试)
| 模型 | 余弦相似度 | Spearman |
|-------|-------------------|----------|
| MiniLM-L6 | 82.4 | - |
| MPNet-base | 84.1 | - |
| RoBERTa-large | 85.4 | - |
## 使用示例
### 加载并使用模型
python
from sentence_transformers import SentenceTransformer
# 加载模型
model = SentenceTransformer('all-mpnet-base-v2')
# 生成嵌入
sentences = ["This is a sentence", "This is another sentence"]
embeddings = model.encode(sentences)
### 比较不同模型
python
models =