/ Модель

Характеристики

Контекст
8 192 токена
Лицензия
Apache 2.0
Архитектура
jina_clip · dense
Библиотека
transformers
Опубликована
21 мая 2024

jina-clip-v1

ЭмбеддингиТекст → embedding8 профессий

Англоязычная мультимодальная модель Jina AI, создающая совместимые эмбеддинги текста и изображений для семантического и межмодального поиска.

96 452скачиваний за 30 дней258лайковвеса обновлены8 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки30

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • STSBenchmarkMultilingualVisualSTS

    main_score

    Результат

    0,4744

    Общий результат 0,4423Общий результат 0,1965
    MTEB

    Публичная таблицадругая ревизия

  • XFlickr30kCoT2IRetrieval

    main_score

    Результат

    0,0269

    Общий результат 0,4877Общий результат 0,295Общий результат 0,0286
    MTEB

    Публичная таблицадругая ревизия

  • Vidore2EconomicsReportsRetrieval

    main_score

    Результат

    0,0374

    MTEB

    Публичная таблицадругая ревизия

  • FORBI2IRetrieval

    main_score

    Результат

    0,381

    MTEB

    Публичная таблицадругая ревизия

  • HatefulMemesI2TRetrieval

    main_score

    Результат

    0,5031

    MTEB

    Публичная таблицадругая ревизия

  • WITT2IRetrieval

    main_score

    Результат

    0,0603

    Общий результат 0,622Общий результат 0,2956Общий результат 0,2592
    MTEB

    Публичная таблицадругая ревизия

  • XM3600T2IRetrieval

    main_score

    Результат

    0,2772

    Общий результат 0,0827Общий результат 0,0431Общий результат 0,0192
    MTEB

    Публичная таблицадругая ревизия

  • StanfordCarsZeroShot

    main_score

    Результат

    0,6809

    MTEB

    Публичная таблицадругая ревизия

  • StanfordCarsI2IRetrieval

    main_score

    Результат

    0,6486

    MTEB

    Публичная таблицадругая ревизия

  • Winoground

    main_score

    Результат

    0,06

    MTEB

    Публичная таблицадругая ревизия

  • STS12VisualSTS

    main_score

    Результат

    0,5796

    MTEB

    Публичная таблицадругая ревизия

  • Flickr30kT2IRetrieval

    main_score

    Результат

    0,8095

    MTEB

    Публичная таблицадругая ревизия

  • AROVisualAttribution

    main_score

    Результат

    0,617

    MTEB

    Публичная таблицадругая ревизия

  • VOC2007

    main_score

    Результат

    0,6689

    MTEB

    Публичная таблицадругая ревизия

  • EDIST2ITRetrieval

    main_score

    Результат

    0,2247

    MTEB

    Публичная таблицадругая ревизия

  • STS17MultilingualVisualSTS

    main_score

    Результат

    0,2959

    Общий результат 0,6775Общий результат 0,278
    MTEB

    Публичная таблицадругая ревизия

  • VidoreDocVQARetrieval

    main_score

    Результат

    0,1099

    MTEB

    Публичная таблицадругая ревизия

  • STS13VisualSTS

    main_score

    Результат

    0,558

    MTEB

    Публичная таблицадругая ревизия

  • UCF101

    main_score

    Результат

    0,7669

    MTEB

    Публичная таблицадругая ревизия

  • STS14VisualSTS

    main_score

    Результат

    0,5695

    MTEB

    Публичная таблицадругая ревизия

  • CIFAR100

    main_score

    Результат

    0,7019

    MTEB

    Публичная таблицадругая ревизия

  • StanfordCars

    main_score

    Результат

    0,7169

    MTEB

    Публичная таблицадругая ревизия

  • FER2013

    main_score

    Результат

    0,445

    MTEB

    Публичная таблицадругая ревизия

  • BirdsnapZeroShot

    main_score

    Результат

    0,3236

    MTEB

    Публичная таблицадругая ревизия

  • UCF101ZeroShot

    main_score

    Результат

    0,5067

    MTEB

    Публичная таблицадругая ревизия

  • MSCOCOI2TRetrieval

    main_score

    Результат

    0,4828

    MTEB

    Публичная таблицадругая ревизия

  • RParisMediumI2IRetrieval

    main_score

    Результат

    0,0271

    MTEB

    Публичная таблицадругая ревизия

  • SciMMIR

    main_score

    Результат

    0,6319

    MTEB

    Публичная таблицадругая ревизия

  • Vidore2ESGReportsRetrieval

    main_score

    Результат

    0,1181

    MTEB

    Публичная таблицадругая ревизия

  • WebQAT2TRetrieval

    main_score

    Результат

    0,6241

    MTEB

    Публичная таблицадругая ревизия

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

jina-clip-v1 — англоязычная мультимодальная модель эмбеддингов Jina AI на архитектуре CLIP. Она преобразует текст и изображения в векторы общего пространства, пригодные для поиска и сравнения по сходству. Модель рассчитана на текстовый поиск, поиск изображений по текстовому запросу, поиск текста по изображению и текстовый семантический поиск.

Модель подходит для мультимодальных систем поиска и RAG, где нужно искать текст и изображения с помощью одной модели. В карточке приведены результаты сравнений на задачах Flickr и MSCOCO для поиска между изображениями и текстом, а также на текстовых наборах STS и BEIR. Для объединения текстовых и межмодальных оценок сходства авторы рекомендуют взвешенное усреднение либо нормализацию z-оценкой, поскольку значения текстового сходства обычно выше.

Модель распространяется под лицензией Apache-2.0. В карточке не указаны число параметров и длина контекста; для использования описаны варианты через API Jina AI или библиотеки Transformers и Sentence Transformers.

Сценарии применения

  • поиск изображений по текстовому запросу
  • поиск текста по изображению
  • семантический поиск по текстовым документам
  • построение мультимодального поиска для RAG
  • сравнение сходства текста и изображения

Ограничения

Модель ориентирована на английский язык. Оценки сходства для пар текст-текст обычно выше, чем для пар текст-изображение, поэтому перед объединением таких оценок рекомендуется взвешивание или нормализация.

Для каких профессий подходит8

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Intended Usage & Model Info

jina-clip-v1 is a state-of-the-art English multimodal (text-image) embedding model.

Traditional text embedding models, such as jina-embeddings-v2-base-en, excel in text-to-text retrieval but incapable of cross-modal tasks. Models like openai/clip-vit-base-patch32 effectively align image and text embeddings but are not optimized for text-to-text retrieval due to their training methodologies and context limitations.

jina-clip-v1 bridges this gap by offering robust performance in both domains. Its text component matches the retrieval efficiency of jina-embeddings-v2-base-en, while its overall architecture sets a new benchmark for cross-modal retrieval. This dual capability makes it an excellent tool for multimodal retrieval-augmented generation (MuRAG) applications, enabling seamless text-to-text and text-to-image searches within a single model.

Data & Parameters

Check out our paper

Usage

  1. The easiest way to starting using jina-clip-v1-en is to use Jina AI's Embeddings API.
  2. Alternatively, you can use Jina CLIP directly via transformers/sentence-transformers package.
!pip install transformers einops timm pillow
from transformers import AutoModel

# Initialize the model
model = AutoModel.from_pretrained('jinaai/jina-clip-v1', trust_remote_code=True)

# New meaningful sentences
sentences = ['A blue cat', 'A red cat']

# Public image URLs
image_urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
]

# Encode text and images
text_embeddings = model.encode_text(sentences)
image_embeddings = model.encode_image(image_urls)  # also accepts PIL.image, local filenames, dataURI

# Compute similarities
print(text_embeddings[0] @ text_embeddings[1].T) # text embedding similarity
print(text_embeddings[0] @ image_embeddings[0].T) # text-image cross-modal similarity
print(text_embeddings[0] @ image_embeddings[1].T) # text-image cross-modal similarity
print(text_embeddings[1] @ image_embeddings[0].T) # text-image cross-modal similarity
print(text_embeddings[1] @ image_embeddings[1].T)# text-image cross-modal similarity

or sentence-transformers:

# !pip install -U sentence-transformers 
from sentence_transformers import SentenceTransformer

# Initialize the model
model = SentenceTransformer('jinaai/jina-clip-v1', trust_remote_code=True)

# New meaningful sentences
sentences = ['A blue cat', 'A red cat']

# Public image URLs
image_urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
]

text_embeddings = model.encode(sentences)
image_embeddings = model.encode(image_urls)
  1. JavaScript developers can use Jina CLIP via the Transformers.js library. Note that to use this model, you need to install Transformers.js v3 from source using npm install xenova/transformers.js#v3.
import { AutoTokenizer, CLIPTextModelWithProjection, AutoProcessor, CLIPVisionModelWithProjection, RawImage, cos_sim } from '@xenova/transformers';

// Load tokenizer and text model
const tokenizer = await AutoTokenizer.from_pretrained('jinaai/jina-clip-v1');
const text_model = await CLIPTextModelWithProjection.from_pretrained('jinaai/jina-clip-v1');

// Load processor and vision model
const processor = await AutoProcessor.from_pretrained('Xenova/clip-vit-base-patch32');
const vision_model = await CLIPVisionModelWithProjection.from_pretrained('jinaai/jina-clip-v1');

// Run tokenization
const texts = ['A blue cat', 'A red cat'];
const text_inputs = tokenizer(texts, { padding: true, truncation: true });

// Compute text embeddings
const { text_embeds } = await text_model(text_inputs);

// Read images and run processor
const urls = [
    'https://i.pinimg.com/600x315/21/48/7e/21487e8e0970dd366dafaed6ab25d8d8.jpg',
    'https://i.pinimg.com/736x/c9/f2/3e/c9f23e212529f13f19bad5602d84b78b.jpg'
];
const image = await Promise.all(urls.map(url => RawImage.read(url)));
const image_inputs = await processor(image);

// Compute vision embeddings
const { image_embeds } = await vision_model(image_inputs);

//  Compute similarities
console.log(cos_sim(text_embeds[0].data, text_embeds[1].data)) // text embedding similarity
console.log(cos_sim(text_embeds[0].data, image_embeds[0].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[0].data, image_embeds[1].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[1].data, image_embeds[0].data)) // text-image cross-modal similarity
console.log(cos_sim(text_embeds[1].data, image_embeds[1].data)) // text-image cross-modal similarity

Performance

Text-Image Retrieval

NameFlickr Image Retr. R@1Flickr Image Retr. R@5Flickr Text Retr. R@1Flickr Text Retr. R@5
ViT-B-320.5970.83980.7810.938
ViT-B-160.62160.85720.8220.966
jina-clip0.67480.89020.8110.965
NameMSCOCO Image Retr. R@1MSCOCO Image Retr. R@5MSCOCO Text Retr. R@1MSCOCO Text Retr. R@5
ViT-B-320.3420.60010.52340.7634
ViT-B-160.33090.58420.52420.767
jina-clip0.41110.66440.55440.7904

Text-Text Retrieval

NameSTS12STS15STS17STS13STS14STS16STS22STSBenchmarkSummEval
jina-embeddings-v20.74270.87550.88880.8330.79170.8360.63460.84040.3056
jina-clip0.73520.87460.89760.83230.78680.83770.65830.84930.3048
NameArguAnaFiQA2018NFCorpusQuoraSCIDOCSSciFactTRECCOVID
jina-embeddings-v20.44180.41580.32450.8820.19860.66680.6591
jina-clip0.49330.38270.33520.87890.20240.67340.7161

Contact

Join our Discord community and chat with other community members about ideas.

Citation

If you find jina-clip-v1 useful in your research, please cite the following paper:

@misc{2405.20204,
    Author = {Andreas Koukounas and Georgios Mastrapas and Michael Günther and Bo Wang and Scott Martens and Isabelle Mohr and Saba Sturua and Mohammad Kalim Akram and Joan Fontanals Martínez and Saahil Ognawala and Susana Guzman and Maximilian Werk and Nan Wang and Han Xiao},
    Title = {Jina CLIP: Your CLIP Model Is Also Your Text Retriever},
    Year = {2024},
    Eprint = {arXiv:2405.20204},
}

FAQ

I encounter this problem, what should I do?

ValueError: The model class you are passing has a `config_class` attribute that is not consistent with the config class you passed (model has <class 'transformers_modules.jinaai.jina-clip-implementation.7f069e2d54d609ef1ad2eb578c7bf07b5a51de41.configuration_clip.JinaCLIPConfig'> and you passed <class 'transformers_modules.jinaai.jina-clip-implementation.7f069e2d54d609ef1ad2eb578c7bf07b5a51de41.configuration_cli.JinaCLIPConfig'>. Fix one of those so they match!

There was a bug in Transformers library between 4.40.x to 4.41.1. You can update transformers to >4.41.2 or <=4.40.0

Given one query, how can I merge its text-text and text-image cosine similarity?

Our emperical study shows that text-text cosine similarity is normally larger than text-image cosine similarity! If you want to merge two scores, we recommended 2 ways:

  1. weighted average of text-text sim and text-image sim:
combined_scores = sim(text, text) + lambda * sim(text, image)  # optimal lambda depends on your dataset, but in general lambda=2 can be a good choice.
  1. apply z-score normalization before merging scores:
# pseudo code
query_document_mean = np.mean(cos_sim_text_texts)
query_document_std = np.std(cos_sim_text_texts)
text_image_mean = np.mean(cos_sim_text_images)
text_image_std = np.std(cos_sim_text_images)

query_document_sim_normalized = (cos_sim_query_documents - query_document_mean) / query_document_std
text_image_sim_normalized = (cos_sim_text_images - text_image_mean) / text_image_std

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
JinaCLIPModel
Ревизия весов
ceb3e44

0 моделей