Embedding 模型
1. Embedding 是什么
- 把文本转成向量的机制
- 语义相近 → 向量距离相近
- 核心:余弦相似度衡量方向,而非欧氏距离
2. 向量维度
- 常见维度:1024 / 2560 / 4096(与参数量正相关)
- 维度 ≠ 越高越好,需权衡:
- 存储成本(4096维 vs 1024维,存储直接翻4倍)
- 推理速度
- 维度诅咒(过高时距离失去区分度)
3. 模型参数量命名规则
- xB = x Billion(十亿参数)
- 0.6B ≈ 6亿参数
- 4B ≈ 40亿参数
- 8B ≈ 80亿参数
- 参数量越大 → 表达能力越强 → 通常维度也越高
4. 选型参考(个人/本地部署 vs 企业级)
| 场景 | 建议模型规模 | 维度 |
|---|---|---|
| 本地部署(如 Mac 跑 LocalMind) | 0.6B~4B | 1024~2560 |
| 企业级/高精度 | 8B+ | 4096+ |
5. Token vs Text Splitter vs Embedding 全链路
文本 → Tokenizer切分 → Token IDs → Embedding层 → 向量
6. 检索算法(ANN)
- HNSW(多层图,ChromaDB默认)
- IVF(倒排索引,先聚类再搜索)
- LSH(局部敏感哈希)
7. RAG 中的 Hallucination 排查
- 引用错位的两种来源:
- 检索阶段:召回了噪声chunk
- 生成阶段:LLM把内容和引用对应错了
- 排查方法:查chunk实际内容是否包含该信息