Instructions to use geevec-ai/geevec-embeddings-mm-1.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use geevec-ai/geevec-embeddings-mm-1.0 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="geevec-ai/geevec-embeddings-mm-1.0")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("geevec-ai/geevec-embeddings-mm-1.0", device_map="auto") - Notebooks
- Google Colab
- Kaggle
GeeVec-Embeddings-mm-1.0
GeeVec-Embeddings-mm-1.0 is a multimodal embedding model, with approximately 9.41B parameters, built on top of Qwen3.5-9B. It is optimized for multimodal retrieval tasks and maps different modalities into a shared embedding space:
text: text queries and passages for semantic retrieval.image: images and image-text inputs for cross-modal retrieval.video: video content represented by sampled frames.visual document: document-page images, including charts, tables, and slides.
Introduction
This repository hosts the model GeeVec-Embeddings-mm-1.0.
Technical highlights:
- Model Type: Multimodal Embedding
- Backbone: Qwen3.5-9B
- Total Parameters: approximately 9.41B
- Sequence Length: 8,192 tokens in the current embedding pipeline
- Embedding Dimension: 4096
- Supported Modalities: text, image, video, and visual document
- Pooling Method: last-token pooling
- Similarity: cosine similarity
Model API usage documentation: https://www.geevec.com/documentation. & https://geeknow.geevec.com/embedding_model/
Usage With GeeVec-Embeddings-mm-1.0
Using Hugging Face Transformers
Install Transformers with Qwen3.5 support and the public vision utilities:
pip install torch "transformers==5.8.0" accelerate qwen-vl-utils pillow decord
import os
import torch
from modeling import GeeVecEmbedding
model_path = os.environ["MODEL_PATH"]
model = GeeVecEmbedding.from_pretrained(
model_path,
dtype=torch.bfloat16,
device_map="cuda:0",
)
queries = [
{
"text": "A person riding a bicycle along a city street.",
"instruction": "Find an image that matches the given description.",
},
{
"text": "A beach with clear water and white sand.",
"instruction": "Find an image that matches the given description.",
},
]
images = [
{"image": "/path/to/bicycle.jpg"},
{"image": "/path/to/beach.jpg"},
]
with torch.inference_mode():
query_embeddings = model.encode(queries)
image_embeddings = model.encode(images)
similarity = query_embeddings @ image_embeddings.T
print(similarity.cpu().tolist())
Visual-Document Retrieval
queries = [
{
"text": "Which page contains the company's annual revenue?",
"instruction": "Retrieve a document page that answers the question.",
},
]
pages = [
{"image": "/path/to/document_page_1.png"},
{"image": "/path/to/document_page_2.png"},
]
with torch.inference_mode():
query_embeddings = model.encode(queries)
page_embeddings = model.encode(pages)
similarity = query_embeddings @ page_embeddings.T
print(similarity.cpu().tolist())
Text-to-Video Retrieval
queries = [
{
"text": "A person preparing a meal in a kitchen.",
"instruction": "Retrieve a video that matches the given description.",
},
]
videos = [
{
"video": "/path/to/video.mp4",
"fps": 1.0,
},
]
with torch.inference_mode():
query_embeddings = model.encode(queries)
video_embeddings = model.encode(videos)
similarity = query_embeddings @ video_embeddings.T
print(similarity.cpu().tolist())
Notes
- The model produces 4096-dimensional embeddings for all supported modalities.
- Use task-specific instructions for queries and follow the corresponding evaluation configuration when reproducing benchmark results.
- Document pages are provided as images; convert PDF files to page images before encoding.
- Video paths are decoded and sampled by
qwen-vl-utils;fpscontrols the requested sampling rate. Pre-sampled frame lists are also supported.
Evaluation
MMEB-v2 Retrieval
Results on the 44 retrieval datasets of MMEB-v2: 12 image retrieval, 5 video retrieval, 3 moment retrieval, and 24 visual-document retrieval tasks. Image and video tasks use Hit@1, while visual-document tasks use NDCG@5 (linear gains). Higher is better. Scores are percentages.
| Model | Size | AVG | Image | Video | VisDoc |
|---|---|---|---|---|---|
| seed1.6-embedding | - | 77.02 | 79.33 | 57.48 | 82.38 |
| Qwen3-VL-Embedding-8B | 8B | 77.28 | 80.16 | 57.74 | 82.36 |
| octen-vl-embedding-large | - | 77.76 | 80.62 | 65.13 | 80.54 |
| Wianmu-5B-v0 | 5.25B | 77.89 | 80.68 | 61.42 | 81.99 |
| WeMM-Embedding-4B | 4.54B | 78.19 | 80.80 | 62.71 | 82.04 |
| DME-Medium | 9.4B | 77.00 | 78.23 | 60.07 | 82.02 |
| DME-Large | - | 78.76 | 79.64 | 63.63 | 83.36 |
| Ovis-VL-Embedding-9B | 9B | 78.94 | 81.03 | 63.45 | 83.06 |
| WeMM-Embedding-9B | 9B | 79.38 | 81.70 | 64.03 | 83.34 |
| Sentio | 10.20B | 79.57 | 81.58 | 65.45 | 83.28 |
| GeeVec-Embeddings-mm-1.0 | 9.41B | 78.78 | 81.82 | 59.66 | 83.63 |
Video includes moment retrieval; AVG averages the 44 retrieval datasets equally.