MMEB-train, CC-3M, colpali training set.
The table below compares performance on MMEB-Image benchmark among models of similar size.
1from ops_mm_embedding_v1 import OpsMMEmbeddingV1, fetch_image
2
3
4model = OpsMMEmbeddingV1(
5 "OpenSearch-AI/Ops-MM-embedding-v1-7B",
6 device="cuda",
7 attn_implementation="flash_attention_2"
8)
9
10t2i_prompt = "Find an image that matches the given text."
11texts = [
12 "The Tesla Cybertruck is a battery electric pickup truck built by Tesla, Inc. since 2023.",
13 "Alibaba office.",
14 "Alibaba office.",
15]
16images = [
17 "https://upload.wikimedia.org/wikipedia/commons/e/e9/Tesla_Cybertruck_damaged_window.jpg",
18 "https://upload.wikimedia.org/wikipedia/commons/e/e0/TaobaoCity_Alibaba_Xixi_Park.jpg",
19 "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Alibaba_Binjiang_Park.jpg/1024px-Alibaba_Binjiang_Park.jpg"
20]
21
22images = [fetch_image(image) for image in images]
23
24# Text and image embedding
25text_embeddings = model.get_text_embeddings(texts)
26image_embeddings = model.get_image_embeddings(images)
27print('Text and image embeddings', (text_embeddings @ image_embeddings.T).tolist())
28
29# Fused Embedding
30text_with_image_embeddings = model.get_fused_embeddings(texts=texts, images=images, instruction=t2i_prompt)
31print('Text and image embeddings', (text_embeddings @ image_embeddings.T).tolist())
32
33# Multi-image embeddings
34multi_images = [
35 [images[0]],
36 [images[1], images[2]],
37]
38multi_image_embeddings = model.get_image_embeddings(multi_images)
39print('Multi-image embeddings', (multi_image_embeddings @ multi_image_embeddings.T).tolist())
40