mteb 2.5.2__py3-none-any.whl → 2.7.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mteb/__init__.py +2 -0
- mteb/_create_dataloaders.py +17 -18
- mteb/_evaluators/any_sts_evaluator.py +3 -3
- mteb/_evaluators/clustering_evaluator.py +2 -2
- mteb/_evaluators/evaluator.py +4 -2
- mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +10 -8
- mteb/_evaluators/pair_classification_evaluator.py +5 -3
- mteb/_evaluators/retrieval_evaluator.py +2 -2
- mteb/_evaluators/retrieval_metrics.py +18 -17
- mteb/_evaluators/sklearn_evaluator.py +11 -10
- mteb/_evaluators/text/bitext_mining_evaluator.py +27 -18
- mteb/_evaluators/text/summarization_evaluator.py +23 -18
- mteb/_evaluators/zeroshot_classification_evaluator.py +5 -3
- mteb/abstasks/_data_filter/filters.py +1 -1
- mteb/abstasks/_data_filter/task_pipelines.py +3 -0
- mteb/abstasks/_statistics_calculation.py +18 -10
- mteb/abstasks/_stratification.py +18 -18
- mteb/abstasks/abstask.py +35 -28
- mteb/abstasks/aggregate_task_metadata.py +1 -9
- mteb/abstasks/aggregated_task.py +10 -29
- mteb/abstasks/classification.py +15 -10
- mteb/abstasks/clustering.py +19 -15
- mteb/abstasks/clustering_legacy.py +10 -10
- mteb/abstasks/image/image_text_pair_classification.py +7 -4
- mteb/abstasks/multilabel_classification.py +23 -19
- mteb/abstasks/pair_classification.py +20 -11
- mteb/abstasks/regression.py +4 -4
- mteb/abstasks/retrieval.py +28 -24
- mteb/abstasks/retrieval_dataset_loaders.py +2 -2
- mteb/abstasks/sts.py +8 -5
- mteb/abstasks/task_metadata.py +31 -33
- mteb/abstasks/text/bitext_mining.py +39 -28
- mteb/abstasks/text/reranking.py +8 -6
- mteb/abstasks/text/summarization.py +10 -5
- mteb/abstasks/zeroshot_classification.py +8 -4
- mteb/benchmarks/benchmark.py +4 -2
- mteb/benchmarks/benchmarks/__init__.py +4 -0
- mteb/benchmarks/benchmarks/benchmarks.py +112 -11
- mteb/benchmarks/get_benchmark.py +14 -55
- mteb/cache.py +182 -29
- mteb/cli/_display_tasks.py +2 -2
- mteb/cli/build_cli.py +110 -14
- mteb/cli/generate_model_card.py +43 -23
- mteb/deprecated_evaluator.py +63 -49
- mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2CybersecurityRetrieval.json +32 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EconomicRetrieval.json +32 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EnergyRetrieval.json +32 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2HrRetrieval.json +32 -0
- mteb/descriptive_stats/Retrieval/ChemRxivRetrieval.json +30 -0
- mteb/descriptive_stats/Retrieval/EuroPIRQRetrieval.json +116 -0
- mteb/descriptive_stats/Retrieval/NanoClimateFEVER-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/NanoDBPedia-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/NanoFEVER-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/NanoHotpotQA-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/NanoMSMARCO-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/NanoNQ-VN.json +30 -0
- mteb/descriptive_stats/Retrieval/TVPLRetrieval.json +30 -0
- mteb/evaluate.py +44 -33
- mteb/filter_tasks.py +25 -26
- mteb/get_tasks.py +29 -30
- mteb/languages/language_scripts.py +5 -3
- mteb/leaderboard/app.py +162 -34
- mteb/load_results.py +12 -12
- mteb/models/abs_encoder.py +10 -6
- mteb/models/cache_wrappers/cache_backend_protocol.py +3 -5
- mteb/models/cache_wrappers/cache_backends/_hash_utils.py +5 -4
- mteb/models/cache_wrappers/cache_backends/faiss_cache.py +6 -2
- mteb/models/cache_wrappers/cache_backends/numpy_cache.py +43 -25
- mteb/models/cache_wrappers/cache_wrapper.py +2 -2
- mteb/models/get_model_meta.py +21 -3
- mteb/models/instruct_wrapper.py +28 -8
- mteb/models/model_implementations/align_models.py +1 -1
- mteb/models/model_implementations/andersborges.py +4 -4
- mteb/models/model_implementations/ara_models.py +1 -1
- mteb/models/model_implementations/arctic_models.py +8 -8
- mteb/models/model_implementations/b1ade_models.py +1 -1
- mteb/models/model_implementations/bge_models.py +45 -21
- mteb/models/model_implementations/bica_model.py +3 -3
- mteb/models/model_implementations/blip2_models.py +2 -2
- mteb/models/model_implementations/blip_models.py +16 -16
- mteb/models/model_implementations/bm25.py +4 -4
- mteb/models/model_implementations/bmretriever_models.py +6 -4
- mteb/models/model_implementations/cadet_models.py +1 -1
- mteb/models/model_implementations/cde_models.py +11 -4
- mteb/models/model_implementations/clip_models.py +6 -6
- mteb/models/model_implementations/clips_models.py +3 -3
- mteb/models/model_implementations/codefuse_models.py +5 -5
- mteb/models/model_implementations/codesage_models.py +3 -3
- mteb/models/model_implementations/cohere_models.py +5 -5
- mteb/models/model_implementations/cohere_v.py +2 -2
- mteb/models/model_implementations/colpali_models.py +3 -3
- mteb/models/model_implementations/colqwen_models.py +8 -8
- mteb/models/model_implementations/colsmol_models.py +2 -2
- mteb/models/model_implementations/conan_models.py +1 -1
- mteb/models/model_implementations/dino_models.py +42 -42
- mteb/models/model_implementations/e5_instruct.py +23 -4
- mteb/models/model_implementations/e5_models.py +9 -9
- mteb/models/model_implementations/e5_v.py +6 -6
- mteb/models/model_implementations/eagerworks_models.py +1 -1
- mteb/models/model_implementations/emillykkejensen_models.py +6 -6
- mteb/models/model_implementations/en_code_retriever.py +1 -1
- mteb/models/model_implementations/euler_models.py +2 -2
- mteb/models/model_implementations/fa_models.py +9 -9
- mteb/models/model_implementations/facebookai.py +14 -2
- mteb/models/model_implementations/geogpt_models.py +1 -1
- mteb/models/model_implementations/gme_v_models.py +6 -5
- mteb/models/model_implementations/google_models.py +1 -1
- mteb/models/model_implementations/granite_vision_embedding_models.py +1 -1
- mteb/models/model_implementations/gritlm_models.py +2 -2
- mteb/models/model_implementations/gte_models.py +25 -13
- mteb/models/model_implementations/hinvec_models.py +1 -1
- mteb/models/model_implementations/ibm_granite_models.py +30 -6
- mteb/models/model_implementations/inf_models.py +2 -2
- mteb/models/model_implementations/jasper_models.py +2 -2
- mteb/models/model_implementations/jina_clip.py +48 -10
- mteb/models/model_implementations/jina_models.py +18 -11
- mteb/models/model_implementations/kblab.py +12 -6
- mteb/models/model_implementations/kennethenevoldsen_models.py +4 -4
- mteb/models/model_implementations/kfst.py +1 -1
- mteb/models/model_implementations/kowshik24_models.py +1 -1
- mteb/models/model_implementations/lgai_embedding_models.py +1 -1
- mteb/models/model_implementations/linq_models.py +1 -1
- mteb/models/model_implementations/listconranker.py +1 -1
- mteb/models/model_implementations/llm2clip_models.py +6 -6
- mteb/models/model_implementations/llm2vec_models.py +8 -8
- mteb/models/model_implementations/mcinext_models.py +4 -1
- mteb/models/model_implementations/mdbr_models.py +17 -3
- mteb/models/model_implementations/misc_models.py +68 -68
- mteb/models/model_implementations/mixedbread_ai_models.py +332 -0
- mteb/models/model_implementations/mme5_models.py +1 -1
- mteb/models/model_implementations/moco_models.py +4 -4
- mteb/models/model_implementations/mod_models.py +1 -1
- mteb/models/model_implementations/model2vec_models.py +14 -14
- mteb/models/model_implementations/moka_models.py +1 -1
- mteb/models/model_implementations/nbailab.py +3 -3
- mteb/models/model_implementations/no_instruct_sentence_models.py +2 -2
- mteb/models/model_implementations/nomic_models.py +30 -15
- mteb/models/model_implementations/nomic_models_vision.py +1 -1
- mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +15 -9
- mteb/models/model_implementations/nvidia_models.py +151 -19
- mteb/models/model_implementations/octen_models.py +61 -2
- mteb/models/model_implementations/openclip_models.py +13 -13
- mteb/models/model_implementations/opensearch_neural_sparse_models.py +5 -5
- mteb/models/model_implementations/ops_moa_models.py +1 -1
- mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py +1 -1
- mteb/models/model_implementations/pawan_models.py +1 -1
- mteb/models/model_implementations/piccolo_models.py +1 -1
- mteb/models/model_implementations/pixie_models.py +56 -0
- mteb/models/model_implementations/promptriever_models.py +4 -4
- mteb/models/model_implementations/pylate_models.py +10 -9
- mteb/models/model_implementations/qodo_models.py +2 -2
- mteb/models/model_implementations/qtack_models.py +1 -1
- mteb/models/model_implementations/qwen3_models.py +3 -3
- mteb/models/model_implementations/qzhou_models.py +2 -2
- mteb/models/model_implementations/random_baseline.py +3 -3
- mteb/models/model_implementations/rasgaard_models.py +2 -2
- mteb/models/model_implementations/reasonir_model.py +1 -1
- mteb/models/model_implementations/repllama_models.py +3 -3
- mteb/models/model_implementations/rerankers_custom.py +12 -6
- mteb/models/model_implementations/rerankers_monot5_based.py +17 -17
- mteb/models/model_implementations/richinfoai_models.py +1 -1
- mteb/models/model_implementations/ru_sentence_models.py +20 -20
- mteb/models/model_implementations/ruri_models.py +10 -10
- mteb/models/model_implementations/salesforce_models.py +3 -3
- mteb/models/model_implementations/samilpwc_models.py +1 -1
- mteb/models/model_implementations/sarashina_embedding_models.py +2 -2
- mteb/models/model_implementations/searchmap_models.py +1 -1
- mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +113 -146
- mteb/models/model_implementations/sentence_transformers_models.py +124 -22
- mteb/models/model_implementations/shuu_model.py +1 -1
- mteb/models/model_implementations/siglip_models.py +20 -20
- mteb/models/model_implementations/slm_models.py +416 -0
- mteb/models/model_implementations/spartan8806_atles_champion.py +1 -1
- mteb/models/model_implementations/stella_models.py +17 -4
- mteb/models/model_implementations/tarka_models.py +2 -2
- mteb/models/model_implementations/text2vec_models.py +9 -3
- mteb/models/model_implementations/ua_sentence_models.py +1 -1
- mteb/models/model_implementations/uae_models.py +7 -1
- mteb/models/model_implementations/vdr_models.py +1 -1
- mteb/models/model_implementations/vi_vn_models.py +6 -6
- mteb/models/model_implementations/vlm2vec_models.py +3 -3
- mteb/models/model_implementations/voyage_models.py +84 -0
- mteb/models/model_implementations/voyage_v.py +9 -7
- mteb/models/model_implementations/youtu_models.py +1 -1
- mteb/models/model_implementations/yuan_models.py +1 -1
- mteb/models/model_implementations/yuan_models_en.py +1 -1
- mteb/models/model_meta.py +80 -31
- mteb/models/models_protocols.py +22 -6
- mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +9 -6
- mteb/models/search_wrappers.py +33 -18
- mteb/models/sentence_transformer_wrapper.py +50 -25
- mteb/models/vllm_wrapper.py +327 -0
- mteb/py.typed +0 -0
- mteb/results/benchmark_results.py +29 -21
- mteb/results/model_result.py +52 -22
- mteb/results/task_result.py +80 -58
- mteb/similarity_functions.py +11 -7
- mteb/tasks/classification/dan/dk_hate_classification.py +1 -1
- mteb/tasks/classification/est/estonian_valence.py +1 -1
- mteb/tasks/classification/kur/kurdish_sentiment_classification.py +2 -2
- mteb/tasks/classification/multilingual/scala_classification.py +1 -1
- mteb/tasks/clustering/eng/hume_wiki_cities_clustering.py +1 -1
- mteb/tasks/clustering/eng/wiki_cities_clustering.py +1 -1
- mteb/tasks/clustering/zho/cmteb_clustering.py +2 -2
- mteb/tasks/image_text_pair_classification/eng/sugar_crepe.py +1 -1
- mteb/tasks/reranking/multilingual/wikipedia_reranking_multilingual.py +1 -1
- mteb/tasks/retrieval/code/code_rag.py +12 -12
- mteb/tasks/retrieval/dan/dan_fever_retrieval.py +1 -1
- mteb/tasks/retrieval/dan/tv2_nordretrieval.py +2 -2
- mteb/tasks/retrieval/dan/twitter_hjerne_retrieval.py +2 -2
- mteb/tasks/retrieval/eng/__init__.py +2 -0
- mteb/tasks/retrieval/eng/chemrxiv.py +33 -0
- mteb/tasks/retrieval/eng/cub200_i2i_retrieval.py +1 -1
- mteb/tasks/retrieval/kor/__init__.py +15 -1
- mteb/tasks/retrieval/kor/kovidore2_bench_retrieval.py +142 -0
- mteb/tasks/retrieval/multilingual/__init__.py +2 -0
- mteb/tasks/retrieval/multilingual/euro_pirq_retrieval.py +43 -0
- mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +90 -100
- mteb/tasks/retrieval/nob/norquad.py +2 -2
- mteb/tasks/retrieval/nob/snl_retrieval.py +2 -2
- mteb/tasks/retrieval/tur/tur_hist_quad.py +1 -1
- mteb/tasks/retrieval/vie/__init__.py +14 -6
- mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +39 -0
- mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +39 -0
- mteb/tasks/retrieval/vie/fevervn_retrieval.py +39 -0
- mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +39 -0
- mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +48 -0
- mteb/tasks/retrieval/vie/nqvn_retrieval.py +39 -0
- mteb/tasks/retrieval/vie/tvpl_retrieval.py +42 -0
- mteb/tasks/retrieval/vie/zac_legal_text_retrieval.py +15 -1
- mteb/types/__init__.py +2 -0
- mteb/types/_encoder_io.py +12 -0
- mteb/types/_result.py +2 -1
- mteb/types/statistics.py +9 -3
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/METADATA +15 -4
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/RECORD +240 -219
- mteb/models/model_implementations/mxbai_models.py +0 -111
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/WHEEL +0 -0
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/entry_points.txt +0 -0
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/licenses/LICENSE +0 -0
- {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/top_level.txt +0 -0
|
@@ -23,6 +23,7 @@ class NomicWrapper(SentenceTransformerEncoderWrapper):
|
|
|
23
23
|
self,
|
|
24
24
|
model_name: str,
|
|
25
25
|
revision: str,
|
|
26
|
+
device: str | None = None,
|
|
26
27
|
model_prompts: dict[str, str] | None = None,
|
|
27
28
|
**kwargs: Any,
|
|
28
29
|
):
|
|
@@ -37,7 +38,9 @@ class NomicWrapper(SentenceTransformerEncoderWrapper):
|
|
|
37
38
|
f"Current transformers version is {transformers.__version__} is lower than the required version"
|
|
38
39
|
f" {MODERN_BERT_TRANSFORMERS_MIN_VERSION}"
|
|
39
40
|
)
|
|
40
|
-
super().__init__(
|
|
41
|
+
super().__init__(
|
|
42
|
+
model_name, revision, device=device, model_prompts=model_prompts, **kwargs
|
|
43
|
+
)
|
|
41
44
|
|
|
42
45
|
def to(self, device: torch.device) -> None:
|
|
43
46
|
self.model.to(device)
|
|
@@ -193,7 +196,7 @@ NOMIC_CITATION = """
|
|
|
193
196
|
"""
|
|
194
197
|
|
|
195
198
|
nomic_embed_v1_5 = ModelMeta(
|
|
196
|
-
loader=NomicWrapper,
|
|
199
|
+
loader=NomicWrapper,
|
|
197
200
|
loader_kwargs=dict(
|
|
198
201
|
trust_remote_code=True,
|
|
199
202
|
model_prompts=model_prompts,
|
|
@@ -212,7 +215,13 @@ nomic_embed_v1_5 = ModelMeta(
|
|
|
212
215
|
license="apache-2.0",
|
|
213
216
|
reference="https://huggingface.co/nomic-ai/nomic-embed-text-v1.5",
|
|
214
217
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
215
|
-
framework=[
|
|
218
|
+
framework=[
|
|
219
|
+
"Sentence Transformers",
|
|
220
|
+
"PyTorch",
|
|
221
|
+
"ONNX",
|
|
222
|
+
"safetensors",
|
|
223
|
+
"Transformers",
|
|
224
|
+
],
|
|
216
225
|
use_instructions=True,
|
|
217
226
|
adapted_from=None,
|
|
218
227
|
superseded_by=None,
|
|
@@ -222,7 +231,7 @@ nomic_embed_v1_5 = ModelMeta(
|
|
|
222
231
|
)
|
|
223
232
|
|
|
224
233
|
nomic_embed_v1 = ModelMeta(
|
|
225
|
-
loader=NomicWrapper,
|
|
234
|
+
loader=NomicWrapper,
|
|
226
235
|
loader_kwargs=dict(
|
|
227
236
|
trust_remote_code=True,
|
|
228
237
|
model_prompts=model_prompts,
|
|
@@ -240,7 +249,13 @@ nomic_embed_v1 = ModelMeta(
|
|
|
240
249
|
license="apache-2.0",
|
|
241
250
|
reference="https://huggingface.co/nomic-ai/nomic-embed-text-v1",
|
|
242
251
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
243
|
-
framework=[
|
|
252
|
+
framework=[
|
|
253
|
+
"Sentence Transformers",
|
|
254
|
+
"PyTorch",
|
|
255
|
+
"ONNX",
|
|
256
|
+
"safetensors",
|
|
257
|
+
"Transformers",
|
|
258
|
+
],
|
|
244
259
|
use_instructions=True,
|
|
245
260
|
citation=NOMIC_CITATION,
|
|
246
261
|
adapted_from=None,
|
|
@@ -251,7 +266,7 @@ nomic_embed_v1 = ModelMeta(
|
|
|
251
266
|
)
|
|
252
267
|
|
|
253
268
|
nomic_embed_v1_ablated = ModelMeta(
|
|
254
|
-
loader=NomicWrapper,
|
|
269
|
+
loader=NomicWrapper,
|
|
255
270
|
loader_kwargs=dict(
|
|
256
271
|
trust_remote_code=True,
|
|
257
272
|
model_prompts=model_prompts,
|
|
@@ -269,7 +284,7 @@ nomic_embed_v1_ablated = ModelMeta(
|
|
|
269
284
|
license="apache-2.0",
|
|
270
285
|
reference="https://huggingface.co/nomic-ai/nomic-embed-text-v1-ablated",
|
|
271
286
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
272
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
287
|
+
framework=["Sentence Transformers", "PyTorch", "ONNX"],
|
|
273
288
|
use_instructions=True,
|
|
274
289
|
adapted_from=None,
|
|
275
290
|
superseded_by=None,
|
|
@@ -279,7 +294,7 @@ nomic_embed_v1_ablated = ModelMeta(
|
|
|
279
294
|
)
|
|
280
295
|
|
|
281
296
|
nomic_embed_v1_unsupervised = ModelMeta(
|
|
282
|
-
loader=NomicWrapper,
|
|
297
|
+
loader=NomicWrapper,
|
|
283
298
|
loader_kwargs=dict(
|
|
284
299
|
trust_remote_code=True,
|
|
285
300
|
model_prompts=model_prompts,
|
|
@@ -297,7 +312,7 @@ nomic_embed_v1_unsupervised = ModelMeta(
|
|
|
297
312
|
license="apache-2.0",
|
|
298
313
|
reference="https://huggingface.co/nomic-ai/nomic-embed-text-v1-unsupervised",
|
|
299
314
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
300
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
315
|
+
framework=["Sentence Transformers", "PyTorch", "ONNX", "Transformers"],
|
|
301
316
|
use_instructions=True,
|
|
302
317
|
adapted_from=None,
|
|
303
318
|
superseded_by=None,
|
|
@@ -325,7 +340,7 @@ nomic_modern_bert_embed = ModelMeta(
|
|
|
325
340
|
license="apache-2.0",
|
|
326
341
|
reference="https://huggingface.co/nomic-ai/modernbert-embed-base",
|
|
327
342
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
328
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
343
|
+
framework=["Sentence Transformers", "PyTorch", "ONNX", "safetensors"],
|
|
329
344
|
use_instructions=True,
|
|
330
345
|
adapted_from="answerdotai/ModernBERT-base",
|
|
331
346
|
public_training_code="https://github.com/nomic-ai/contrastors/blob/5f7b461e5a13b5636692d1c9f1141b27232fe966/src/contrastors/configs/train/contrastive_pretrain_modernbert.yaml",
|
|
@@ -334,7 +349,7 @@ nomic_modern_bert_embed = ModelMeta(
|
|
|
334
349
|
training_datasets=nomic_training_data,
|
|
335
350
|
public_training_data=None,
|
|
336
351
|
citation="""@misc{nussbaum2024nomic,
|
|
337
|
-
title={Nomic Embed: Training a Reproducible Long Context Text Embedder},
|
|
352
|
+
title={Nomic Embed: Training a Reproducible Long Context Text Embedder},
|
|
338
353
|
author={Zach Nussbaum and John X. Morris and Brandon Duderstadt and Andriy Mulyar},
|
|
339
354
|
year={2024},
|
|
340
355
|
eprint={2402.01613},
|
|
@@ -446,7 +461,7 @@ m_languages = [
|
|
|
446
461
|
]
|
|
447
462
|
|
|
448
463
|
nomic_embed_text_v2_moe = ModelMeta(
|
|
449
|
-
loader=NomicWrapper,
|
|
464
|
+
loader=NomicWrapper,
|
|
450
465
|
loader_kwargs=dict(
|
|
451
466
|
trust_remote_code=True,
|
|
452
467
|
model_prompts=model_prompts,
|
|
@@ -464,7 +479,7 @@ nomic_embed_text_v2_moe = ModelMeta(
|
|
|
464
479
|
license="apache-2.0",
|
|
465
480
|
reference="https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe",
|
|
466
481
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
467
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
482
|
+
framework=["Sentence Transformers", "PyTorch", "safetensors"],
|
|
468
483
|
use_instructions=True,
|
|
469
484
|
adapted_from="nomic-ai/nomic-xlm-2048",
|
|
470
485
|
public_training_data="https://github.com/nomic-ai/contrastors?tab=readme-ov-file#data-access",
|
|
@@ -472,12 +487,12 @@ nomic_embed_text_v2_moe = ModelMeta(
|
|
|
472
487
|
training_datasets=None, # did not look into this further
|
|
473
488
|
superseded_by=None,
|
|
474
489
|
citation="""@misc{nussbaum2025trainingsparsemixtureexperts,
|
|
475
|
-
title={Training Sparse Mixture Of Experts Text Embedding Models},
|
|
490
|
+
title={Training Sparse Mixture Of Experts Text Embedding Models},
|
|
476
491
|
author={Zach Nussbaum and Brandon Duderstadt},
|
|
477
492
|
year={2025},
|
|
478
493
|
eprint={2502.07972},
|
|
479
494
|
archivePrefix={arXiv},
|
|
480
495
|
primaryClass={cs.CL},
|
|
481
|
-
url={https://arxiv.org/abs/2502.07972},
|
|
496
|
+
url={https://arxiv.org/abs/2502.07972},
|
|
482
497
|
}""",
|
|
483
498
|
)
|
|
@@ -181,7 +181,7 @@ nomic_embed_vision_v1_5 = ModelMeta(
|
|
|
181
181
|
open_weights=True,
|
|
182
182
|
public_training_code="https://github.com/nomic-ai/contrastors",
|
|
183
183
|
public_training_data=None,
|
|
184
|
-
framework=["PyTorch"],
|
|
184
|
+
framework=["PyTorch", "Transformers", "ONNX", "safetensors"],
|
|
185
185
|
reference="https://huggingface.co/nomic-ai/nomic-embed-vision-v1.5",
|
|
186
186
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
187
187
|
use_instructions=True,
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import Any
|
|
2
2
|
|
|
3
3
|
import torch
|
|
4
|
+
from packaging.version import Version
|
|
4
5
|
from torch.utils.data import DataLoader
|
|
6
|
+
from transformers import __version__ as transformers_version
|
|
5
7
|
|
|
6
8
|
from mteb.abstasks.task_metadata import TaskMetadata
|
|
7
9
|
from mteb.models.abs_encoder import AbsEncoder
|
|
8
10
|
from mteb.models.model_meta import ModelMeta
|
|
9
11
|
from mteb.types import Array, BatchedInput, PromptType
|
|
10
12
|
|
|
11
|
-
if TYPE_CHECKING:
|
|
12
|
-
pass
|
|
13
|
-
|
|
14
|
-
|
|
15
13
|
LLAMA_NEMORETRIEVER_CITATION = """@misc{xu2025llamanemoretrievercolembedtopperforming,
|
|
16
14
|
title={Llama Nemoretriever Colembed: Top-Performing Text-Image Retrieval Model},
|
|
17
15
|
author={Mengyao Xu and Gabriel Moreira and Ronay Ak and Radek Osmulski and Yauhen Babakhin and Zhiding Yu and Benedikt Schifferer and Even Oldridge},
|
|
@@ -34,6 +32,14 @@ class LlamaNemoretrieverColembed(AbsEncoder):
|
|
|
34
32
|
attn_implementation="flash_attention_2",
|
|
35
33
|
**kwargs,
|
|
36
34
|
):
|
|
35
|
+
required_transformers_version = "4.49.0"
|
|
36
|
+
|
|
37
|
+
if Version(transformers_version) != Version(required_transformers_version):
|
|
38
|
+
raise RuntimeError(
|
|
39
|
+
f"transformers version {transformers_version} is not match with required "
|
|
40
|
+
f"install version {required_transformers_version} to run `nvidia/llama-nemoretriever-colembed`"
|
|
41
|
+
)
|
|
42
|
+
|
|
37
43
|
from transformers import AutoModel
|
|
38
44
|
|
|
39
45
|
self.model = AutoModel.from_pretrained(
|
|
@@ -148,7 +154,7 @@ llama_nemoretriever_colembed_1b_v1 = ModelMeta(
|
|
|
148
154
|
name="nvidia/llama-nemoretriever-colembed-1b-v1",
|
|
149
155
|
model_type=["late-interaction"],
|
|
150
156
|
languages=["eng-Latn"],
|
|
151
|
-
revision="
|
|
157
|
+
revision="6eade800103413033f260bb55b49fe039fd28a6e",
|
|
152
158
|
release_date="2025-06-27",
|
|
153
159
|
modalities=["image", "text"],
|
|
154
160
|
n_parameters=2_418_000_000,
|
|
@@ -159,7 +165,7 @@ llama_nemoretriever_colembed_1b_v1 = ModelMeta(
|
|
|
159
165
|
open_weights=True,
|
|
160
166
|
public_training_code="Proprietary Code",
|
|
161
167
|
public_training_data="https://huggingface.co/nvidia/llama-nemoretriever-colembed-1b-v1#training-dataset",
|
|
162
|
-
framework=["PyTorch"],
|
|
168
|
+
framework=["PyTorch", "Transformers", "safetensors"],
|
|
163
169
|
reference="https://huggingface.co/nvidia/llama-nemoretriever-colembed-1b-v1",
|
|
164
170
|
similarity_fn_name="MaxSim",
|
|
165
171
|
use_instructions=True,
|
|
@@ -175,7 +181,7 @@ llama_nemoretriever_colembed_3b_v1 = ModelMeta(
|
|
|
175
181
|
name="nvidia/llama-nemoretriever-colembed-3b-v1",
|
|
176
182
|
model_type=["late-interaction"],
|
|
177
183
|
languages=["eng-Latn"],
|
|
178
|
-
revision="
|
|
184
|
+
revision="4194bdd2cd2871f220ddba6273ce173ef1217a1e",
|
|
179
185
|
release_date="2025-06-27",
|
|
180
186
|
modalities=["image", "text"],
|
|
181
187
|
n_parameters=4_407_000_000,
|
|
@@ -186,7 +192,7 @@ llama_nemoretriever_colembed_3b_v1 = ModelMeta(
|
|
|
186
192
|
open_weights=True,
|
|
187
193
|
public_training_code="Proprietary Code",
|
|
188
194
|
public_training_data="https://huggingface.co/nvidia/llama-nemoretriever-colembed-1b-v1#training-dataset",
|
|
189
|
-
framework=["PyTorch"],
|
|
195
|
+
framework=["PyTorch", "Transformers", "safetensors"],
|
|
190
196
|
reference="https://huggingface.co/nvidia/llama-nemoretriever-colembed-3b-v1",
|
|
191
197
|
similarity_fn_name="MaxSim",
|
|
192
198
|
use_instructions=True,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from collections.abc import Callable
|
|
2
3
|
from typing import Any
|
|
3
4
|
|
|
4
5
|
import torch
|
|
@@ -9,8 +10,9 @@ from tqdm import tqdm
|
|
|
9
10
|
from transformers import AutoModel, AutoTokenizer
|
|
10
11
|
from transformers import __version__ as transformers_version
|
|
11
12
|
|
|
12
|
-
from mteb import TaskMetadata
|
|
13
13
|
from mteb._requires_package import requires_package
|
|
14
|
+
from mteb.abstasks.task_metadata import TaskMetadata
|
|
15
|
+
from mteb.models import CrossEncoderWrapper
|
|
14
16
|
from mteb.models.abs_encoder import AbsEncoder
|
|
15
17
|
from mteb.models.instruct_wrapper import InstructSentenceTransformerModel
|
|
16
18
|
from mteb.models.model_meta import ModelMeta, ScoringFunction
|
|
@@ -18,18 +20,28 @@ from mteb.types import Array, BatchedInput, PromptType
|
|
|
18
20
|
|
|
19
21
|
logger = logging.getLogger(__name__)
|
|
20
22
|
|
|
21
|
-
NV_RETRIEVER_CITATION = """@misc{
|
|
22
|
-
title={NV-
|
|
23
|
-
author={
|
|
23
|
+
NV_RETRIEVER_CITATION = """@misc{lee2025nvembedimprovedtechniquestraining,
|
|
24
|
+
title={NV-Embed: Improved Techniques for Training LLMs as Generalist Embedding Models},
|
|
25
|
+
author={Chankyu Lee and Rajarshi Roy and Mengyao Xu and Jonathan Raiman and Mohammad Shoeybi and Bryan Catanzaro and Wei Ping},
|
|
24
26
|
year={2025},
|
|
25
|
-
eprint={
|
|
27
|
+
eprint={2405.17428},
|
|
26
28
|
archivePrefix={arXiv},
|
|
27
|
-
primaryClass={cs.
|
|
28
|
-
url={https://arxiv.org/abs/
|
|
29
|
+
primaryClass={cs.CL},
|
|
30
|
+
url={https://arxiv.org/abs/2405.17428},
|
|
31
|
+
}"""
|
|
32
|
+
|
|
33
|
+
LlamaEmbedNemotron_CITATION = """@misc{babakhin2025llamaembednemotron8buniversaltextembedding,
|
|
34
|
+
title={Llama-Embed-Nemotron-8B: A Universal Text Embedding Model for Multilingual and Cross-Lingual Tasks},
|
|
35
|
+
author={Yauhen Babakhin and Radek Osmulski and Ronay Ak and Gabriel Moreira and Mengyao Xu and Benedikt Schifferer and Bo Liu and Even Oldridge},
|
|
36
|
+
year={2025},
|
|
37
|
+
eprint={2511.07025},
|
|
38
|
+
archivePrefix={arXiv},
|
|
39
|
+
primaryClass={cs.CL},
|
|
40
|
+
url={https://arxiv.org/abs/2511.07025},
|
|
29
41
|
}"""
|
|
30
42
|
|
|
31
43
|
|
|
32
|
-
def
|
|
44
|
+
def _instruction_template(
|
|
33
45
|
instruction: str, prompt_type: PromptType | None = None
|
|
34
46
|
) -> str:
|
|
35
47
|
return f"Instruct: {instruction}\nQuery: " if instruction else ""
|
|
@@ -100,10 +112,77 @@ nvidia_training_datasets = {
|
|
|
100
112
|
"MrTidyRetrieval",
|
|
101
113
|
}
|
|
102
114
|
|
|
115
|
+
|
|
116
|
+
class _NVEmbedWrapper(InstructSentenceTransformerModel):
|
|
117
|
+
"""Inherited, because nvembed requires `sbert==2`, but it doesn't have tokenizers kwargs"""
|
|
118
|
+
|
|
119
|
+
def __init__(
|
|
120
|
+
self,
|
|
121
|
+
model_name: str,
|
|
122
|
+
revision: str,
|
|
123
|
+
instruction_template: str
|
|
124
|
+
| Callable[[str, PromptType | None], str]
|
|
125
|
+
| None = None,
|
|
126
|
+
max_seq_length: int | None = None,
|
|
127
|
+
apply_instruction_to_passages: bool = True,
|
|
128
|
+
padding_side: str | None = None,
|
|
129
|
+
add_eos_token: bool = False,
|
|
130
|
+
prompts_dict: dict[str, str] | None = None,
|
|
131
|
+
**kwargs: Any,
|
|
132
|
+
):
|
|
133
|
+
from sentence_transformers import __version__ as sbert_version
|
|
134
|
+
|
|
135
|
+
required_transformers_version = "4.42.4"
|
|
136
|
+
required_sbert_version = "2.7.0"
|
|
137
|
+
|
|
138
|
+
if Version(transformers_version) != Version(required_transformers_version):
|
|
139
|
+
raise RuntimeError(
|
|
140
|
+
f"transformers version {transformers_version} is not match with required "
|
|
141
|
+
f"install version {required_transformers_version} to run `nvidia/NV-Embed-v2`"
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
if Version(sbert_version) != Version(required_sbert_version):
|
|
145
|
+
raise RuntimeError(
|
|
146
|
+
f"sbert version {sbert_version} is not match with required "
|
|
147
|
+
f"install version {required_sbert_version} to run `nvidia/NV-Embed-v2`"
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
requires_package(
|
|
151
|
+
self, "flash_attn", model_name, "pip install 'mteb[flash_attention]'"
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
from sentence_transformers import SentenceTransformer
|
|
155
|
+
|
|
156
|
+
if (
|
|
157
|
+
isinstance(instruction_template, str)
|
|
158
|
+
and "{instruction}" not in instruction_template
|
|
159
|
+
):
|
|
160
|
+
raise ValueError(
|
|
161
|
+
"Instruction template must contain the string '{instruction}'."
|
|
162
|
+
)
|
|
163
|
+
if instruction_template is None:
|
|
164
|
+
logger.warning(
|
|
165
|
+
"No instruction template provided. Instructions will be used as-is."
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
self.instruction_template = instruction_template
|
|
169
|
+
|
|
170
|
+
self.model_name = model_name
|
|
171
|
+
self.model = SentenceTransformer(model_name, revision=revision, **kwargs)
|
|
172
|
+
self.model.tokenizer.padding_side = padding_side
|
|
173
|
+
self.model.tokenizer.add_eos_token = add_eos_token
|
|
174
|
+
|
|
175
|
+
if max_seq_length:
|
|
176
|
+
# https://github.com/huggingface/sentence-transformers/issues/3575
|
|
177
|
+
self.model.max_seq_length = max_seq_length
|
|
178
|
+
self.apply_instruction_to_passages = apply_instruction_to_passages
|
|
179
|
+
self.prompts_dict = prompts_dict
|
|
180
|
+
|
|
181
|
+
|
|
103
182
|
NV_embed_v2 = ModelMeta(
|
|
104
|
-
loader=
|
|
183
|
+
loader=_NVEmbedWrapper,
|
|
105
184
|
loader_kwargs=dict(
|
|
106
|
-
instruction_template=
|
|
185
|
+
instruction_template=_instruction_template,
|
|
107
186
|
trust_remote_code=True,
|
|
108
187
|
max_seq_length=32768,
|
|
109
188
|
padding_side="right",
|
|
@@ -123,7 +202,7 @@ NV_embed_v2 = ModelMeta(
|
|
|
123
202
|
max_tokens=32768,
|
|
124
203
|
reference="https://huggingface.co/nvidia/NV-Embed-v2",
|
|
125
204
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
126
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
205
|
+
framework=["Sentence Transformers", "PyTorch", "Transformers", "safetensors"],
|
|
127
206
|
use_instructions=True,
|
|
128
207
|
training_datasets=nvidia_training_datasets,
|
|
129
208
|
public_training_code=None,
|
|
@@ -132,9 +211,9 @@ NV_embed_v2 = ModelMeta(
|
|
|
132
211
|
)
|
|
133
212
|
|
|
134
213
|
NV_embed_v1 = ModelMeta(
|
|
135
|
-
loader=
|
|
214
|
+
loader=_NVEmbedWrapper,
|
|
136
215
|
loader_kwargs=dict(
|
|
137
|
-
instruction_template=
|
|
216
|
+
instruction_template=_instruction_template,
|
|
138
217
|
trust_remote_code=True,
|
|
139
218
|
max_seq_length=32768,
|
|
140
219
|
padding_side="right",
|
|
@@ -154,7 +233,7 @@ NV_embed_v1 = ModelMeta(
|
|
|
154
233
|
max_tokens=32768,
|
|
155
234
|
reference="https://huggingface.co/nvidia/NV-Embed-v1",
|
|
156
235
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
157
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
236
|
+
framework=["Sentence Transformers", "PyTorch", "safetensors"],
|
|
158
237
|
use_instructions=True,
|
|
159
238
|
training_datasets=nvidia_training_datasets,
|
|
160
239
|
public_training_code=None,
|
|
@@ -337,6 +416,7 @@ class LlamaEmbedNemotron(AbsEncoder):
|
|
|
337
416
|
self,
|
|
338
417
|
model_name: str,
|
|
339
418
|
revision: str,
|
|
419
|
+
device: str | None = None,
|
|
340
420
|
) -> None:
|
|
341
421
|
required_transformers_version = "4.51.0"
|
|
342
422
|
if Version(transformers_version) != Version(required_transformers_version):
|
|
@@ -355,7 +435,7 @@ class LlamaEmbedNemotron(AbsEncoder):
|
|
|
355
435
|
self.attn_implementation = (
|
|
356
436
|
"flash_attention_2" if torch.cuda.is_available() else "eager"
|
|
357
437
|
)
|
|
358
|
-
self.device =
|
|
438
|
+
self.device = device or ("cuda" if torch.cuda.is_available() else "cpu")
|
|
359
439
|
self.task_prompts = TASK_PROMPTS
|
|
360
440
|
self.instruction_template = self._instruction_template
|
|
361
441
|
|
|
@@ -542,11 +622,63 @@ llama_embed_nemotron_8b = ModelMeta(
|
|
|
542
622
|
max_tokens=32768,
|
|
543
623
|
reference="https://huggingface.co/nvidia/llama-embed-nemotron-8b",
|
|
544
624
|
similarity_fn_name="cosine",
|
|
545
|
-
framework=["PyTorch"],
|
|
625
|
+
framework=["PyTorch", "Sentence Transformers", "safetensors", "Transformers"],
|
|
546
626
|
use_instructions=True,
|
|
547
627
|
training_datasets=llama_embed_nemotron_training_datasets,
|
|
548
|
-
public_training_code=
|
|
549
|
-
public_training_data=
|
|
628
|
+
public_training_code="https://github.com/NVIDIA-NeMo/Automodel/tree/main/examples/biencoder/llama_embed_nemotron_8b",
|
|
629
|
+
public_training_data="https://huggingface.co/datasets/nvidia/embed-nemotron-dataset-v1",
|
|
550
630
|
contacts=["ybabakhin"],
|
|
551
|
-
citation=
|
|
631
|
+
citation=LlamaEmbedNemotron_CITATION,
|
|
632
|
+
)
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
def _nemotron_rerank_model(model: str, revision: str, **kwargs) -> CrossEncoderWrapper:
|
|
636
|
+
required_transformers_version = "4.47.1"
|
|
637
|
+
|
|
638
|
+
if Version(transformers_version) != Version(required_transformers_version):
|
|
639
|
+
raise RuntimeError(
|
|
640
|
+
f"transformers version {transformers_version} is not match with required "
|
|
641
|
+
f"install version {required_transformers_version} to run `nvidia/llama-nemotron-rerank-1b-v2`"
|
|
642
|
+
)
|
|
643
|
+
|
|
644
|
+
return CrossEncoderWrapper(
|
|
645
|
+
model=model,
|
|
646
|
+
revision=revision,
|
|
647
|
+
**kwargs,
|
|
648
|
+
)
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
nemotron_rerank_1b_v2 = ModelMeta(
|
|
652
|
+
loader=_nemotron_rerank_model,
|
|
653
|
+
loader_kwargs=dict(
|
|
654
|
+
trust_remote_code=True,
|
|
655
|
+
query_prefix="question:",
|
|
656
|
+
passage_prefix=" \n \n passage:",
|
|
657
|
+
model_kwargs={"torch_dtype": torch.float32},
|
|
658
|
+
),
|
|
659
|
+
name="nvidia/llama-nemotron-rerank-1b-v2",
|
|
660
|
+
revision="78efcfdc23b53a753f6c73f2d78b18132a34ac4d",
|
|
661
|
+
release_date="2025-10-16",
|
|
662
|
+
languages=["eng-Latn"],
|
|
663
|
+
n_parameters=1235816448,
|
|
664
|
+
memory_usage_mb=2357.0,
|
|
665
|
+
max_tokens=4096,
|
|
666
|
+
embed_dim=2048,
|
|
667
|
+
license="https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-open-model-license/",
|
|
668
|
+
open_weights=True,
|
|
669
|
+
public_training_code=None,
|
|
670
|
+
public_training_data=None,
|
|
671
|
+
framework=["PyTorch", "Sentence Transformers"],
|
|
672
|
+
reference="https://huggingface.co/nvidia/llama-nemotron-rerank-1b-v2",
|
|
673
|
+
similarity_fn_name=ScoringFunction.COSINE,
|
|
674
|
+
use_instructions=None,
|
|
675
|
+
training_datasets=set(
|
|
676
|
+
# private
|
|
677
|
+
),
|
|
678
|
+
adapted_from="meta-llama/Llama-3.2-1B",
|
|
679
|
+
superseded_by=None,
|
|
680
|
+
modalities=["text"],
|
|
681
|
+
model_type=["cross-encoder"],
|
|
682
|
+
citation=None,
|
|
683
|
+
contacts=None,
|
|
552
684
|
)
|
|
@@ -163,6 +163,65 @@ _PREDEFINED_PROMPTS = {
|
|
|
163
163
|
"German1Retrieval": "Given a query, retrieve relevant passages",
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
+
Octen_Embedding_0B6 = ModelMeta(
|
|
167
|
+
loader=InstructSentenceTransformerModel,
|
|
168
|
+
loader_kwargs=dict(
|
|
169
|
+
instruction_template=instruction_template,
|
|
170
|
+
apply_instruction_to_passages=True,
|
|
171
|
+
prompts_dict=_PREDEFINED_PROMPTS,
|
|
172
|
+
max_seq_length=18480,
|
|
173
|
+
model_kwargs={"torch_dtype": "bfloat16"},
|
|
174
|
+
),
|
|
175
|
+
name="bflhc/Octen-Embedding-0.6B",
|
|
176
|
+
languages=multilingual_langs,
|
|
177
|
+
open_weights=True,
|
|
178
|
+
revision="1a00a4e837bd788f6f8d91bc43201a5e52cf8ef8",
|
|
179
|
+
release_date="2026-01-10",
|
|
180
|
+
n_parameters=595776512,
|
|
181
|
+
memory_usage_mb=1136,
|
|
182
|
+
embed_dim=1024,
|
|
183
|
+
max_tokens=32768,
|
|
184
|
+
license="apache-2.0",
|
|
185
|
+
reference="https://huggingface.co/bflhc/Octen-Embedding-0.6B",
|
|
186
|
+
similarity_fn_name="cosine",
|
|
187
|
+
framework=["Sentence Transformers", "PyTorch", "safetensors"],
|
|
188
|
+
use_instructions=True,
|
|
189
|
+
public_training_code=None,
|
|
190
|
+
public_training_data=None,
|
|
191
|
+
training_datasets=training_data,
|
|
192
|
+
citation=OCTEN_CITATION,
|
|
193
|
+
adapted_from="Qwen/Qwen3-Embedding-0.6B",
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
Octen_Embedding_4B = ModelMeta(
|
|
197
|
+
loader=InstructSentenceTransformerModel,
|
|
198
|
+
loader_kwargs=dict(
|
|
199
|
+
instruction_template=instruction_template,
|
|
200
|
+
apply_instruction_to_passages=True,
|
|
201
|
+
prompts_dict=_PREDEFINED_PROMPTS,
|
|
202
|
+
max_seq_length=18480,
|
|
203
|
+
model_kwargs={"torch_dtype": "bfloat16"},
|
|
204
|
+
),
|
|
205
|
+
name="bflhc/Octen-Embedding-4B",
|
|
206
|
+
languages=multilingual_langs,
|
|
207
|
+
open_weights=True,
|
|
208
|
+
revision="6e188e3b072c3e3678b235ad84e6e97bcbb71e8f",
|
|
209
|
+
release_date="2025-12-30",
|
|
210
|
+
n_parameters=4021774336,
|
|
211
|
+
memory_usage_mb=7671,
|
|
212
|
+
embed_dim=2560,
|
|
213
|
+
max_tokens=32768,
|
|
214
|
+
license="apache-2.0",
|
|
215
|
+
reference="https://huggingface.co/bflhc/Octen-Embedding-4B",
|
|
216
|
+
similarity_fn_name="cosine",
|
|
217
|
+
framework=["Sentence Transformers", "PyTorch", "safetensors"],
|
|
218
|
+
use_instructions=True,
|
|
219
|
+
public_training_code=None,
|
|
220
|
+
public_training_data=None,
|
|
221
|
+
training_datasets=training_data,
|
|
222
|
+
citation=OCTEN_CITATION,
|
|
223
|
+
adapted_from="Qwen/Qwen3-Embedding-4B",
|
|
224
|
+
)
|
|
166
225
|
|
|
167
226
|
Octen_Embedding_8B = ModelMeta(
|
|
168
227
|
loader=InstructSentenceTransformerModel,
|
|
@@ -176,7 +235,7 @@ Octen_Embedding_8B = ModelMeta(
|
|
|
176
235
|
name="bflhc/Octen-Embedding-8B",
|
|
177
236
|
languages=multilingual_langs,
|
|
178
237
|
open_weights=True,
|
|
179
|
-
revision="
|
|
238
|
+
revision="f7db178d5a82fb841f606a6a67c423cead2fdbba",
|
|
180
239
|
release_date="2025-12-23",
|
|
181
240
|
n_parameters=7567295488,
|
|
182
241
|
memory_usage_mb=14433,
|
|
@@ -185,7 +244,7 @@ Octen_Embedding_8B = ModelMeta(
|
|
|
185
244
|
license="apache-2.0",
|
|
186
245
|
reference="https://huggingface.co/bflhc/Octen-Embedding-8B",
|
|
187
246
|
similarity_fn_name="cosine",
|
|
188
|
-
framework=["Sentence Transformers", "PyTorch"],
|
|
247
|
+
framework=["Sentence Transformers", "PyTorch", "safetensors"],
|
|
189
248
|
use_instructions=True,
|
|
190
249
|
public_training_code=None,
|
|
191
250
|
public_training_data=None,
|
|
@@ -120,7 +120,7 @@ def openclip_loader(model_name, **kwargs):
|
|
|
120
120
|
|
|
121
121
|
|
|
122
122
|
CLIP_ViT_L_14_DataComp_XL_s13B_b90K = ModelMeta(
|
|
123
|
-
loader=openclip_loader,
|
|
123
|
+
loader=openclip_loader,
|
|
124
124
|
name="laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K",
|
|
125
125
|
model_type=["dense"],
|
|
126
126
|
languages=["eng-Latn"],
|
|
@@ -146,7 +146,7 @@ CLIP_ViT_L_14_DataComp_XL_s13B_b90K = ModelMeta(
|
|
|
146
146
|
)
|
|
147
147
|
|
|
148
148
|
CLIP_ViT_B_32_DataComp_XL_s13B_b90K = ModelMeta(
|
|
149
|
-
loader=openclip_loader,
|
|
149
|
+
loader=openclip_loader,
|
|
150
150
|
name="laion/CLIP-ViT-B-32-DataComp.XL-s13B-b90K",
|
|
151
151
|
model_type=["dense"],
|
|
152
152
|
languages=["eng-Latn"],
|
|
@@ -161,7 +161,7 @@ CLIP_ViT_B_32_DataComp_XL_s13B_b90K = ModelMeta(
|
|
|
161
161
|
open_weights=True,
|
|
162
162
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
163
163
|
public_training_data="https://huggingface.co/datasets/mlfoundations/datacomp_1b",
|
|
164
|
-
framework=["PyTorch"],
|
|
164
|
+
framework=["PyTorch", "safetensors"],
|
|
165
165
|
reference="https://huggingface.co/laion/CLIP-ViT-B-32-DataComp.XL-s13B-b90K",
|
|
166
166
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
167
167
|
use_instructions=False,
|
|
@@ -172,7 +172,7 @@ CLIP_ViT_B_32_DataComp_XL_s13B_b90K = ModelMeta(
|
|
|
172
172
|
)
|
|
173
173
|
|
|
174
174
|
CLIP_ViT_B_16_DataComp_XL_s13B_b90K = ModelMeta(
|
|
175
|
-
loader=openclip_loader,
|
|
175
|
+
loader=openclip_loader,
|
|
176
176
|
name="laion/CLIP-ViT-B-16-DataComp.XL-s13B-b90K",
|
|
177
177
|
model_type=["dense"],
|
|
178
178
|
languages=["eng-Latn"],
|
|
@@ -198,7 +198,7 @@ CLIP_ViT_B_16_DataComp_XL_s13B_b90K = ModelMeta(
|
|
|
198
198
|
)
|
|
199
199
|
|
|
200
200
|
CLIP_ViT_bigG_14_laion2B_39B_b160k = ModelMeta(
|
|
201
|
-
loader=openclip_loader,
|
|
201
|
+
loader=openclip_loader,
|
|
202
202
|
name="laion/CLIP-ViT-bigG-14-laion2B-39B-b160k",
|
|
203
203
|
model_type=["dense"],
|
|
204
204
|
languages=["eng-Latn"],
|
|
@@ -213,7 +213,7 @@ CLIP_ViT_bigG_14_laion2B_39B_b160k = ModelMeta(
|
|
|
213
213
|
open_weights=True,
|
|
214
214
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
215
215
|
public_training_data="https://laion.ai/blog/laion-5b/",
|
|
216
|
-
framework=["PyTorch"],
|
|
216
|
+
framework=["PyTorch", "safetensors"],
|
|
217
217
|
reference="https://huggingface.co/laion/CLIP-ViT-bigG-14-laion2B-39B-b160k",
|
|
218
218
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
219
219
|
use_instructions=False,
|
|
@@ -224,7 +224,7 @@ CLIP_ViT_bigG_14_laion2B_39B_b160k = ModelMeta(
|
|
|
224
224
|
)
|
|
225
225
|
|
|
226
226
|
CLIP_ViT_g_14_laion2B_s34B_b88K = ModelMeta(
|
|
227
|
-
loader=openclip_loader,
|
|
227
|
+
loader=openclip_loader,
|
|
228
228
|
name="laion/CLIP-ViT-g-14-laion2B-s34B-b88K",
|
|
229
229
|
model_type=["dense"],
|
|
230
230
|
languages=["eng-Latn"],
|
|
@@ -239,7 +239,7 @@ CLIP_ViT_g_14_laion2B_s34B_b88K = ModelMeta(
|
|
|
239
239
|
open_weights=True,
|
|
240
240
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
241
241
|
public_training_data="https://laion.ai/blog/laion-5b/",
|
|
242
|
-
framework=["PyTorch"],
|
|
242
|
+
framework=["PyTorch", "safetensors"],
|
|
243
243
|
reference="https://huggingface.co/laion/CLIP-ViT-g-14-laion2B-s34B-b88K",
|
|
244
244
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
245
245
|
use_instructions=False,
|
|
@@ -250,7 +250,7 @@ CLIP_ViT_g_14_laion2B_s34B_b88K = ModelMeta(
|
|
|
250
250
|
)
|
|
251
251
|
|
|
252
252
|
CLIP_ViT_H_14_laion2B_s32B_b79K = ModelMeta(
|
|
253
|
-
loader=openclip_loader,
|
|
253
|
+
loader=openclip_loader,
|
|
254
254
|
name="laion/CLIP-ViT-H-14-laion2B-s32B-b79K",
|
|
255
255
|
model_type=["dense"],
|
|
256
256
|
languages=["eng-Latn"],
|
|
@@ -265,7 +265,7 @@ CLIP_ViT_H_14_laion2B_s32B_b79K = ModelMeta(
|
|
|
265
265
|
open_weights=True,
|
|
266
266
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
267
267
|
public_training_data="https://laion.ai/blog/laion-5b/",
|
|
268
|
-
framework=["PyTorch"],
|
|
268
|
+
framework=["PyTorch", "safetensors"],
|
|
269
269
|
reference="https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K",
|
|
270
270
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
271
271
|
use_instructions=False,
|
|
@@ -276,7 +276,7 @@ CLIP_ViT_H_14_laion2B_s32B_b79K = ModelMeta(
|
|
|
276
276
|
)
|
|
277
277
|
|
|
278
278
|
CLIP_ViT_L_14_laion2B_s32B_b82K = ModelMeta(
|
|
279
|
-
loader=openclip_loader,
|
|
279
|
+
loader=openclip_loader,
|
|
280
280
|
name="laion/CLIP-ViT-L-14-laion2B-s32B-b82K",
|
|
281
281
|
model_type=["dense"],
|
|
282
282
|
languages=["eng-Latn"],
|
|
@@ -291,7 +291,7 @@ CLIP_ViT_L_14_laion2B_s32B_b82K = ModelMeta(
|
|
|
291
291
|
open_weights=True,
|
|
292
292
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
293
293
|
public_training_data="https://laion.ai/blog/laion-5b/",
|
|
294
|
-
framework=["PyTorch"],
|
|
294
|
+
framework=["PyTorch", "safetensors"],
|
|
295
295
|
reference="https://huggingface.co/laion/CLIP-ViT-L-14-laion2B-s32B-b82K",
|
|
296
296
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
297
297
|
use_instructions=False,
|
|
@@ -317,7 +317,7 @@ CLIP_ViT_B_32_laion2B_s34B_b79K = ModelMeta(
|
|
|
317
317
|
open_weights=True,
|
|
318
318
|
public_training_code="https://github.com/mlfoundations/open_clip",
|
|
319
319
|
public_training_data="https://laion.ai/blog/laion-5b/",
|
|
320
|
-
framework=["PyTorch"],
|
|
320
|
+
framework=["PyTorch", "safetensors"],
|
|
321
321
|
reference="https://huggingface.co/laion/CLIP-ViT-B-32-laion2B-s34B-b79K",
|
|
322
322
|
similarity_fn_name=ScoringFunction.COSINE,
|
|
323
323
|
use_instructions=False,
|