Embedding-Reranker
Embedding 和 Reranker 模型指南
1. 理论
1.1 Embedding 模型:文字的「数字身份证」
作用:将文字转换为高维向量,建立语义空间中的坐标定位
使用场景:
- 🔍 搜索(”猫” → 匹配”猫咪””橘猫”)
- 🎥 推荐系统(科幻片→科幻片)
- 📊 聚类分析(自动分类用户评论)
比喻:图书馆管理员快速搬来所有「狗」相关书籍,但顺序杂乱
1.2 Reranker 模型:结果的「智能排序员」
作用:对初步结果重新排序,提升精准度
使用场景:
- ❓ 问答系统(从100条答案选最优解)
- 🔍 搜索引擎(”苹果”优先显示水果)
- 🎬 推荐系统(按评分/热度排序)
比喻:管理员二次整理书籍,按评分/出版时间排序
1.3 两者协作关系
| Embedding | Reranker | |
|---|---|---|
| 阶段 | 粗筛(召回) | 精排(排序) |
| 速度 | 快 | 较慢 |
| 目标 | 解决”有没有” | 解决”哪个更好” |
经典组合案例:
- 电商搜索:Embedding找”运动鞋” → Reranker按价格/销量排序
- 智能客服:Embedding匹配问题 → Reranker选最准回答
2. 部署实践
2.1 Ollama
- 官方模型库:Embedding Models
- 启动命令:
1
ollama run <model-name>
2.2 vLLM
Embedding 部署
1 | vllm serve /mnt/Qwen3-Embedding-8B/ \ |
Reranker 部署
1 | vllm serve /mnt/Qwen3-Reranker-0.6B/ \ |
Benchmark 测试
1 | #https://docs.vllm.ai/en/latest/benchmarking/cli/?h=reranker#text-embeddings |
文档参考:vLLM Models
2.3 SGLang
Embedding 部署
1 | python3 -m sglang.launch_server \ |
支持模型:Embedding Models
Reranker 部署
1 | python3 -m sglang.launch_server \ |
支持模型:Reranker Models
关键要点
- RAG 流程:Embedding 提升召回 → Reranker 优化排序
- 硬件建议:
- Embedding:需要更大显存(8B模型约需24G)
- Reranker:计算密集型,建议使用GPU加速
- 版本注意:
- vLLM 需 ≥0.11.0
- SGLang 需配置 Triton 后端
