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.
Files changed (241) hide show
  1. mteb/__init__.py +2 -0
  2. mteb/_create_dataloaders.py +17 -18
  3. mteb/_evaluators/any_sts_evaluator.py +3 -3
  4. mteb/_evaluators/clustering_evaluator.py +2 -2
  5. mteb/_evaluators/evaluator.py +4 -2
  6. mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +10 -8
  7. mteb/_evaluators/pair_classification_evaluator.py +5 -3
  8. mteb/_evaluators/retrieval_evaluator.py +2 -2
  9. mteb/_evaluators/retrieval_metrics.py +18 -17
  10. mteb/_evaluators/sklearn_evaluator.py +11 -10
  11. mteb/_evaluators/text/bitext_mining_evaluator.py +27 -18
  12. mteb/_evaluators/text/summarization_evaluator.py +23 -18
  13. mteb/_evaluators/zeroshot_classification_evaluator.py +5 -3
  14. mteb/abstasks/_data_filter/filters.py +1 -1
  15. mteb/abstasks/_data_filter/task_pipelines.py +3 -0
  16. mteb/abstasks/_statistics_calculation.py +18 -10
  17. mteb/abstasks/_stratification.py +18 -18
  18. mteb/abstasks/abstask.py +35 -28
  19. mteb/abstasks/aggregate_task_metadata.py +1 -9
  20. mteb/abstasks/aggregated_task.py +10 -29
  21. mteb/abstasks/classification.py +15 -10
  22. mteb/abstasks/clustering.py +19 -15
  23. mteb/abstasks/clustering_legacy.py +10 -10
  24. mteb/abstasks/image/image_text_pair_classification.py +7 -4
  25. mteb/abstasks/multilabel_classification.py +23 -19
  26. mteb/abstasks/pair_classification.py +20 -11
  27. mteb/abstasks/regression.py +4 -4
  28. mteb/abstasks/retrieval.py +28 -24
  29. mteb/abstasks/retrieval_dataset_loaders.py +2 -2
  30. mteb/abstasks/sts.py +8 -5
  31. mteb/abstasks/task_metadata.py +31 -33
  32. mteb/abstasks/text/bitext_mining.py +39 -28
  33. mteb/abstasks/text/reranking.py +8 -6
  34. mteb/abstasks/text/summarization.py +10 -5
  35. mteb/abstasks/zeroshot_classification.py +8 -4
  36. mteb/benchmarks/benchmark.py +4 -2
  37. mteb/benchmarks/benchmarks/__init__.py +4 -0
  38. mteb/benchmarks/benchmarks/benchmarks.py +112 -11
  39. mteb/benchmarks/get_benchmark.py +14 -55
  40. mteb/cache.py +182 -29
  41. mteb/cli/_display_tasks.py +2 -2
  42. mteb/cli/build_cli.py +110 -14
  43. mteb/cli/generate_model_card.py +43 -23
  44. mteb/deprecated_evaluator.py +63 -49
  45. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2CybersecurityRetrieval.json +32 -0
  46. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EconomicRetrieval.json +32 -0
  47. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EnergyRetrieval.json +32 -0
  48. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2HrRetrieval.json +32 -0
  49. mteb/descriptive_stats/Retrieval/ChemRxivRetrieval.json +30 -0
  50. mteb/descriptive_stats/Retrieval/EuroPIRQRetrieval.json +116 -0
  51. mteb/descriptive_stats/Retrieval/NanoClimateFEVER-VN.json +30 -0
  52. mteb/descriptive_stats/Retrieval/NanoDBPedia-VN.json +30 -0
  53. mteb/descriptive_stats/Retrieval/NanoFEVER-VN.json +30 -0
  54. mteb/descriptive_stats/Retrieval/NanoHotpotQA-VN.json +30 -0
  55. mteb/descriptive_stats/Retrieval/NanoMSMARCO-VN.json +30 -0
  56. mteb/descriptive_stats/Retrieval/NanoNQ-VN.json +30 -0
  57. mteb/descriptive_stats/Retrieval/TVPLRetrieval.json +30 -0
  58. mteb/evaluate.py +44 -33
  59. mteb/filter_tasks.py +25 -26
  60. mteb/get_tasks.py +29 -30
  61. mteb/languages/language_scripts.py +5 -3
  62. mteb/leaderboard/app.py +162 -34
  63. mteb/load_results.py +12 -12
  64. mteb/models/abs_encoder.py +10 -6
  65. mteb/models/cache_wrappers/cache_backend_protocol.py +3 -5
  66. mteb/models/cache_wrappers/cache_backends/_hash_utils.py +5 -4
  67. mteb/models/cache_wrappers/cache_backends/faiss_cache.py +6 -2
  68. mteb/models/cache_wrappers/cache_backends/numpy_cache.py +43 -25
  69. mteb/models/cache_wrappers/cache_wrapper.py +2 -2
  70. mteb/models/get_model_meta.py +21 -3
  71. mteb/models/instruct_wrapper.py +28 -8
  72. mteb/models/model_implementations/align_models.py +1 -1
  73. mteb/models/model_implementations/andersborges.py +4 -4
  74. mteb/models/model_implementations/ara_models.py +1 -1
  75. mteb/models/model_implementations/arctic_models.py +8 -8
  76. mteb/models/model_implementations/b1ade_models.py +1 -1
  77. mteb/models/model_implementations/bge_models.py +45 -21
  78. mteb/models/model_implementations/bica_model.py +3 -3
  79. mteb/models/model_implementations/blip2_models.py +2 -2
  80. mteb/models/model_implementations/blip_models.py +16 -16
  81. mteb/models/model_implementations/bm25.py +4 -4
  82. mteb/models/model_implementations/bmretriever_models.py +6 -4
  83. mteb/models/model_implementations/cadet_models.py +1 -1
  84. mteb/models/model_implementations/cde_models.py +11 -4
  85. mteb/models/model_implementations/clip_models.py +6 -6
  86. mteb/models/model_implementations/clips_models.py +3 -3
  87. mteb/models/model_implementations/codefuse_models.py +5 -5
  88. mteb/models/model_implementations/codesage_models.py +3 -3
  89. mteb/models/model_implementations/cohere_models.py +5 -5
  90. mteb/models/model_implementations/cohere_v.py +2 -2
  91. mteb/models/model_implementations/colpali_models.py +3 -3
  92. mteb/models/model_implementations/colqwen_models.py +8 -8
  93. mteb/models/model_implementations/colsmol_models.py +2 -2
  94. mteb/models/model_implementations/conan_models.py +1 -1
  95. mteb/models/model_implementations/dino_models.py +42 -42
  96. mteb/models/model_implementations/e5_instruct.py +23 -4
  97. mteb/models/model_implementations/e5_models.py +9 -9
  98. mteb/models/model_implementations/e5_v.py +6 -6
  99. mteb/models/model_implementations/eagerworks_models.py +1 -1
  100. mteb/models/model_implementations/emillykkejensen_models.py +6 -6
  101. mteb/models/model_implementations/en_code_retriever.py +1 -1
  102. mteb/models/model_implementations/euler_models.py +2 -2
  103. mteb/models/model_implementations/fa_models.py +9 -9
  104. mteb/models/model_implementations/facebookai.py +14 -2
  105. mteb/models/model_implementations/geogpt_models.py +1 -1
  106. mteb/models/model_implementations/gme_v_models.py +6 -5
  107. mteb/models/model_implementations/google_models.py +1 -1
  108. mteb/models/model_implementations/granite_vision_embedding_models.py +1 -1
  109. mteb/models/model_implementations/gritlm_models.py +2 -2
  110. mteb/models/model_implementations/gte_models.py +25 -13
  111. mteb/models/model_implementations/hinvec_models.py +1 -1
  112. mteb/models/model_implementations/ibm_granite_models.py +30 -6
  113. mteb/models/model_implementations/inf_models.py +2 -2
  114. mteb/models/model_implementations/jasper_models.py +2 -2
  115. mteb/models/model_implementations/jina_clip.py +48 -10
  116. mteb/models/model_implementations/jina_models.py +18 -11
  117. mteb/models/model_implementations/kblab.py +12 -6
  118. mteb/models/model_implementations/kennethenevoldsen_models.py +4 -4
  119. mteb/models/model_implementations/kfst.py +1 -1
  120. mteb/models/model_implementations/kowshik24_models.py +1 -1
  121. mteb/models/model_implementations/lgai_embedding_models.py +1 -1
  122. mteb/models/model_implementations/linq_models.py +1 -1
  123. mteb/models/model_implementations/listconranker.py +1 -1
  124. mteb/models/model_implementations/llm2clip_models.py +6 -6
  125. mteb/models/model_implementations/llm2vec_models.py +8 -8
  126. mteb/models/model_implementations/mcinext_models.py +4 -1
  127. mteb/models/model_implementations/mdbr_models.py +17 -3
  128. mteb/models/model_implementations/misc_models.py +68 -68
  129. mteb/models/model_implementations/mixedbread_ai_models.py +332 -0
  130. mteb/models/model_implementations/mme5_models.py +1 -1
  131. mteb/models/model_implementations/moco_models.py +4 -4
  132. mteb/models/model_implementations/mod_models.py +1 -1
  133. mteb/models/model_implementations/model2vec_models.py +14 -14
  134. mteb/models/model_implementations/moka_models.py +1 -1
  135. mteb/models/model_implementations/nbailab.py +3 -3
  136. mteb/models/model_implementations/no_instruct_sentence_models.py +2 -2
  137. mteb/models/model_implementations/nomic_models.py +30 -15
  138. mteb/models/model_implementations/nomic_models_vision.py +1 -1
  139. mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +15 -9
  140. mteb/models/model_implementations/nvidia_models.py +151 -19
  141. mteb/models/model_implementations/octen_models.py +61 -2
  142. mteb/models/model_implementations/openclip_models.py +13 -13
  143. mteb/models/model_implementations/opensearch_neural_sparse_models.py +5 -5
  144. mteb/models/model_implementations/ops_moa_models.py +1 -1
  145. mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py +1 -1
  146. mteb/models/model_implementations/pawan_models.py +1 -1
  147. mteb/models/model_implementations/piccolo_models.py +1 -1
  148. mteb/models/model_implementations/pixie_models.py +56 -0
  149. mteb/models/model_implementations/promptriever_models.py +4 -4
  150. mteb/models/model_implementations/pylate_models.py +10 -9
  151. mteb/models/model_implementations/qodo_models.py +2 -2
  152. mteb/models/model_implementations/qtack_models.py +1 -1
  153. mteb/models/model_implementations/qwen3_models.py +3 -3
  154. mteb/models/model_implementations/qzhou_models.py +2 -2
  155. mteb/models/model_implementations/random_baseline.py +3 -3
  156. mteb/models/model_implementations/rasgaard_models.py +2 -2
  157. mteb/models/model_implementations/reasonir_model.py +1 -1
  158. mteb/models/model_implementations/repllama_models.py +3 -3
  159. mteb/models/model_implementations/rerankers_custom.py +12 -6
  160. mteb/models/model_implementations/rerankers_monot5_based.py +17 -17
  161. mteb/models/model_implementations/richinfoai_models.py +1 -1
  162. mteb/models/model_implementations/ru_sentence_models.py +20 -20
  163. mteb/models/model_implementations/ruri_models.py +10 -10
  164. mteb/models/model_implementations/salesforce_models.py +3 -3
  165. mteb/models/model_implementations/samilpwc_models.py +1 -1
  166. mteb/models/model_implementations/sarashina_embedding_models.py +2 -2
  167. mteb/models/model_implementations/searchmap_models.py +1 -1
  168. mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +113 -146
  169. mteb/models/model_implementations/sentence_transformers_models.py +124 -22
  170. mteb/models/model_implementations/shuu_model.py +1 -1
  171. mteb/models/model_implementations/siglip_models.py +20 -20
  172. mteb/models/model_implementations/slm_models.py +416 -0
  173. mteb/models/model_implementations/spartan8806_atles_champion.py +1 -1
  174. mteb/models/model_implementations/stella_models.py +17 -4
  175. mteb/models/model_implementations/tarka_models.py +2 -2
  176. mteb/models/model_implementations/text2vec_models.py +9 -3
  177. mteb/models/model_implementations/ua_sentence_models.py +1 -1
  178. mteb/models/model_implementations/uae_models.py +7 -1
  179. mteb/models/model_implementations/vdr_models.py +1 -1
  180. mteb/models/model_implementations/vi_vn_models.py +6 -6
  181. mteb/models/model_implementations/vlm2vec_models.py +3 -3
  182. mteb/models/model_implementations/voyage_models.py +84 -0
  183. mteb/models/model_implementations/voyage_v.py +9 -7
  184. mteb/models/model_implementations/youtu_models.py +1 -1
  185. mteb/models/model_implementations/yuan_models.py +1 -1
  186. mteb/models/model_implementations/yuan_models_en.py +1 -1
  187. mteb/models/model_meta.py +80 -31
  188. mteb/models/models_protocols.py +22 -6
  189. mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +9 -6
  190. mteb/models/search_wrappers.py +33 -18
  191. mteb/models/sentence_transformer_wrapper.py +50 -25
  192. mteb/models/vllm_wrapper.py +327 -0
  193. mteb/py.typed +0 -0
  194. mteb/results/benchmark_results.py +29 -21
  195. mteb/results/model_result.py +52 -22
  196. mteb/results/task_result.py +80 -58
  197. mteb/similarity_functions.py +11 -7
  198. mteb/tasks/classification/dan/dk_hate_classification.py +1 -1
  199. mteb/tasks/classification/est/estonian_valence.py +1 -1
  200. mteb/tasks/classification/kur/kurdish_sentiment_classification.py +2 -2
  201. mteb/tasks/classification/multilingual/scala_classification.py +1 -1
  202. mteb/tasks/clustering/eng/hume_wiki_cities_clustering.py +1 -1
  203. mteb/tasks/clustering/eng/wiki_cities_clustering.py +1 -1
  204. mteb/tasks/clustering/zho/cmteb_clustering.py +2 -2
  205. mteb/tasks/image_text_pair_classification/eng/sugar_crepe.py +1 -1
  206. mteb/tasks/reranking/multilingual/wikipedia_reranking_multilingual.py +1 -1
  207. mteb/tasks/retrieval/code/code_rag.py +12 -12
  208. mteb/tasks/retrieval/dan/dan_fever_retrieval.py +1 -1
  209. mteb/tasks/retrieval/dan/tv2_nordretrieval.py +2 -2
  210. mteb/tasks/retrieval/dan/twitter_hjerne_retrieval.py +2 -2
  211. mteb/tasks/retrieval/eng/__init__.py +2 -0
  212. mteb/tasks/retrieval/eng/chemrxiv.py +33 -0
  213. mteb/tasks/retrieval/eng/cub200_i2i_retrieval.py +1 -1
  214. mteb/tasks/retrieval/kor/__init__.py +15 -1
  215. mteb/tasks/retrieval/kor/kovidore2_bench_retrieval.py +142 -0
  216. mteb/tasks/retrieval/multilingual/__init__.py +2 -0
  217. mteb/tasks/retrieval/multilingual/euro_pirq_retrieval.py +43 -0
  218. mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +90 -100
  219. mteb/tasks/retrieval/nob/norquad.py +2 -2
  220. mteb/tasks/retrieval/nob/snl_retrieval.py +2 -2
  221. mteb/tasks/retrieval/tur/tur_hist_quad.py +1 -1
  222. mteb/tasks/retrieval/vie/__init__.py +14 -6
  223. mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +39 -0
  224. mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +39 -0
  225. mteb/tasks/retrieval/vie/fevervn_retrieval.py +39 -0
  226. mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +39 -0
  227. mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +48 -0
  228. mteb/tasks/retrieval/vie/nqvn_retrieval.py +39 -0
  229. mteb/tasks/retrieval/vie/tvpl_retrieval.py +42 -0
  230. mteb/tasks/retrieval/vie/zac_legal_text_retrieval.py +15 -1
  231. mteb/types/__init__.py +2 -0
  232. mteb/types/_encoder_io.py +12 -0
  233. mteb/types/_result.py +2 -1
  234. mteb/types/statistics.py +9 -3
  235. {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/METADATA +15 -4
  236. {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/RECORD +240 -219
  237. mteb/models/model_implementations/mxbai_models.py +0 -111
  238. {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/WHEEL +0 -0
  239. {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/entry_points.txt +0 -0
  240. {mteb-2.5.2.dist-info → mteb-2.7.2.dist-info}/licenses/LICENSE +0 -0
  241. {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__(model_name, revision, model_prompts, **kwargs)
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, # type: ignore
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=["Sentence Transformers", "PyTorch"],
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, # type: ignore
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=["Sentence Transformers", "PyTorch"],
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, # type: ignore
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, # type: ignore
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, # type: ignore
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 TYPE_CHECKING, Any
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="1f0fdea7f5b19532a750be109b19072d719b8177",
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="50c36f4d5271c6851aa08bd26d69f6e7ca8b870c",
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{moreira2025nvretrieverimprovingtextembedding,
22
- title={NV-Retriever: Improving text embedding models with effective hard-negative mining},
23
- author={Gabriel de Souza P. Moreira and Radek Osmulski and Mengyao Xu and Ronay Ak and Benedikt Schifferer and Even Oldridge},
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={2407.15831},
27
+ eprint={2405.17428},
26
28
  archivePrefix={arXiv},
27
- primaryClass={cs.IR},
28
- url={https://arxiv.org/abs/2407.15831}
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 instruction_template(
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=InstructSentenceTransformerModel,
183
+ loader=_NVEmbedWrapper,
105
184
  loader_kwargs=dict(
106
- instruction_template=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=InstructSentenceTransformerModel,
214
+ loader=_NVEmbedWrapper,
136
215
  loader_kwargs=dict(
137
- instruction_template=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 = torch.device("cuda" if torch.cuda.is_available() else "cpu")
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=None, # Will be released later
549
- public_training_data=None, # Will be released later
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=NV_RETRIEVER_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="2030603c2926ab005fafd824fac5911e271be21f",
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, # type: ignore
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, # type: ignore
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, # type: ignore
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, # type: ignore
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, # type: ignore
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, # type: ignore
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, # type: ignore
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,