图文检索(CLIP)

本章目标:实现一个可复现的图文检索系统,并把它当作多模态应用的“基础能力模块”(可被 RAG、Agent、推荐、内容审核复用)。


1. 任务定义

  • 输入:查询 (q)(文本或图片)

  • 输出:Top-K 结果(图片/文本条目)

  • 核心目标:语义相似的跨模态样本在 embedding 空间更近


2. 系统架构

  1. 离线:

    • 图片库 → image embeddings

    • 文本库(可选)→ text embeddings

    • 建立向量索引(FAISS/ANN)

  2. 在线:

    • 查询编码 → 向量检索

    • 重排(可选:cross-encoder/MLLM judge/规则)

    • 返回结果 + 可解释信息(相似度、标签、来源)


3. 训练/微调(可选)

如果只做工程实战,可以直接用开源 CLIP;如果要提升某个领域(例如医疗影像/工业缺陷/电商商品图),可以:

  • 收集领域图文对齐数据(caption、类目、属性)

  • 用对比学习微调(注意负样本与 batch size)


4. 评测指标

  • Recall@K(检索)

  • mAP / NDCG(排序质量)

  • 延迟(P50/P95)与吞吐(QPS)

  • 索引大小与增量更新成本


5. 常见工程坑位

  • 图片去重与近重复(否则检索评测会虚高)

  • 数据分布偏差(线上查询与离线评测不一致)

  • 向量库版本治理(embedding 版本切换、索引重建、回滚)