alt.freeweights.embed / BGE-VL-v1.5-mmeb
From: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.embedSubject:

BGE-VL-v1.5-mmeb

Date: 2026-11-15Commit: 59f60b9Signed: 2DC28CC7B26A283B ✓

Sentence similarity model with 7.6B parameters. Safetensors weights, 15.1 GB in all. Published by BAAI under MIT.

7.6B params15.1GBBGE-VL-v1.5-mmebsafetensorspermissive
FactsParams7.6BSize15.1 GBFormatssafetensorsTasksentence similarityLicenseMITFrom sourcepermissive
$ fw get BAAI/BGE-VL-v1.5-mmeb
# manifest sha256 50bfb0239bd0… · 15.1 GB · 28 files
$ fw verify ./BGE-VL-v1.5-mmeb BAAI/BGE-VL-v1.5-mmeb
From sourceHosted (signed)BAAI/BGE-VL-v1.5-mmebLast check: 2026-11-15 03:56 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of llava-v1.6-mistral-7b-hf.

Works with

Evaluate with

Overview

Size
15.1 GB
Weights
15.1 GB (safetensors)
Parameters
7.6B
Formats
safetensors
Task
sentence similarity
License
MIT (permissive)
Files
28, each with a sha256
Publisher
BAAI
Added
2026-11-15
Section
alt.freeweights.embed
Lineage

Original release from the publisher.

Base model: llava-hf/llava-v1.6-mistral-7b-hf

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 03:56 UTCpassed

Model card

From the publisher at commit 59f60b9. Shown as plain text with links; images open at the publisher.

MegaPairs: Massive Data Synthesis For Universal Multimodal Retrieval#

Build Build Build Build Build Build Build

News#

Release Plan#

  • [x] Paper
  • [x] BGE-VL-base and BGE-VL-large models
  • [x] BGE-VL-MLLM model
  • [x] MegaPairs Dataset
  • [x] Evaluation code examples
  • [ ] Fine-tuning code

Introduction#

In this work, we introduce MegaPairs, a novel data synthesis method that leverages open-domain images to create heterogeneous KNN triplets for universal multimodal retrieval. Our MegaPairs dataset contains over 26 million triplets, and we have trained a series of multimodal retrieval models, BGE-VL, including BGE-VL-CLIP (base and large) and BGE-VL-MLLM.

BGE-VL achieve state-of-the-art performance on four popular zero-shot composed image retrieval benchmarks and the massive multimodal embedding benchmark (MMEB). Extensive experiments demonstrate the efficiency, scalability, and generalization features of MegaPairs. Please refer to our paper for more details.

Model Usage#

Using Sentence Transformers#

Install Sentence Transformers:

pip install sentence_transformers[image]

This model supports text, image, and combined text+image inputs. Images must be resized to 512x512, as the model was trained with that resolution. Pass a prompt with a task instruction to format inputs as queries, or omit it to format as candidates.

import torch
from sentence_transformers import SentenceTransformer
from PIL import Image

model = SentenceTransformer("BAAI/BGE-VL-v1.5-mmeb", model_kwargs={"torch_dtype": torch.float16})

# Composed image retrieval: text + image query
query_img = Image.open("./assets/cir_query.png").resize((512, 512))
query_emb = model.encode(
    {"text": "Make the background dark, as if the camera has taken the photo at night", "image": query_img},
    prompt="Retrieve the target image that best meets the combined criteria by using both the provided image and the image retrieval instructions: ",
)

# Image-only candidates (no prompt = candidate format)
candidate_imgs = [
    Image.open("./assets/cir_candi_1.png").resize((512, 512)),
    Image.open("./assets/cir_candi_2.png").resize((512, 512)),
]
candidate_embs = model.encode(candidate_imgs, batch_size=1)
print(candidate_embs.shape)
# (2, 4096)

similarities = model.similarity(query_emb, candidate_embs)
print(similarities)
# tensor([[0.3889, 0.1812]], dtype=torch.float16)
1. BGE-VL-CLIP Models#

You can easily use BGE-VL-CLIP models based on transformers

Our code works well on transformers==4.45.2, and we recommend using this version.

import torch
from transformers import AutoModel

MODEL_NAME = "BAAI/BGE-VL-base" # or "BAAI/BGE-VL-large"

model = AutoModel.from_pretrained(MODEL_NAME, trust_remote_code=True) # You must set trust_remote_code=True
model.set_processor(MODEL_NAME)
model.eval()

with torch.no_grad():
    query = model.encode(
        images = "./assets/cir_query.png", 
        text = "Make the background dark, as if the camera has taken the photo at night"
    )

    candidates = model.encode(
        images = ["./assets/cir_candi_1.png", "./assets/cir_candi_2.png"]
    )
    
    scores = query @ candidates.T
print(scores)

See the demo for a complete example of using BGE-VL for multimodel retrieval.

2. BGE-VL-MLLM Models#

Our code works well on transformers==4.45.2, and we recommend using this version.

import torch
from transformers import AutoModel
from PIL import Image

MODEL_NAME= "BAAI/BGE-VL-MLLM-S1"

model = AutoModel.from_pretrained(MODEL_NAME, trust_remote_code=True)
model.eval()
model.cuda()

with torch.no_grad():
    model.set_processor(MODEL_NAME)

    query_inputs = model.data_process(
        text="Make the background dark, as if the camera has taken the photo at night", 
        images="./assets/cir_query.png",
        q_or_c="q",
        task_instruction="Retrieve the target image that best meets the combined criteria by using both the provided image and the image retrieval instructions: "
    )

    candidate_inputs = model.data_process(
        images=["./assets/cir_candi_1.png", "./assets/cir_candi_2.png"],
        q_or_c="c",
    )

    query_embs = model(**query_inputs, output_hidden_states=True)[:, -1, :]
    candi_embs = model(**candidate_inputs, output_hidden_states=True)[:, -1, :]
    
    query_embs = torch.nn.functional.normalize(query_embs, dim=-1)
    candi_embs = torch.nn.functional.normalize(candi_embs, dim=-1)

    scores = torch.matmul(query_embs, candi_embs.T)
print(scores)

MegaPairs Dataset Card#

We are excited to release the MegaPairs dataset on Hugging Face, which contains over 26 million training samples tailored for composed image retrieval and universal multimodal retrieval tasks.

Dataset Structure#

Each entry in the dataset consists of the following fields:

  • q_img: str The file path to the query image.
  • q_text: list A list of textual query statements related to the query image. During training, you can randomly select one statement from this list.
  • t_img: str The file path to the target image, which serves as the positive example for the combination of q_img and q_text.
  • hns: list A list of file paths for hard negative sample images. These are challenging distractors that are visually or semantically similar to the query. It is recommended to include at least one hard negative sample during training, with hns[0] (the query image itself) being a mandatory choice. In our experiments, we used four hard negative samples per query.
Usage#

The dataset is available for download and exploration on Hugging Face. We encourage researchers and practitioners to leverage this dataset to advance multimodal retrieval research and systems.

Model Performance#

Zero-Shot Composed Image Retrieval#

BGE-VL sets a new performance benchmark in zero-shot composed image retrieval tasks. On the CIRCO benchmark, our BGE-VL-base model, with only 149 million parameters, surpasses all previous models, including those with 50 times more parameters. Additionally, BGE-VL-MLLM achieves an 8.1% improvement over the previous state-of-the-art model.

Image: image

Zero-Shot Performance on MMEB#

BGE-VL-MLLM achieves state-of-the-art zero-shot performance on the Massive Multimodal Embedding Benchmark (MMEB), despite being trained only on the ImageText-to-Image paradigm. This demonstrates the excellent generalization capability of MegaPairs for multimodal embedding.

Image: image

Fine-Tuning Performance on MMEB#

After fine-tuning on downstream tasks, BGE-VL-MLLM maintains its leading performance. Notably, it surpasses the previous state-of-the-art by 7.1% on the MMEB out-of-distribution (OOD) set. These results demonstrate the robust generalization capability of BGE-VL-MLLM and highlight the potential of MegaPairs as foundational training data for universal multimodal embedding.

Image: image

Performance Scaling#

MegaPairs showcases scalability: BGE-VL-base improves as training data increases. It also demonstrates efficiency: with just 0.5M training samples, BGE-VL-base significantly outperforms MagicLens, which uses the same CLIP-base backbone and was trained on 36.7M samples.

Image: image

License#

The annotations for MegaPairs and the BGE-VL models are released under the MIT License. The images in MegaPairs originate from the Recap-Datacomp, which is released under the CC BY 4.0 license.

Citation#

If you find this repository useful, please consider giving a star ⭐ and citation

@article{zhou2024megapairs,
  title={MegaPairs: Massive Data Synthesis For Universal Multimodal Retrieval},
  author={Zhou, Junjie and Liu, Zheng and Liu, Ze and Xiao, Shitao and Wang, Yueze and Zhao, Bo and Zhang, Chen Jason and Lian, Defu and Xiong, Yongping},
  journal={arXiv preprint arXiv:2412.14475},
  year={2024}
}

Files

28 files · 15.1 GBWeights 15.1 GB (safetensors). Sizes and sha256 from the signed manifest.
Show all 28 files with their sha256
FileSizesha256
.gitattributes1.87 KBe0e7d7dfcafc776817cbdd7570ff7795161184435b2155a4280476832ba5d70f
1_Pooling/config.json97 B90f99f1cb9607637007f20d035d3b69ac9860123557d6bdedd297fdf6dd88495
README.md11.7 KB0916cbeb26de22fe9b125d3f38bf0fcf4b1a8738658c873af3db5e7276b60c6d
assets/cir_candi_1.png51.7 KB86e2ac6106533ef21d84007864af2f502b2a846edda38b3946e8832680967faa
assets/cir_candi_2.png901 KBe3c4b3debd66d4789545d52bdd4c18bdbabaa072b69110ad08ff54b7b4503557
assets/cir_query.png153 KB42ad0e1200ba5c8767ea752f6358f6b51719674b064666b415b6ab0ea90ae62b
assets/res-ft-mmeb.png208 KB7011ea195b7e51c1e206c735072ec5d2acb96a5aa22fb7ff280523be21c2ba0f
assets/res-scaling.png144 KBad36953de26851baac1ac625467d87517d5151714104a92cc89f421d2c7326f0
assets/res-zs-cir.png506 KB61da2bc03b36c97c48d3e52bb96ccaecbb99d5d913847f665cbcd2d6a84435df
assets/res-zs-mmeb.png251 KB9e3fb656f33f9b2ff4290d9a900a6bcec40c3df97ff308cdfef82a62209bbf97
chat_template.jinja1.28 KB5f57a9a5302ff591899802e100a7c50251c4c5513fcdfadc32918169005905c9
config.json1.38 KBc71c0d2acaa7b07b53f1df833863edd5aca082dfbe0c8f9b202f50a20d54fb6e
config_sentence_transformers.json255 B428fcc9f4149b6798f21e8a0024895cd5d53a2edddb9d643c40f52bde17a630d
generation_config.json111 Bf769ce0b018b0d689d27146688e2cfd6008040cc15bd51acb5b6bdf755a123e7
model-00001-of-00004.safetensors4.92 GBf4fb872c40198e2c77c37c21b3a4bf4ee21c62d8de25147fff3f59fdf4984b03
model-00002-of-00004.safetensors4.92 GBb9bde7d04384b17a656bf219ca553e9809e40fb87b41d6a2fcc04cbddd5ee9ef
model-00003-of-00004.safetensors4.92 GBa72950d9ee3aaf96ab0c24843b01e013c29b789c5081825cebf05d8cad53e10b
model-00004-of-00004.safetensors380 MB600ff55b84e9056d2307a6408b584ca663d34d40ecb7dfafd981390be4d8b996
model.safetensors.index.json70.2 KB53c5e4acf8c41b0072772dd648962ab27fc84b05e0cd6b6dd5f720aa175e7332
modeling_llavanext_for_embedding.py16.0 KBd3da6242e857ae05a93b0adb3b5f1407045a8e8f4b679fa2249b8e7a71e4b07e
modules.json430 Be8a7a1593c7bf0f34022abf341a434f7e6cc32f99bad7a031f36b20cdddf1576
preprocessor_config.json772 Becef425c1d3ee91f5e05144c4d107389f9fefd04a424d5cbfc3fb6e0525b8c55
processor_config.json177 B5c902a6a19f6970177327a38b5f0be73b7c1b7594e87f6a91a2e09cbd549d9b7
sentence_bert_config.json784 B5372252ab1f0c40d7640129370fa2e7022c3e946a44910efab74f8611a156529
special_tokens_map.json1.03 KBa122b9daa87d8875f880acce2879090ae36bd80df6c5aa08dd7def4e618cfa6a
tokenizer.json3.51 MBb34b0f034284a86ea3417130f0158f85823bb58aadcf4ab9f07afb9a4206d036
tokenizer.model493 KBdadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
tokenizer_config.json2.09 KB4bea598e6a948c6f62ec099944f4111973c2ea6e258663b32256760614b1403c
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
59f60b9576 pinned now2026-11-15 03:56 UTC28 files · 15.1 GB

Use it

$ fw get BAAI/BGE-VL-v1.5-mmeb
# manifest sha256 50bfb0239bd0… · 15.1 GB · 28 files
$ fw verify ./BGE-VL-v1.5-mmeb BAAI/BGE-VL-v1.5-mmeb
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/BAAI/BGE-VL-v1.5-mmeb.json --dir ./BGE-VL-v1.5-mmeb $ python3 fw.py verify ./BGE-VL-v1.5-mmeb ./BAAI__BGE-VL-v1.5-mmeb.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/BGE-VL-v1.5-mmeb --revision 59f60b95765b32014df235059c4d8c60e8204be5 --local-dir ./BGE-VL-v1.5-mmeb
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("BAAI/BGE-VL-v1.5-mmeb", revision="59f60b95765b32014df235059c4d8c60e8204be5") model = AutoModel.from_pretrained("BAAI/BGE-VL-v1.5-mmeb", revision="59f60b95765b32014df235059c4d8c60e8204be5", device_map="auto")
sentence-transformersEmbed text with sentence-transformers.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from sentence_transformers import SentenceTransformer model = SentenceTransformer("BAAI/BGE-VL-v1.5-mmeb", revision="59f60b95765b32014df235059c4d8c60e8204be5") vectors = model.encode(["Hello"])

License

Name
MIT License
Id
MIT
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
0916cbeb26de22fe9b125d3f38bf0fcf4b1a8738658c873af3db5e7276b60c6d
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: BAAI <huggingface.co/BAAI>Newsgroups: alt.freeweights.embedSubject: BGE-VL-v1.5-mmebDate: 2026-11-15Commit: 59f60b9Signed: 2DC28CC7B26A283B ✓
Upstream
BAAI/BGE-VL-v1.5-mmeb
Pinned commit
59f60b95765b32014df235059c4d8c60e8204be5
Manifest
BGE-VL-v1.5-mmeb.json · .minisig
Manifest sha256
50bfb0239bd072da6263f4f3f0ba45456b35183b54f96ec5e1e5b6f40a2da65e
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:56 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/BAAI/BGE-VL-v1.5-mmeb.json $ curl -O https://freeweights.allternit.com/manifests/BAAI/BGE-VL-v1.5-mmeb.json.minisig $ minisign -Vm BGE-VL-v1.5-mmeb.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

llava-hf/llava-v1.6-mistral-7b-hf · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download BAAI/BGE-VL-v1.5-mmeb
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. BGE-VL-v1.5-mmeb.json. Provenance. Takedown history: none.
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-MiniLM-L6-v1
From: unsloth <huggingface.co/unsloth>Subject: all-MiniLM-L6-v2
From: mlx-community <huggingface.co/mlx-community>Subject: all-MiniLM-L6-v2-4bit
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-mpnet-base-v1
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: allenai-specter
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: bert-base-nli-max-tokens