向量检索图文多模态开源 多模态模型

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 文本编码器理解提示词,二者常配合使用。

访问备注与注意事项