🏅Embedding Model

type
Post
status
Published
date
Mar 29, 2026
slug
Embedding-Model
summary
category
技术分享
tags
思考
icon
password
AI summary
Blocked by
Blocking
Category

核心概念

向量数据库(如 Qdrant)不理解自然语言,只做数值相似度计算。让内容「可被检索」的能力完全来自 Embedding 模型的质量。

Dense Vector(语义向量)

  • 512~4096 维稠密浮点数组
  • 捕捉语义相似性,擅长同义词、跨语言、概念关联
  • 例:「汽车」与「轿车」在向量空间中彼此接近

Sparse Vector(词法向量)

  • 高维稀疏向量,绝大多数维度为零
  • 类似 BM25,但经过神经网络权重增强(如 SPLADE)
  • 擅长精确关键词、专有名词、产品型号匹配

两个关键阶段

Indexing(数据插入)

  • 批量调用 Embedding 模型,离线处理
  • 生成 Dense + Sparse 向量后持久化存储
  • 对延迟要求宽松,吞吐量和单位成本是核心指标

Query(用户检索)

  • 每次查询都需实时调用模型将查询转为向量
  • 流程:用户输入 → Embedding → Prefetch(Dense + Sparse 并行) → RRF Fusion → 返回结果
  • 直接影响用户体验,延迟敏感

Hybrid Search

  • 为什么需要:单路 Dense 对精确词召回弱;单路 Sparse 对语义迂回查询无能为力
  • 做法:Dense 检索 + Sparse 检索并行执行(Prefetch),结果通过 RRF(Reciprocal Rank Fusion) 融合排序
  • Qdrant 原生支持此模式

多模态检索:两种技术路线

CLIP 架构(旧)

  • 文本和图像独立编码器,对比学习对齐
  • 擅长自然图片跨模态,不理解图表/表格结构

VLM 架构(新)✅ 推荐

  • 以多模态大模型(如 Qwen2.5-VL)为骨干
  • 文档图片直接输入,保留图表、表格、公式布局
  • 代表模型:Jina v4、Nomic Embed Multimodal、Qwen3-VL-Embedding
如果内容包含数据图表、表格、PDF 扫描页,VLM 架构是明显优于 CLIP 的选择。

主流模型对比

模型
参数
多模态
视觉文档
多语言
Dense+Sparse
License
BGE-M3
568M
❌ 纯文本
100+ 语言
✅ 三路完整
MIT
Jina CLIP v2
865M
✅ 文本+图片
⚠️ 基础图片
89 语言
❌ 仅 Dense
Apache 2.0
Jina Embeddings v4
3.8B
✅ 文本+图片
✅ 图表/表格/扫描
30+ 语言
✅ Dense+多向量
⚠️ Qwen研究许可
Nomic Embed Multimodal
3B/7B
✅ 文本+图片
✅ PDF/图表
⚠️ 有限
⚠️ Dense(ColNomic)
Apache 2.0
Qwen3-VL-Embedding
2B/8B
✅ 文本+图片
✅ 视觉文档
100+ 语言
❌ 仅 Dense
Apache 2.0
Cohere Embed v4
闭源
✅ 文本+图片
✅ 128K token
100+ 语言
⚠️ Dense+int8
商业 API
Gemini Embedding 2
闭源
✅ 全模态
✅ PDF
100+ 语言
❌ 仅 Dense
商业 API
多语言 Benchmark 参考:Gemini 0.997 > Qwen3-VL 0.988 > Jina v4 0.985

选型建议

方案 A — 全自托管,成本最优

BGE-M3 + Jina CLIP v2
  • 文本用 BGE-M3(完整三路:Dense + Sparse + ColBERT)
  • 图片/视觉用 Jina CLIP v2 补齐跨模态
  • 两者轻量、可商用、Qdrant 官方集成

方案 B — 统一模型,工程最简 ⭐

Jina Embeddings v4
  • 单模型覆盖文本 + 图片 + 视觉文档
  • 网关层封装成本最低
  • ⚠️ 注意:3.8B 参数 GPU 需求高;License 需确认商业条款

方案 C — 开源多模态优先,中文场景

BGE-M3 + Qwen3-VL-Embedding
  • Qwen3-VL 多语言 benchmark 第二,中文尤强
  • Apache 2.0 商用无顾虑
  • 文本侧保留 BGE-M3 的 Sparse 能力

方案 D — 快速 POC 验证

Cohere Embed v4
  • 128K token 上下文,100+ 语言,Qdrant 官方集成
  • 适合验证阶段,不建议作为生产终态

Qdrant 集成要点

Named Vectors 设计

Sparse 补齐策略

  • 如果多模态模型不输出 Sparse → 启用 Qdrant 内置 BM42(无需额外模型,最简单)
  • 对词法召回质量要求高 → 引入 SPLADE 模型单独负责 Sparse 路

网关统一接口

网关内部按 model + modality 路由到对应 Adapter,对外统一 Response 格式,Qdrant Upsert 层无需感知底层模型差异。

参考链接

 
Prev
MySQL-存储引擎
Next
Kueue
Loading...
Article List
如果去做,还有一丝希望;但是不去做,就毫无希望
技术分享
个人总结
LLM
k8s
knative
agentic
istio
HAMI
Golang
转发
计算机网络
Redis
MySQL
Mysql