向量检索图文多模态开源 多模态模型
CLIP(图文对齐模型) ViT-B/32
CLIP系列 · OpenAI · 2021-01发布
模型介绍
OpenAI 开源的图文对齐模型,将图片与文本映射到同一向量空间,可用于以文搜图、图搜图、图像分类与多模态检索系统。
模型基础信息
模型系列CLIP系列
开发机构OpenAI
发布时间2021-01
参数规模ViT-B/32 等
上下文窗口77 token
模型类型多模态(图文对齐 / 检索)
中文能力待评估
使用方式网页体验 / API调用 / 本地部署
免费额度与收费政策
开源免费
免费规则详情
权重 MIT 协议完全免费,可自由商用。
收费标准简介
完全免费;仅需硬件成本。
模型能力介绍
✅ 核心优势
- 将图片与文本对齐到同一向量空间
- 以文搜图 / 图搜图 / 零样本分类开箱即用
- 轻量,CPU 也能跑
- 是多数多模态检索系统的基石
⚠️ 短板与局限
- 不直接生成文本,只做相似度匹配
- 文本编码受 77 token 限制
- 需搭配向量数据库构建完整检索系统
🎯 适用场景
- 以文搜图 / 图搜图
- 零样本图像分类
- 多模态向量检索(配合 Milvus / Qdrant)
- 相似图片去重
模型使用教程
本章节整理 CLIP(图文对齐模型) 的在线体验、API调用、本地部署全套入门教程,快速上手使用该模型。
- 用途:计算图片与文本的相似度 → 以文搜图、图搜图、零样本分类。
- 常见尺寸:ViT-B/32、ViT-L/14、ViT-L/14@336px。
- 常与向量数据库(Milvus/Qdrant)配合构建多模态检索系统。
零样本分类示例:给图片分别计算「一只猫」「一只狗」的相似度,取最高者。
pip install openai-clip
或使用 Hugging Face:openai/clip-vit-base-patch32。
import torch
import clip
from PIL import Image
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)
image = preprocess(Image.open("cat.jpg")).unsqueeze(0).to(device)
text = clip.tokenize(["a cat", "a dog", "a car"]).to(device)
with torch.no_grad():
logits, _ = model(image, text)
probs = logits.softmax(dim=-1)
print(probs.cpu().tolist()) # 每个文本标签的概率
pip install openai-clip
import torch
import clip
from PIL import Image
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)
image = preprocess(Image.open("cat.jpg")).unsqueeze(0).to(device)
text = clip.tokenize(["a cat", "a dog", "a car"]).to(device)
with torch.no_grad():
logits, _ = model(image, text)
probs = logits.softmax(dim=-1)
print(probs.cpu().tolist()) # 每个文本标签的概率
配合向量数据库(如 Milvus)即可构建大规模以文搜图系统。
💡 使用小技巧
对检索精度要求高时选用 ViT-L/14@336px 版本。
生产系统建议提前用 faiss / Milvus 建好索引,避免全量比对。
❓ 常见问题 FAQ
Q1:CLIP 能直接生成图片吗?
A1:不能,它做的是图片与文本相似度计算,不是生成模型。
Q2:和 Stable Diffusion 什么关系?
A2:SD 用 CLIP 文本编码器理解提示词,二者常配合使用。
访问备注与注意事项
- 权重国内可用 hf-mirror 镜像下载
- 官方实现为 PyTorch 代码
Aitishiku.com