图文检索(CLIP)
本章目标:实现一个可复现的图文检索系统,并把它当作多模态应用的“基础能力模块”(可被 RAG、Agent、推荐、内容审核复用)。
1. 任务定义
输入:查询 (q)(文本或图片)
输出:Top-K 结果(图片/文本条目)
核心目标:语义相似的跨模态样本在 embedding 空间更近
2. 系统架构
离线:
图片库 → image embeddings
文本库(可选)→ text embeddings
建立向量索引(FAISS/ANN)
在线:
查询编码 → 向量检索
重排(可选:cross-encoder/MLLM judge/规则)
返回结果 + 可解释信息(相似度、标签、来源)
3. 训练/微调(可选)
如果只做工程实战,可以直接用开源 CLIP;如果要提升某个领域(例如医疗影像/工业缺陷/电商商品图),可以:
收集领域图文对齐数据(caption、类目、属性)
用对比学习微调(注意负样本与 batch size)
4. 评测指标
Recall@K(检索)
mAP / NDCG(排序质量)
延迟(P50/P95)与吞吐(QPS)
索引大小与增量更新成本
5. 常见工程坑位
图片去重与近重复(否则检索评测会虚高)
数据分布偏差(线上查询与离线评测不一致)
向量库版本治理(embedding 版本切换、索引重建、回滚)