docs(README): Embedding 推荐更新为 Qwen3-Embedding-0.6B(Q8_0 639MB 首选,ModelScope 国内可下/GGUF,dim 1024 注意清向量表)
This commit is contained in:
1 parent
2d256264ec
commit
74f8eada47
1 file changed
+11
-10
@@ -60,31 +60,32 @@ go build -ldflags="-s -w" -trimpath -o cyrene ./cmd/cyrene/
|
||||
## Embedding 模型推荐
|
||||
|
||||
> 用于长记忆/知识库**语义向量检索**(默认不配 = 内置 n-gram 向量,dim=256,离线但质量一般)。
|
||||
> 配了 `EMBEDDING_API_URL/MODEL` 后走**真语义**。维度 = 模型 dim,与向量索引一致的;**切换模型会改维度,需清空旧向量数据**。
|
||||
> 配了 `EMBEDDING_API_URL/MODEL` 后走**真语义**。维度 = 模型 dim,与向量索引一致;**切换模型会改维度,需清空旧向量数据**。
|
||||
|
||||
| 模型 | dim | 大小 | 推理内存 | 质量 | 建议 |
|
||||
|------|-----|------|---------|------|------|
|
||||
| **bge-m3** | 1024 | ~2.2GB(fp16) / ~1.2GB(Q4) | ~2–3GB | ★★★★★(跨语言最强) | ⭐ **首选**(内存充足/GPU 时) |
|
||||
| **bge-small-zh-v1.5** | 512 | ~30–100MB | ~几十MB | ★★★★ | ✅ **资源受限环境推荐**(轻且稳) |
|
||||
| **Qwen3-Embedding-0.6B** | 1024 | Q8_0 **639MB** / f16 1.2GB | ~0.7–1GB | ★★★★★(多语言、2025 新、MTEB 榜前列) | ⭐ **首选**(ModelScope 国内可下 + GGUF;Q8_0 639MB 契合低内存) |
|
||||
| **bge-m3** | 1024 | ~2.2GB(fp16) / ~1.2GB(Q4) | ~2–3GB | ★★★★★(跨语言标杆) | 内存 / GPU 充裕时可用 |
|
||||
| **bge-small-zh-v1.5** | 512 | ~30–100MB | ~几十MB | ★★★★ | 极轻量备选 |
|
||||
| nomic-embed-text | 768 | ~270MB | ~400–600MB | ★★★☆ | 可 |
|
||||
| mxbai-embed-large | 768 | ~350–670MB | ~0.8–1GB | ★★★★ | 可 |
|
||||
|
||||
> **说明**:bge-m3 质量最好、跨语言,**推荐内存/GPU 较充足的部署**;**资源受限环境**(低内存 / 无 GPU)建议用轻量的 **bge-small-zh-v1.5**(快、稳,中文/多语言够用)——按部署资源取舍质量与性能。
|
||||
> **首选说明**:**Qwen3-Embedding-0.6B**(阿里通义 2025-06 开源,覆盖 100+ 语言,MTEB 多语言榜前列)——**有 GGUF**、**ModelScope(魔搭)国内直连可下**(HuggingFace 在国内已不可访问);`Q8_0` 仅 **639MB**,即使内存紧张(如 ~3GB 可用、无独立显存的 UMA GPU)也能跑,且质量≈f16。比 bge-m3 更新、比 bge-small 强。若内存非常宽裕再考虑 bge-m3。
|
||||
|
||||
`.env` 示例(本地 Ollama):
|
||||
`.env` 示例(本地 Ollama / llama.cpp):
|
||||
```bash
|
||||
EMBEDDING_API_URL=http://localhost:11434/v1
|
||||
EMBEDDING_MODEL=bge-small-zh-v1.5
|
||||
EMBEDDING_MODEL=Qwen3-Embedding-0.6B
|
||||
# EMBEDDING_API_KEY=
|
||||
```
|
||||
|
||||
**llama.cpp 能替代 Ollama 吗?** —— 能。llama.cpp 的 `llama-server`(服务模式)同样暴露 **OpenAI 兼容 `/v1/embeddings`**,用单二进制 + 一个 GGUF 嵌入模型即可:
|
||||
**llama.cpp 能替代 Ollama 吗?** —— 能,且更省内存。llama.cpp 的 `llama-server`(服务模式)同样暴露 **OpenAI 兼容 `/v1/embeddings`**,用单二进制 + 一个 GGUF:
|
||||
```bash
|
||||
./llama-server -m bge-small-zh-v1.5-Q4.gguf --embedding --port 11434
|
||||
# 然后 EMBEDDING_API_URL=http://localhost:11434/v1 照用
|
||||
./llama-server -m Qwen3-Embedding-0.6B-Q8_0.gguf --embedding -ngl 99 --port 11434
|
||||
# 然后 EMBEDDING_API_URL=http://localhost:11434/v1 照用(dim=1024;切换前清一次向量表)
|
||||
```
|
||||
- **Ollama**:模型管理方便(`pull`)、开箱即用,但常驻偏重。
|
||||
- **llama.cpp**:单文件更轻(内存更省,适合资源受限 / 单机部署)、可离线自制 GGUF;但模型要自己下/转(无 registry)。
|
||||
- **llama.cpp**:单文件更轻(内存更省,适合资源受限 / 单机部署)、可离线自制 GGUF;但模型要自己下/转(无 registry)。注意:**llama.cpp 只认 GGUF**,`model.safetensors` 是 transformers/HF 用的,不能直接喂 llama.cpp。
|
||||
- 二者对上层代码**等价**(都是 OpenAI 兼容 embedding 端点);资源受限时 llama.cpp 更省内存,追求易用则选 Ollama。
|
||||
|
||||
---
|
||||
|
||||
Reference in new issue
Block a user