mteb 2.5.2__py3-none-any.whl → 2.7.9__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 (529) hide show
  1. mteb/__init__.py +2 -0
  2. mteb/_create_dataloaders.py +78 -30
  3. mteb/_evaluators/any_sts_evaluator.py +13 -6
  4. mteb/_evaluators/clustering_evaluator.py +13 -5
  5. mteb/_evaluators/evaluator.py +12 -4
  6. mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +22 -11
  7. mteb/_evaluators/pair_classification_evaluator.py +17 -7
  8. mteb/_evaluators/retrieval_evaluator.py +23 -14
  9. mteb/_evaluators/retrieval_metrics.py +26 -19
  10. mteb/_evaluators/sklearn_evaluator.py +27 -17
  11. mteb/_evaluators/text/bitext_mining_evaluator.py +36 -20
  12. mteb/_evaluators/text/summarization_evaluator.py +31 -20
  13. mteb/_evaluators/zeroshot_classification_evaluator.py +16 -5
  14. mteb/_helpful_enum.py +5 -1
  15. mteb/abstasks/_data_filter/filters.py +9 -3
  16. mteb/abstasks/_data_filter/task_pipelines.py +10 -2
  17. mteb/abstasks/_statistics_calculation.py +21 -11
  18. mteb/abstasks/_stratification.py +18 -18
  19. mteb/abstasks/abstask.py +78 -44
  20. mteb/abstasks/aggregate_task_metadata.py +21 -18
  21. mteb/abstasks/aggregated_task.py +23 -35
  22. mteb/abstasks/classification.py +39 -18
  23. mteb/abstasks/clustering.py +37 -20
  24. mteb/abstasks/clustering_legacy.py +30 -16
  25. mteb/abstasks/image/image_text_pair_classification.py +26 -9
  26. mteb/abstasks/multilabel_classification.py +33 -21
  27. mteb/abstasks/pair_classification.py +44 -19
  28. mteb/abstasks/regression.py +18 -10
  29. mteb/abstasks/retrieval.py +82 -52
  30. mteb/abstasks/retrieval_dataset_loaders.py +50 -39
  31. mteb/abstasks/sts.py +34 -15
  32. mteb/abstasks/task_metadata.py +44 -37
  33. mteb/abstasks/text/bitext_mining.py +57 -35
  34. mteb/abstasks/text/reranking.py +10 -8
  35. mteb/abstasks/text/summarization.py +26 -10
  36. mteb/abstasks/zeroshot_classification.py +27 -9
  37. mteb/benchmarks/_create_table.py +13 -7
  38. mteb/benchmarks/benchmark.py +15 -3
  39. mteb/benchmarks/benchmarks/__init__.py +6 -0
  40. mteb/benchmarks/benchmarks/benchmarks.py +153 -13
  41. mteb/benchmarks/benchmarks/rteb_benchmarks.py +20 -9
  42. mteb/benchmarks/get_benchmark.py +14 -55
  43. mteb/cache.py +189 -31
  44. mteb/cli/_display_tasks.py +10 -4
  45. mteb/cli/build_cli.py +112 -13
  46. mteb/cli/generate_model_card.py +50 -23
  47. mteb/deprecated_evaluator.py +72 -54
  48. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2CybersecurityRetrieval.json +32 -0
  49. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EconomicRetrieval.json +32 -0
  50. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EnergyRetrieval.json +32 -0
  51. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2HrRetrieval.json +32 -0
  52. mteb/descriptive_stats/Retrieval/BrightAopsRetrieval.json +35 -0
  53. mteb/descriptive_stats/Retrieval/BrightBiologyLongRetrieval.json +35 -0
  54. mteb/descriptive_stats/Retrieval/BrightBiologyRetrieval.json +35 -0
  55. mteb/descriptive_stats/Retrieval/BrightEarthScienceLongRetrieval.json +35 -0
  56. mteb/descriptive_stats/Retrieval/BrightEarthScienceRetrieval.json +35 -0
  57. mteb/descriptive_stats/Retrieval/BrightEconomicsLongRetrieval.json +35 -0
  58. mteb/descriptive_stats/Retrieval/BrightEconomicsRetrieval.json +35 -0
  59. mteb/descriptive_stats/Retrieval/BrightLeetcodeRetrieval.json +35 -0
  60. mteb/descriptive_stats/Retrieval/BrightPonyLongRetrieval.json +35 -0
  61. mteb/descriptive_stats/Retrieval/BrightPonyRetrieval.json +35 -0
  62. mteb/descriptive_stats/Retrieval/BrightPsychologyLongRetrieval.json +35 -0
  63. mteb/descriptive_stats/Retrieval/BrightPsychologyRetrieval.json +35 -0
  64. mteb/descriptive_stats/Retrieval/BrightRoboticsLongRetrieval.json +35 -0
  65. mteb/descriptive_stats/Retrieval/BrightRoboticsRetrieval.json +35 -0
  66. mteb/descriptive_stats/Retrieval/BrightStackoverflowLongRetrieval.json +35 -0
  67. mteb/descriptive_stats/Retrieval/BrightStackoverflowRetrieval.json +35 -0
  68. mteb/descriptive_stats/Retrieval/BrightSustainableLivingLongRetrieval.json +35 -0
  69. mteb/descriptive_stats/Retrieval/BrightSustainableLivingRetrieval.json +35 -0
  70. mteb/descriptive_stats/Retrieval/BrightTheoremQAQuestionsRetrieval.json +35 -0
  71. mteb/descriptive_stats/Retrieval/BrightTheoremQATheoremsRetrieval.json +35 -0
  72. mteb/descriptive_stats/Retrieval/ChemRxivRetrieval.json +30 -0
  73. mteb/descriptive_stats/Retrieval/EuroPIRQRetrieval.json +116 -0
  74. mteb/descriptive_stats/Retrieval/NanoClimateFEVER-VN.json +30 -0
  75. mteb/descriptive_stats/Retrieval/NanoDBPedia-VN.json +30 -0
  76. mteb/descriptive_stats/Retrieval/NanoFEVER-VN.json +30 -0
  77. mteb/descriptive_stats/Retrieval/NanoHotpotQA-VN.json +30 -0
  78. mteb/descriptive_stats/Retrieval/NanoMSMARCO-VN.json +30 -0
  79. mteb/descriptive_stats/Retrieval/NanoNQ-VN.json +30 -0
  80. mteb/descriptive_stats/Retrieval/TVPLRetrieval.json +30 -0
  81. mteb/evaluate.py +71 -47
  82. mteb/filter_tasks.py +36 -32
  83. mteb/get_tasks.py +37 -33
  84. mteb/languages/language_scripts.py +11 -4
  85. mteb/leaderboard/app.py +172 -37
  86. mteb/leaderboard/table.py +7 -2
  87. mteb/load_results.py +20 -14
  88. mteb/models/abs_encoder.py +30 -16
  89. mteb/models/cache_wrappers/cache_backend_protocol.py +7 -7
  90. mteb/models/cache_wrappers/cache_backends/_hash_utils.py +10 -5
  91. mteb/models/cache_wrappers/cache_backends/faiss_cache.py +13 -4
  92. mteb/models/cache_wrappers/cache_backends/numpy_cache.py +43 -25
  93. mteb/models/cache_wrappers/cache_wrapper.py +16 -11
  94. mteb/models/get_model_meta.py +53 -9
  95. mteb/models/instruct_wrapper.py +41 -13
  96. mteb/models/model_implementations/align_models.py +11 -5
  97. mteb/models/model_implementations/amazon_models.py +1 -0
  98. mteb/models/model_implementations/andersborges.py +6 -4
  99. mteb/models/model_implementations/ara_models.py +2 -1
  100. mteb/models/model_implementations/arctic_models.py +16 -8
  101. mteb/models/model_implementations/b1ade_models.py +2 -1
  102. mteb/models/model_implementations/bedrock_models.py +20 -6
  103. mteb/models/model_implementations/bge_models.py +85 -22
  104. mteb/models/model_implementations/bica_model.py +4 -3
  105. mteb/models/model_implementations/blip2_models.py +13 -6
  106. mteb/models/model_implementations/blip_models.py +33 -20
  107. mteb/models/model_implementations/bm25.py +27 -17
  108. mteb/models/model_implementations/bmretriever_models.py +16 -6
  109. mteb/models/model_implementations/cadet_models.py +2 -1
  110. mteb/models/model_implementations/cde_models.py +22 -9
  111. mteb/models/model_implementations/clip_models.py +18 -10
  112. mteb/models/model_implementations/clips_models.py +6 -3
  113. mteb/models/model_implementations/codefuse_models.py +10 -5
  114. mteb/models/model_implementations/codesage_models.py +6 -3
  115. mteb/models/model_implementations/cohere_models.py +19 -9
  116. mteb/models/model_implementations/cohere_v.py +16 -6
  117. mteb/models/model_implementations/colpali_models.py +10 -6
  118. mteb/models/model_implementations/colqwen_models.py +24 -38
  119. mteb/models/model_implementations/colsmol_models.py +5 -3
  120. mteb/models/model_implementations/conan_models.py +12 -5
  121. mteb/models/model_implementations/dino_models.py +70 -46
  122. mteb/models/model_implementations/e5_instruct.py +27 -4
  123. mteb/models/model_implementations/e5_models.py +18 -9
  124. mteb/models/model_implementations/e5_v.py +16 -10
  125. mteb/models/model_implementations/eagerworks_models.py +12 -5
  126. mteb/models/model_implementations/emillykkejensen_models.py +9 -6
  127. mteb/models/model_implementations/en_code_retriever.py +2 -1
  128. mteb/models/model_implementations/euler_models.py +3 -2
  129. mteb/models/model_implementations/evaclip_models.py +13 -4
  130. mteb/models/model_implementations/fa_models.py +18 -9
  131. mteb/models/model_implementations/facebookai.py +16 -2
  132. mteb/models/model_implementations/geogpt_models.py +2 -1
  133. mteb/models/model_implementations/gme_v_models.py +13 -8
  134. mteb/models/model_implementations/google_models.py +16 -5
  135. mteb/models/model_implementations/granite_vision_embedding_models.py +8 -6
  136. mteb/models/model_implementations/gritlm_models.py +5 -2
  137. mteb/models/model_implementations/gte_models.py +34 -13
  138. mteb/models/model_implementations/hinvec_models.py +7 -2
  139. mteb/models/model_implementations/human.py +1 -0
  140. mteb/models/model_implementations/ibm_granite_models.py +36 -6
  141. mteb/models/model_implementations/inf_models.py +4 -2
  142. mteb/models/model_implementations/jasper_models.py +16 -7
  143. mteb/models/model_implementations/jina_clip.py +58 -14
  144. mteb/models/model_implementations/jina_models.py +35 -16
  145. mteb/models/model_implementations/kalm_models.py +24 -12
  146. mteb/models/model_implementations/kblab.py +13 -6
  147. mteb/models/model_implementations/kennethenevoldsen_models.py +6 -4
  148. mteb/models/model_implementations/kfst.py +2 -1
  149. mteb/models/model_implementations/kowshik24_models.py +2 -1
  150. mteb/models/model_implementations/lens_models.py +2 -0
  151. mteb/models/model_implementations/lgai_embedding_models.py +2 -1
  152. mteb/models/model_implementations/linq_models.py +8 -2
  153. mteb/models/model_implementations/listconranker.py +11 -5
  154. mteb/models/model_implementations/llm2clip_models.py +18 -10
  155. mteb/models/model_implementations/llm2vec_models.py +28 -14
  156. mteb/models/model_implementations/mcinext_models.py +12 -3
  157. mteb/models/model_implementations/mdbr_models.py +19 -3
  158. mteb/models/model_implementations/misc_models.py +131 -68
  159. mteb/models/model_implementations/mixedbread_ai_models.py +335 -0
  160. mteb/models/model_implementations/mme5_models.py +3 -2
  161. mteb/models/model_implementations/moco_models.py +15 -8
  162. mteb/models/model_implementations/mod_models.py +3 -2
  163. mteb/models/model_implementations/model2vec_models.py +37 -18
  164. mteb/models/model_implementations/moka_models.py +4 -1
  165. mteb/models/model_implementations/nbailab.py +6 -3
  166. mteb/models/model_implementations/no_instruct_sentence_models.py +15 -7
  167. mteb/models/model_implementations/nomic_models.py +47 -19
  168. mteb/models/model_implementations/nomic_models_vision.py +6 -4
  169. mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +20 -8
  170. mteb/models/model_implementations/nvidia_models.py +165 -22
  171. mteb/models/model_implementations/octen_models.py +64 -3
  172. mteb/models/model_implementations/openai_models.py +14 -4
  173. mteb/models/model_implementations/openclip_models.py +30 -17
  174. mteb/models/model_implementations/opensearch_neural_sparse_models.py +20 -9
  175. mteb/models/model_implementations/ops_moa_models.py +10 -3
  176. mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py +2 -1
  177. mteb/models/model_implementations/pawan_models.py +2 -1
  178. mteb/models/model_implementations/piccolo_models.py +3 -1
  179. mteb/models/model_implementations/pixie_models.py +56 -0
  180. mteb/models/model_implementations/promptriever_models.py +20 -10
  181. mteb/models/model_implementations/pylate_models.py +41 -21
  182. mteb/models/model_implementations/qodo_models.py +4 -2
  183. mteb/models/model_implementations/qtack_models.py +2 -1
  184. mteb/models/model_implementations/qwen3_models.py +14 -4
  185. mteb/models/model_implementations/qzhou_models.py +4 -2
  186. mteb/models/model_implementations/random_baseline.py +7 -6
  187. mteb/models/model_implementations/rasgaard_models.py +3 -2
  188. mteb/models/model_implementations/reasonir_model.py +66 -1
  189. mteb/models/model_implementations/repllama_models.py +18 -9
  190. mteb/models/model_implementations/rerankers_custom.py +25 -10
  191. mteb/models/model_implementations/rerankers_monot5_based.py +41 -21
  192. mteb/models/model_implementations/richinfoai_models.py +2 -1
  193. mteb/models/model_implementations/ru_sentence_models.py +40 -20
  194. mteb/models/model_implementations/ruri_models.py +20 -10
  195. mteb/models/model_implementations/salesforce_models.py +13 -4
  196. mteb/models/model_implementations/samilpwc_models.py +2 -1
  197. mteb/models/model_implementations/sarashina_embedding_models.py +4 -2
  198. mteb/models/model_implementations/searchmap_models.py +2 -1
  199. mteb/models/model_implementations/seed_1_6_embedding_models.py +5 -2
  200. mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +119 -148
  201. mteb/models/model_implementations/seed_models.py +2 -1
  202. mteb/models/model_implementations/sentence_transformers_models.py +142 -22
  203. mteb/models/model_implementations/shuu_model.py +2 -1
  204. mteb/models/model_implementations/siglip_models.py +39 -24
  205. mteb/models/model_implementations/slm_models.py +419 -0
  206. mteb/models/model_implementations/sonar_models.py +2 -1
  207. mteb/models/model_implementations/spartan8806_atles_champion.py +2 -1
  208. mteb/models/model_implementations/stella_models.py +23 -4
  209. mteb/models/model_implementations/tarka_models.py +4 -2
  210. mteb/models/model_implementations/text2vec_models.py +12 -3
  211. mteb/models/model_implementations/ua_sentence_models.py +2 -1
  212. mteb/models/model_implementations/uae_models.py +17 -5
  213. mteb/models/model_implementations/vdr_models.py +9 -2
  214. mteb/models/model_implementations/vi_vn_models.py +12 -6
  215. mteb/models/model_implementations/vista_models.py +11 -4
  216. mteb/models/model_implementations/vlm2vec_models.py +14 -7
  217. mteb/models/model_implementations/voyage_models.py +136 -4
  218. mteb/models/model_implementations/voyage_v.py +17 -10
  219. mteb/models/model_implementations/xyz_models.py +1 -0
  220. mteb/models/model_implementations/youtu_models.py +2 -1
  221. mteb/models/model_implementations/yuan_models.py +2 -1
  222. mteb/models/model_implementations/yuan_models_en.py +3 -2
  223. mteb/models/model_meta.py +127 -40
  224. mteb/models/models_protocols.py +43 -22
  225. mteb/models/search_encoder_index/search_backend_protocol.py +7 -3
  226. mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +21 -10
  227. mteb/models/search_wrappers.py +63 -29
  228. mteb/models/sentence_transformer_wrapper.py +52 -26
  229. mteb/models/vllm_wrapper.py +329 -0
  230. mteb/py.typed +0 -0
  231. mteb/results/benchmark_results.py +48 -35
  232. mteb/results/model_result.py +68 -32
  233. mteb/results/task_result.py +110 -72
  234. mteb/similarity_functions.py +19 -9
  235. mteb/tasks/aggregated_tasks/eng/cqadupstack_retrieval.py +3 -3
  236. mteb/tasks/aggregated_tasks/eng/sts17_multilingual_visual_sts_eng.py +3 -3
  237. mteb/tasks/aggregated_tasks/eng/sts_benchmark_multilingual_visual_sts_eng.py +3 -3
  238. mteb/tasks/aggregated_tasks/fas/cqadupstack_retrieval_fa.py +3 -3
  239. mteb/tasks/aggregated_tasks/fas/syn_per_chatbot_conv_sa_classification.py +3 -3
  240. mteb/tasks/aggregated_tasks/multilingual/sts17_multilingual_vision_sts.py +3 -3
  241. mteb/tasks/aggregated_tasks/multilingual/sts_benchmark_multilingual_visual_sts.py +3 -3
  242. mteb/tasks/aggregated_tasks/nld/cqadupstack_nl_retrieval.py +3 -3
  243. mteb/tasks/aggregated_tasks/pol/cqadupstack_retrieval_pl.py +3 -3
  244. mteb/tasks/bitext_mining/eng/pub_chem_smiles_bitext_mining.py +1 -1
  245. mteb/tasks/bitext_mining/fas/fa_mteb_summary_retrieval.py +3 -3
  246. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining.py +1 -1
  247. mteb/tasks/bitext_mining/multilingual/flores_bitext_mining.py +1 -1
  248. mteb/tasks/bitext_mining/multilingual/in22_conv_bitext_mining.py +1 -1
  249. mteb/tasks/bitext_mining/multilingual/in22_gen_bitext_mining.py +1 -1
  250. mteb/tasks/bitext_mining/multilingual/norwegian_courts_bitext_mining.py +1 -1
  251. mteb/tasks/bitext_mining/multilingual/ntrex_bitext_mining.py +1 -1
  252. mteb/tasks/bitext_mining/multilingual/roma_tales_bitext_mining.py +2 -2
  253. mteb/tasks/bitext_mining/multilingual/web_faq_bitext_mining.py +2 -2
  254. mteb/tasks/classification/ara/online_store_review_sentiment_classification.py +1 -1
  255. mteb/tasks/classification/ara/restaurant_review_sentiment_classification.py +1 -1
  256. mteb/tasks/classification/ara/tweet_sarcasm_classification.py +1 -1
  257. mteb/tasks/classification/ben/bengali_hate_speech_classification.py +1 -1
  258. mteb/tasks/classification/ben/bengali_sentiment_analysis.py +1 -1
  259. mteb/tasks/classification/bul/bulgarian_store_review_sentiment_classfication.py +1 -1
  260. mteb/tasks/classification/ces/csfdcz_movie_review_sentiment_classification.py +2 -2
  261. mteb/tasks/classification/dan/ddisco_cohesion_classification.py +1 -1
  262. mteb/tasks/classification/dan/dk_hate_classification.py +2 -2
  263. mteb/tasks/classification/deu/german_politicians_twitter_sentiment_classification.py +1 -1
  264. mteb/tasks/classification/ell/greek_legal_code_classification.py +1 -1
  265. mteb/tasks/classification/eng/dbpedia_classification.py +2 -2
  266. mteb/tasks/classification/eng/toxic_chat_classification.py +2 -2
  267. mteb/tasks/classification/eng/toxic_conversations_classification.py +2 -2
  268. mteb/tasks/classification/eng/tweet_topic_single_classification.py +1 -1
  269. mteb/tasks/classification/eng/yahoo_answers_topics_classification.py +1 -1
  270. mteb/tasks/classification/eng/yelp_review_full_classification.py +2 -2
  271. mteb/tasks/classification/est/estonian_valence.py +2 -2
  272. mteb/tasks/classification/fas/fa_mteb_classification.py +6 -6
  273. mteb/tasks/classification/fas/persian_food_sentiment_classification.py +1 -1
  274. mteb/tasks/classification/fil/filipino_shopee_reviews_classification.py +1 -1
  275. mteb/tasks/classification/fin/fin_toxicity_classification.py +1 -1
  276. mteb/tasks/classification/fra/french_book_reviews.py +2 -2
  277. mteb/tasks/classification/fra/movie_review_sentiment_classification.py +2 -2
  278. mteb/tasks/classification/guj/gujarati_news_classification.py +1 -1
  279. mteb/tasks/classification/hin/hindi_discourse_classification.py +1 -1
  280. mteb/tasks/classification/hin/sentiment_analysis_hindi.py +1 -1
  281. mteb/tasks/classification/ind/indonesian_id_clickbait_classification.py +2 -2
  282. mteb/tasks/classification/ind/indonesian_mongabay_conservation_classification.py +1 -1
  283. mteb/tasks/classification/ita/dado_eval_coarse_classification.py +1 -1
  284. mteb/tasks/classification/ita/ita_casehold_classification.py +1 -1
  285. mteb/tasks/classification/ita/sardi_stance_classification.py +1 -1
  286. mteb/tasks/classification/jav/javanese_imdb_classification.py +1 -1
  287. mteb/tasks/classification/jpn/wrime_classification.py +1 -1
  288. mteb/tasks/classification/kan/kannada_news_classification.py +2 -2
  289. mteb/tasks/classification/kor/klue_tc.py +2 -2
  290. mteb/tasks/classification/kor/kor_fin.py +1 -1
  291. mteb/tasks/classification/kor/kor_hate_classification.py +1 -1
  292. mteb/tasks/classification/kor/kor_sarcasm_classification.py +1 -1
  293. mteb/tasks/classification/kur/kurdish_sentiment_classification.py +2 -2
  294. mteb/tasks/classification/mal/malayalam_news_classification.py +1 -1
  295. mteb/tasks/classification/mar/marathi_news_classification.py +1 -1
  296. mteb/tasks/classification/multilingual/afri_senti_lang_classification.py +1 -1
  297. mteb/tasks/classification/multilingual/catalonia_tweet_classification.py +1 -1
  298. mteb/tasks/classification/multilingual/cyrillic_turkic_lang_classification.py +1 -1
  299. mteb/tasks/classification/multilingual/indic_nlp_news_classification.py +1 -1
  300. mteb/tasks/classification/multilingual/masakha_news_classification.py +1 -1
  301. mteb/tasks/classification/multilingual/multi_hate_classification.py +1 -1
  302. mteb/tasks/classification/multilingual/multilingual_sentiment_classification.py +1 -1
  303. mteb/tasks/classification/multilingual/scala_classification.py +2 -2
  304. mteb/tasks/classification/multilingual/sib200_classification.py +1 -1
  305. mteb/tasks/classification/multilingual/turkic_classification.py +1 -1
  306. mteb/tasks/classification/multilingual/tweet_sentiment_classification.py +1 -1
  307. mteb/tasks/classification/nep/nepali_news_classification.py +2 -2
  308. mteb/tasks/classification/nld/dutch_sarcastic_headlines_classification.py +1 -1
  309. mteb/tasks/classification/nld/vaccin_chat_nl_classification.py +1 -1
  310. mteb/tasks/classification/ory/odia_news_classification.py +2 -2
  311. mteb/tasks/classification/pan/punjabi_news_classification.py +1 -1
  312. mteb/tasks/classification/ron/moroco.py +1 -1
  313. mteb/tasks/classification/ron/romanian_reviews_sentiment.py +1 -1
  314. mteb/tasks/classification/ron/romanian_sentiment_classification.py +1 -1
  315. mteb/tasks/classification/rus/georeview_classification.py +1 -1
  316. mteb/tasks/classification/rus/headline_classification.py +2 -2
  317. mteb/tasks/classification/rus/inappropriateness_classification.py +2 -2
  318. mteb/tasks/classification/rus/ru_reviews_classification.py +2 -2
  319. mteb/tasks/classification/rus/ru_sci_bench_grnti_classification.py +1 -1
  320. mteb/tasks/classification/rus/ru_sci_bench_oecd_classification.py +1 -1
  321. mteb/tasks/classification/rus/ru_toixic_classification_okmlcup.py +1 -1
  322. mteb/tasks/classification/san/sanskrit_shlokas_classification.py +1 -1
  323. mteb/tasks/classification/sin/sinhala_news_classification.py +2 -2
  324. mteb/tasks/classification/sin/sinhala_news_source_classification.py +2 -2
  325. mteb/tasks/classification/slk/csfdsk_movie_review_sentiment_classification.py +2 -2
  326. mteb/tasks/classification/slv/frenk_sl_classification.py +1 -1
  327. mteb/tasks/classification/spa/spanish_news_classification.py +2 -2
  328. mteb/tasks/classification/ssw/siswati_news_classification.py +1 -1
  329. mteb/tasks/classification/tam/tamil_news_classification.py +2 -2
  330. mteb/tasks/classification/tel/telugu_andhra_jyoti_news_classification.py +2 -2
  331. mteb/tasks/classification/tha/wongnai_reviews_classification.py +1 -1
  332. mteb/tasks/classification/tur/turkish_movie_sentiment_classification.py +2 -2
  333. mteb/tasks/classification/ukr/ukr_formality_classification.py +2 -2
  334. mteb/tasks/classification/vie/toxic_conversations_vn_classification.py +1 -1
  335. mteb/tasks/classification/vie/vie_student_feedback_classification.py +1 -1
  336. mteb/tasks/classification/zho/yue_openrice_review_classification.py +2 -2
  337. mteb/tasks/classification/zul/isi_zulu_news_classification.py +1 -1
  338. mteb/tasks/clustering/deu/blurbs_clustering_p2p.py +1 -1
  339. mteb/tasks/clustering/deu/blurbs_clustering_s2s.py +1 -1
  340. mteb/tasks/clustering/eng/arxiv_clustering_p2p.py +1 -1
  341. mteb/tasks/clustering/eng/arxiv_hierarchical_clustering.py +2 -2
  342. mteb/tasks/clustering/eng/big_patent_clustering.py +1 -1
  343. mteb/tasks/clustering/eng/biorxiv_clustering_p2p.py +1 -1
  344. mteb/tasks/clustering/eng/biorxiv_clustering_s2s.py +1 -1
  345. mteb/tasks/clustering/eng/hume_wiki_cities_clustering.py +1 -1
  346. mteb/tasks/clustering/eng/medrxiv_clustering_p2p.py +1 -1
  347. mteb/tasks/clustering/eng/medrxiv_clustering_s2s.py +1 -1
  348. mteb/tasks/clustering/eng/reddit_clustering.py +1 -1
  349. mteb/tasks/clustering/eng/reddit_clustering_p2p.py +1 -1
  350. mteb/tasks/clustering/eng/stack_exchange_clustering.py +1 -1
  351. mteb/tasks/clustering/eng/stack_exchange_clustering_p2p.py +1 -1
  352. mteb/tasks/clustering/eng/twenty_newsgroups_clustering.py +1 -1
  353. mteb/tasks/clustering/eng/wiki_cities_clustering.py +1 -1
  354. mteb/tasks/clustering/fas/fa_mteb_clustering.py +4 -4
  355. mteb/tasks/clustering/fra/hal_clustering_s2s.py +2 -2
  356. mteb/tasks/clustering/multilingual/mlsum_clustering_p2p.py +2 -2
  357. mteb/tasks/clustering/multilingual/mlsum_clustering_s2s.py +2 -2
  358. mteb/tasks/clustering/multilingual/sib200_clustering_s2s.py +1 -1
  359. mteb/tasks/clustering/multilingual/wiki_clustering_p2p.py +1 -1
  360. mteb/tasks/clustering/nld/dutch_news_articles_clustering_p2p.py +1 -1
  361. mteb/tasks/clustering/nld/dutch_news_articles_clustering_s2s.py +1 -1
  362. mteb/tasks/clustering/nld/iconclass_clustering_s2s.py +1 -1
  363. mteb/tasks/clustering/nld/open_tender_clustering_p2p.py +1 -1
  364. mteb/tasks/clustering/nld/vabb_clustering_p2p.py +1 -1
  365. mteb/tasks/clustering/nld/vabb_clustering_s2s.py +1 -1
  366. mteb/tasks/clustering/nob/snl_clustering.py +8 -3
  367. mteb/tasks/clustering/nob/vg_clustering.py +8 -3
  368. mteb/tasks/clustering/pol/polish_clustering.py +3 -3
  369. mteb/tasks/clustering/rus/ru_sci_bench_grnti_clustering_p2p.py +1 -1
  370. mteb/tasks/clustering/rus/ru_sci_bench_oecd_clustering_p2p.py +1 -1
  371. mteb/tasks/clustering/zho/cmteb_clustering.py +6 -6
  372. mteb/tasks/image_text_pair_classification/eng/image_co_de.py +1 -1
  373. mteb/tasks/image_text_pair_classification/eng/sugar_crepe.py +2 -2
  374. mteb/tasks/instruction_reranking/multilingual/m_follow_ir.py +2 -2
  375. mteb/tasks/multichoice/eng/cv_bench.py +4 -4
  376. mteb/tasks/multilabel_classification/ita/emit_classification.py +1 -1
  377. mteb/tasks/multilabel_classification/mlt/maltese_news_classification.py +1 -1
  378. mteb/tasks/multilabel_classification/rus/ru_toixic_multilabelclassification_okmlcup.py +1 -1
  379. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_group_classification.py +1 -1
  380. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_subclass_classification.py +1 -1
  381. mteb/tasks/pair_classification/ara/ar_entail.py +1 -1
  382. mteb/tasks/pair_classification/dan/talemaader_pc.py +1 -1
  383. mteb/tasks/pair_classification/deu/false_friends_de_en_pc.py +1 -1
  384. mteb/tasks/pair_classification/eng/pub_chem_ai_sentence_paraphrase_pc.py +1 -1
  385. mteb/tasks/pair_classification/eng/pub_chem_smilespc.py +4 -3
  386. mteb/tasks/pair_classification/eng/pub_chem_synonym_pc.py +1 -1
  387. mteb/tasks/pair_classification/eng/pub_chem_wiki_paragraphs_pc.py +1 -1
  388. mteb/tasks/pair_classification/eng/sprint_duplicate_questions_pc.py +1 -1
  389. mteb/tasks/pair_classification/eng/twitter_sem_eval2015_pc.py +1 -1
  390. mteb/tasks/pair_classification/eng/twitter_url_corpus_pc.py +1 -1
  391. mteb/tasks/pair_classification/fas/fa_mteb_pair_classification.py +5 -5
  392. mteb/tasks/pair_classification/fas/fars_tail.py +2 -2
  393. mteb/tasks/pair_classification/hye/armenian_paraphrase_pc.py +1 -1
  394. mteb/tasks/pair_classification/ita/dis_co_tex_pair_classification.py +1 -1
  395. mteb/tasks/pair_classification/kor/klue_nli.py +1 -1
  396. mteb/tasks/pair_classification/multilingual/rte3.py +2 -2
  397. mteb/tasks/pair_classification/multilingual/xnli.py +1 -1
  398. mteb/tasks/pair_classification/pol/polish_pc.py +4 -4
  399. mteb/tasks/pair_classification/por/assin2_rte.py +1 -1
  400. mteb/tasks/pair_classification/por/sick_br_pc.py +1 -1
  401. mteb/tasks/pair_classification/rus/terra.py +2 -2
  402. mteb/tasks/pair_classification/vie/sprint_duplicate_questions_pcvn.py +1 -1
  403. mteb/tasks/pair_classification/vie/twitter_sem_eval2015_pcvn.py +1 -1
  404. mteb/tasks/pair_classification/vie/twitter_url_corpus_pcvn.py +1 -1
  405. mteb/tasks/pair_classification/zho/cmteb_pair_classification.py +2 -2
  406. mteb/tasks/reranking/multilingual/wikipedia_reranking_multilingual.py +1 -1
  407. mteb/tasks/retrieval/ara/sadeem_question_retrieval.py +1 -1
  408. mteb/tasks/retrieval/code/code_edit_search_retrieval.py +1 -1
  409. mteb/tasks/retrieval/code/code_rag.py +16 -16
  410. mteb/tasks/retrieval/code/code_search_net_cc_retrieval.py +1 -1
  411. mteb/tasks/retrieval/code/coir_code_search_net_retrieval.py +1 -1
  412. mteb/tasks/retrieval/code/ds1000_retrieval.py +1 -1
  413. mteb/tasks/retrieval/code/fresh_stack_retrieval.py +1 -1
  414. mteb/tasks/retrieval/code/human_eval_retrieval.py +1 -1
  415. mteb/tasks/retrieval/code/mbpp_retrieval.py +1 -1
  416. mteb/tasks/retrieval/code/wiki_sql_retrieval.py +1 -1
  417. mteb/tasks/retrieval/dan/dan_fever_retrieval.py +2 -2
  418. mteb/tasks/retrieval/dan/tv2_nordretrieval.py +3 -3
  419. mteb/tasks/retrieval/dan/twitter_hjerne_retrieval.py +3 -3
  420. mteb/tasks/retrieval/deu/german_gov_service_retrieval.py +1 -1
  421. mteb/tasks/retrieval/deu/german_qu_ad_retrieval.py +1 -1
  422. mteb/tasks/retrieval/ell/greek_civics_qa.py +1 -1
  423. mteb/tasks/retrieval/eng/__init__.py +44 -0
  424. mteb/tasks/retrieval/eng/bright_retrieval.py +10 -2
  425. mteb/tasks/retrieval/eng/bright_v1_1_retrieval.py +968 -0
  426. mteb/tasks/retrieval/eng/chat_doctor_retrieval.py +1 -1
  427. mteb/tasks/retrieval/eng/chemrxiv.py +33 -0
  428. mteb/tasks/retrieval/eng/cub200_i2i_retrieval.py +1 -1
  429. mteb/tasks/retrieval/eng/fin_qa_retrieval.py +1 -1
  430. mteb/tasks/retrieval/eng/finance_bench_retrieval.py +1 -1
  431. mteb/tasks/retrieval/eng/hateful_memes_i2t_retrieval.py +1 -1
  432. mteb/tasks/retrieval/eng/hateful_memes_t2i_retrieval.py +1 -1
  433. mteb/tasks/retrieval/eng/hc3_finance_retrieval.py +1 -1
  434. mteb/tasks/retrieval/eng/lemb_narrative_qa_retrieval.py +1 -1
  435. mteb/tasks/retrieval/eng/lemb_needle_retrieval.py +1 -1
  436. mteb/tasks/retrieval/eng/lemb_passkey_retrieval.py +1 -1
  437. mteb/tasks/retrieval/eng/lemb_summ_screen_fd_retrieval.py +1 -1
  438. mteb/tasks/retrieval/eng/lemb_wikim_qa_retrieval.py +1 -1
  439. mteb/tasks/retrieval/eng/lembqm_sum_retrieval.py +1 -1
  440. mteb/tasks/retrieval/eng/limit_retrieval.py +6 -1
  441. mteb/tasks/retrieval/eng/lit_search_retrieval.py +1 -1
  442. mteb/tasks/retrieval/eng/memotion_i2t_retrieval.py +1 -1
  443. mteb/tasks/retrieval/eng/memotion_t2i_retrieval.py +1 -1
  444. mteb/tasks/retrieval/eng/ml_questions.py +1 -1
  445. mteb/tasks/retrieval/eng/nano_argu_ana_retrieval.py +1 -1
  446. mteb/tasks/retrieval/eng/nano_climate_fever_retrieval.py +1 -1
  447. mteb/tasks/retrieval/eng/nano_db_pedia_retrieval.py +1 -1
  448. mteb/tasks/retrieval/eng/nano_fever_retrieval.py +1 -1
  449. mteb/tasks/retrieval/eng/nano_fi_qa2018_retrieval.py +1 -1
  450. mteb/tasks/retrieval/eng/nano_hotpot_qa_retrieval.py +1 -1
  451. mteb/tasks/retrieval/eng/nano_msmarco_retrieval.py +1 -1
  452. mteb/tasks/retrieval/eng/nano_nf_corpus_retrieval.py +1 -1
  453. mteb/tasks/retrieval/eng/nano_nq_retrieval.py +1 -1
  454. mteb/tasks/retrieval/eng/nano_quora_retrieval.py +1 -1
  455. mteb/tasks/retrieval/eng/nano_sci_fact_retrieval.py +1 -1
  456. mteb/tasks/retrieval/eng/nano_scidocs_retrieval.py +1 -1
  457. mteb/tasks/retrieval/eng/nano_touche2020_retrieval.py +1 -1
  458. mteb/tasks/retrieval/eng/narrative_qa_retrieval.py +1 -1
  459. mteb/tasks/retrieval/eng/r2_med_retrieval.py +8 -8
  460. mteb/tasks/retrieval/eng/sci_mmir_i2t_retrieval.py +1 -1
  461. mteb/tasks/retrieval/eng/sci_mmir_t2i_retrieval.py +1 -1
  462. mteb/tasks/retrieval/eng/vidore_bench_retrieval.py +10 -10
  463. mteb/tasks/retrieval/fra/f_qu_ad_retrieval.py +1 -1
  464. mteb/tasks/retrieval/fra/syntec_retrieval.py +1 -1
  465. mteb/tasks/retrieval/hun/hun_sum2.py +1 -1
  466. mteb/tasks/retrieval/kat/georgian_faq_retrieval.py +1 -1
  467. mteb/tasks/retrieval/kor/__init__.py +15 -1
  468. mteb/tasks/retrieval/kor/kovidore2_bench_retrieval.py +142 -0
  469. mteb/tasks/retrieval/multilingual/__init__.py +2 -0
  470. mteb/tasks/retrieval/multilingual/cross_lingual_semantic_discrimination_wmt19.py +1 -1
  471. mteb/tasks/retrieval/multilingual/cross_lingual_semantic_discrimination_wmt21.py +1 -1
  472. mteb/tasks/retrieval/multilingual/cur_ev1_retrieval.py +1 -1
  473. mteb/tasks/retrieval/multilingual/euro_pirq_retrieval.py +43 -0
  474. mteb/tasks/retrieval/multilingual/jina_vdr_bench_retrieval.py +1 -1
  475. mteb/tasks/retrieval/multilingual/miracl_vision_retrieval.py +1 -1
  476. mteb/tasks/retrieval/multilingual/mr_tidy_retrieval.py +1 -1
  477. mteb/tasks/retrieval/multilingual/public_health_qa_retrieval.py +1 -1
  478. mteb/tasks/retrieval/multilingual/ru_sci_bench_retrieval.py +5 -5
  479. mteb/tasks/retrieval/multilingual/statcan_dialogue_dataset_retrieval.py +1 -1
  480. mteb/tasks/retrieval/multilingual/vdr_multilingual_retrieval.py +1 -1
  481. mteb/tasks/retrieval/multilingual/vidore2_bench_retrieval.py +14 -4
  482. mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +90 -100
  483. mteb/tasks/retrieval/multilingual/wit_t2i_retrieval.py +1 -1
  484. mteb/tasks/retrieval/multilingual/x_flickr30k_co_t2i_retrieval.py +1 -1
  485. mteb/tasks/retrieval/multilingual/x_qu_ad_retrieval.py +1 -1
  486. mteb/tasks/retrieval/multilingual/xm3600_t2i_retrieval.py +1 -1
  487. mteb/tasks/retrieval/nld/cqa_dupstack_android_nl_retrieval.py +1 -1
  488. mteb/tasks/retrieval/nld/cqa_dupstack_english_nl_retrieval.py +1 -1
  489. mteb/tasks/retrieval/nld/cqa_dupstack_gaming_nl_retrieval.py +1 -1
  490. mteb/tasks/retrieval/nld/cqa_dupstack_gis_nl_retrieval.py +1 -1
  491. mteb/tasks/retrieval/nld/cqa_dupstack_mathematica_nl_retrieval.py +1 -1
  492. mteb/tasks/retrieval/nld/cqa_dupstack_physics_nl_retrieval.py +1 -1
  493. mteb/tasks/retrieval/nld/cqa_dupstack_programmers_nl_retrieval.py +1 -1
  494. mteb/tasks/retrieval/nld/cqa_dupstack_stats_nl_retrieval.py +1 -1
  495. mteb/tasks/retrieval/nld/cqa_dupstack_tex_nl_retrieval.py +1 -1
  496. mteb/tasks/retrieval/nld/cqa_dupstack_unix_nl_retrieval.py +1 -1
  497. mteb/tasks/retrieval/nld/cqa_dupstack_webmasters_nl_retrieval.py +1 -1
  498. mteb/tasks/retrieval/nld/cqa_dupstack_wordpress_nl_retrieval.py +1 -1
  499. mteb/tasks/retrieval/nob/norquad.py +3 -3
  500. mteb/tasks/retrieval/nob/snl_retrieval.py +3 -3
  501. mteb/tasks/retrieval/slk/slovak_sum_retrieval.py +1 -1
  502. mteb/tasks/retrieval/tur/tur_hist_quad.py +1 -1
  503. mteb/tasks/retrieval/vie/__init__.py +14 -6
  504. mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +39 -0
  505. mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +39 -0
  506. mteb/tasks/retrieval/vie/fevervn_retrieval.py +39 -0
  507. mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +39 -0
  508. mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +48 -0
  509. mteb/tasks/retrieval/vie/nqvn_retrieval.py +39 -0
  510. mteb/tasks/retrieval/vie/tvpl_retrieval.py +42 -0
  511. mteb/tasks/retrieval/vie/vie_qu_ad_retrieval.py +1 -1
  512. mteb/tasks/retrieval/vie/zac_legal_text_retrieval.py +15 -1
  513. mteb/tasks/sts/fao/faroese_sts.py +1 -1
  514. mteb/tasks/sts/fra/sick_fr_sts.py +1 -1
  515. mteb/tasks/sts/kor/klue_sts.py +1 -1
  516. mteb/tasks/sts/por/sick_br_sts.py +1 -1
  517. mteb/tasks/sts/rus/ru_para_phraser_sts.py +1 -1
  518. mteb/tasks/zeroshot_classification/eng/sci_mmir.py +1 -1
  519. mteb/types/__init__.py +2 -0
  520. mteb/types/_encoder_io.py +13 -1
  521. mteb/types/_result.py +2 -1
  522. mteb/types/statistics.py +18 -5
  523. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/METADATA +15 -4
  524. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/RECORD +528 -486
  525. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/WHEEL +1 -1
  526. mteb/models/model_implementations/mxbai_models.py +0 -111
  527. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/entry_points.txt +0 -0
  528. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/licenses/LICENSE +0 -0
  529. {mteb-2.5.2.dist-info → mteb-2.7.9.dist-info}/top_level.txt +0 -0
@@ -1,13 +1,18 @@
1
- from typing import Any
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
2
4
 
3
5
  import torch
4
- from torch.utils.data import DataLoader
5
6
  from tqdm.auto import tqdm
6
7
 
7
- from mteb.abstasks.task_metadata import TaskMetadata
8
8
  from mteb.models.abs_encoder import AbsEncoder
9
9
  from mteb.models.model_meta import ModelMeta, ScoringFunction
10
- from mteb.types import Array, BatchedInput, PromptType
10
+
11
+ if TYPE_CHECKING:
12
+ from torch.utils.data import DataLoader
13
+
14
+ from mteb.abstasks.task_metadata import TaskMetadata
15
+ from mteb.types import Array, BatchedInput, PromptType
11
16
 
12
17
  SIGLIP_CITATION = """@misc{zhai2023sigmoid,
13
18
  title={Sigmoid Loss for Language Image Pre-Training},
@@ -123,7 +128,7 @@ siglip_training_datasets = set(
123
128
  )
124
129
 
125
130
  siglip_so400m_patch14_224 = ModelMeta(
126
- loader=SiglipModelWrapper, # type: ignore
131
+ loader=SiglipModelWrapper,
127
132
  name="google/siglip-so400m-patch14-224",
128
133
  model_type=["dense"],
129
134
  languages=["eng-Latn"],
@@ -131,6 +136,7 @@ siglip_so400m_patch14_224 = ModelMeta(
131
136
  release_date="2024-01-08",
132
137
  modalities=["image", "text"],
133
138
  n_parameters=877_000_000,
139
+ n_embedding_parameters=None,
134
140
  memory_usage_mb=3347,
135
141
  max_tokens=16,
136
142
  embed_dim=1152,
@@ -138,7 +144,7 @@ siglip_so400m_patch14_224 = ModelMeta(
138
144
  open_weights=True,
139
145
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
140
146
  public_training_data=None,
141
- framework=["PyTorch"],
147
+ framework=["PyTorch", "Transformers", "safetensors"],
142
148
  reference="https://huggingface.co/google/siglip-so400m-patch14-224",
143
149
  similarity_fn_name=ScoringFunction.COSINE,
144
150
  use_instructions=False,
@@ -147,7 +153,7 @@ siglip_so400m_patch14_224 = ModelMeta(
147
153
  )
148
154
 
149
155
  siglip_so400m_patch14_384 = ModelMeta(
150
- loader=SiglipModelWrapper, # type: ignore
156
+ loader=SiglipModelWrapper,
151
157
  name="google/siglip-so400m-patch14-384",
152
158
  model_type=["dense"],
153
159
  languages=["eng-Latn"],
@@ -155,6 +161,7 @@ siglip_so400m_patch14_384 = ModelMeta(
155
161
  release_date="2024-01-08",
156
162
  modalities=["image", "text"],
157
163
  n_parameters=878_000_000,
164
+ n_embedding_parameters=None,
158
165
  memory_usage_mb=3349,
159
166
  max_tokens=64,
160
167
  embed_dim=1152,
@@ -162,7 +169,7 @@ siglip_so400m_patch14_384 = ModelMeta(
162
169
  open_weights=True,
163
170
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
164
171
  public_training_data=None,
165
- framework=["PyTorch"],
172
+ framework=["PyTorch", "Transformers", "safetensors"],
166
173
  reference="https://huggingface.co/google/siglip-so400m-patch14-384",
167
174
  similarity_fn_name=ScoringFunction.COSINE,
168
175
  use_instructions=False,
@@ -171,7 +178,7 @@ siglip_so400m_patch14_384 = ModelMeta(
171
178
  )
172
179
 
173
180
  siglip_so400m_patch16_256_i18n = ModelMeta(
174
- loader=SiglipModelWrapper, # type: ignore
181
+ loader=SiglipModelWrapper,
175
182
  name="google/siglip-so400m-patch16-256-i18n",
176
183
  model_type=["dense"],
177
184
  languages=["eng-Latn"],
@@ -179,6 +186,7 @@ siglip_so400m_patch16_256_i18n = ModelMeta(
179
186
  release_date="2024-01-08",
180
187
  modalities=["image", "text"],
181
188
  n_parameters=1_130_000_000,
189
+ n_embedding_parameters=None,
182
190
  memory_usage_mb=4306,
183
191
  max_tokens=64,
184
192
  embed_dim=1152,
@@ -186,7 +194,7 @@ siglip_so400m_patch16_256_i18n = ModelMeta(
186
194
  open_weights=True,
187
195
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
188
196
  public_training_data=None,
189
- framework=["PyTorch"],
197
+ framework=["PyTorch", "Transformers", "safetensors"],
190
198
  reference="https://huggingface.co/google/siglip-so400m-patch16-256-i18n",
191
199
  similarity_fn_name=ScoringFunction.COSINE,
192
200
  use_instructions=False,
@@ -195,7 +203,7 @@ siglip_so400m_patch16_256_i18n = ModelMeta(
195
203
  )
196
204
 
197
205
  siglip_base_patch16_256_multilingual = ModelMeta(
198
- loader=SiglipModelWrapper, # type: ignore
206
+ loader=SiglipModelWrapper,
199
207
  name="google/siglip-base-patch16-256-multilingual",
200
208
  model_type=["dense"],
201
209
  languages=["eng-Latn"],
@@ -203,6 +211,7 @@ siglip_base_patch16_256_multilingual = ModelMeta(
203
211
  release_date="2024-01-08",
204
212
  modalities=["image", "text"],
205
213
  n_parameters=371_000_000,
214
+ n_embedding_parameters=None,
206
215
  memory_usage_mb=1414,
207
216
  max_tokens=64,
208
217
  embed_dim=768,
@@ -210,7 +219,7 @@ siglip_base_patch16_256_multilingual = ModelMeta(
210
219
  open_weights=True,
211
220
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
212
221
  public_training_data=None,
213
- framework=["PyTorch"],
222
+ framework=["PyTorch", "Transformers", "safetensors"],
214
223
  reference="https://huggingface.co/google/siglip-base-patch16-256-multilingual",
215
224
  similarity_fn_name=ScoringFunction.COSINE,
216
225
  use_instructions=False,
@@ -219,7 +228,7 @@ siglip_base_patch16_256_multilingual = ModelMeta(
219
228
  )
220
229
 
221
230
  siglip_base_patch16_256 = ModelMeta(
222
- loader=SiglipModelWrapper, # type: ignore
231
+ loader=SiglipModelWrapper,
223
232
  name="google/siglip-base-patch16-256",
224
233
  model_type=["dense"],
225
234
  languages=["eng-Latn"],
@@ -227,6 +236,7 @@ siglip_base_patch16_256 = ModelMeta(
227
236
  release_date="2024-01-08",
228
237
  modalities=["image", "text"],
229
238
  n_parameters=203_000_000,
239
+ n_embedding_parameters=None,
230
240
  memory_usage_mb=775,
231
241
  max_tokens=64,
232
242
  embed_dim=768,
@@ -234,7 +244,7 @@ siglip_base_patch16_256 = ModelMeta(
234
244
  open_weights=True,
235
245
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
236
246
  public_training_data=None,
237
- framework=["PyTorch"],
247
+ framework=["PyTorch", "Transformers", "safetensors"],
238
248
  reference="https://huggingface.co/google/siglip-base-patch16-256",
239
249
  similarity_fn_name=ScoringFunction.COSINE,
240
250
  use_instructions=False,
@@ -243,7 +253,7 @@ siglip_base_patch16_256 = ModelMeta(
243
253
  )
244
254
 
245
255
  siglip_base_patch16_512 = ModelMeta(
246
- loader=SiglipModelWrapper, # type: ignore
256
+ loader=SiglipModelWrapper,
247
257
  name="google/siglip-base-patch16-512",
248
258
  model_type=["dense"],
249
259
  languages=["eng-Latn"],
@@ -251,6 +261,7 @@ siglip_base_patch16_512 = ModelMeta(
251
261
  release_date="2024-01-08",
252
262
  modalities=["image", "text"],
253
263
  n_parameters=204_000_000,
264
+ n_embedding_parameters=None,
254
265
  memory_usage_mb=777,
255
266
  max_tokens=64,
256
267
  embed_dim=768,
@@ -258,7 +269,7 @@ siglip_base_patch16_512 = ModelMeta(
258
269
  open_weights=True,
259
270
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
260
271
  public_training_data=None,
261
- framework=["PyTorch"],
272
+ framework=["PyTorch", "Transformers", "safetensors"],
262
273
  reference="https://huggingface.co/google/siglip-base-patch16-512",
263
274
  similarity_fn_name=ScoringFunction.COSINE,
264
275
  use_instructions=False,
@@ -267,7 +278,7 @@ siglip_base_patch16_512 = ModelMeta(
267
278
  )
268
279
 
269
280
  siglip_base_patch16_384 = ModelMeta(
270
- loader=SiglipModelWrapper, # type: ignore
281
+ loader=SiglipModelWrapper,
271
282
  name="google/siglip-base-patch16-384",
272
283
  model_type=["dense"],
273
284
  languages=["eng-Latn"],
@@ -275,6 +286,7 @@ siglip_base_patch16_384 = ModelMeta(
275
286
  release_date="2024-01-08",
276
287
  modalities=["image", "text"],
277
288
  n_parameters=203_000_000,
289
+ n_embedding_parameters=None,
278
290
  memory_usage_mb=776,
279
291
  max_tokens=64,
280
292
  embed_dim=768,
@@ -282,7 +294,7 @@ siglip_base_patch16_384 = ModelMeta(
282
294
  open_weights=True,
283
295
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
284
296
  public_training_data=None,
285
- framework=["PyTorch"],
297
+ framework=["PyTorch", "Transformers", "safetensors"],
286
298
  reference="https://huggingface.co/google/siglip-base-patch16-384",
287
299
  similarity_fn_name=ScoringFunction.COSINE,
288
300
  use_instructions=False,
@@ -291,7 +303,7 @@ siglip_base_patch16_384 = ModelMeta(
291
303
  )
292
304
 
293
305
  siglip_base_patch16_224 = ModelMeta(
294
- loader=SiglipModelWrapper, # type: ignore
306
+ loader=SiglipModelWrapper,
295
307
  name="google/siglip-base-patch16-224",
296
308
  model_type=["dense"],
297
309
  languages=["eng-Latn"],
@@ -299,6 +311,7 @@ siglip_base_patch16_224 = ModelMeta(
299
311
  release_date="2024-01-08",
300
312
  modalities=["image", "text"],
301
313
  n_parameters=203_000_000,
314
+ n_embedding_parameters=None,
302
315
  memory_usage_mb=775,
303
316
  max_tokens=64,
304
317
  embed_dim=768,
@@ -306,7 +319,7 @@ siglip_base_patch16_224 = ModelMeta(
306
319
  open_weights=True,
307
320
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
308
321
  public_training_data=None,
309
- framework=["PyTorch"],
322
+ framework=["PyTorch", "Transformers", "safetensors"],
310
323
  reference="https://huggingface.co/google/siglip-base-patch16-224",
311
324
  similarity_fn_name=ScoringFunction.COSINE,
312
325
  use_instructions=False,
@@ -315,7 +328,7 @@ siglip_base_patch16_224 = ModelMeta(
315
328
  )
316
329
 
317
330
  siglip_large_patch16_256 = ModelMeta(
318
- loader=SiglipModelWrapper, # type: ignore
331
+ loader=SiglipModelWrapper,
319
332
  name="google/siglip-large-patch16-256",
320
333
  model_type=["dense"],
321
334
  languages=["eng-Latn"],
@@ -323,6 +336,7 @@ siglip_large_patch16_256 = ModelMeta(
323
336
  release_date="2024-01-08",
324
337
  modalities=["image", "text"],
325
338
  n_parameters=652_000_000,
339
+ n_embedding_parameters=None,
326
340
  memory_usage_mb=2488,
327
341
  max_tokens=64,
328
342
  embed_dim=1024,
@@ -330,7 +344,7 @@ siglip_large_patch16_256 = ModelMeta(
330
344
  open_weights=True,
331
345
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
332
346
  public_training_data=None,
333
- framework=["PyTorch"],
347
+ framework=["PyTorch", "Transformers", "safetensors"],
334
348
  reference="https://huggingface.co/google/siglip-large-patch16-256",
335
349
  similarity_fn_name=ScoringFunction.COSINE,
336
350
  use_instructions=False,
@@ -339,7 +353,7 @@ siglip_large_patch16_256 = ModelMeta(
339
353
  )
340
354
 
341
355
  siglip_large_patch16_384 = ModelMeta(
342
- loader=SiglipModelWrapper, # type: ignore
356
+ loader=SiglipModelWrapper,
343
357
  name="google/siglip-large-patch16-384",
344
358
  model_type=["dense"],
345
359
  languages=["eng-Latn"],
@@ -347,6 +361,7 @@ siglip_large_patch16_384 = ModelMeta(
347
361
  release_date="2024-01-08",
348
362
  modalities=["image", "text"],
349
363
  n_parameters=652_000_000,
364
+ n_embedding_parameters=None,
350
365
  memory_usage_mb=2489,
351
366
  max_tokens=64,
352
367
  embed_dim=1024,
@@ -354,7 +369,7 @@ siglip_large_patch16_384 = ModelMeta(
354
369
  open_weights=True,
355
370
  public_training_code="https://github.com/google-research/big_vision/blob/main/big_vision/trainers/proj/image_text/siglip.py",
356
371
  public_training_data=None,
357
- framework=["PyTorch"],
372
+ framework=["PyTorch", "Transformers", "safetensors"],
358
373
  reference="https://huggingface.co/google/siglip-large-patch16-384",
359
374
  similarity_fn_name=ScoringFunction.COSINE,
360
375
  use_instructions=False,
@@ -0,0 +1,419 @@
1
+ """
2
+ SauerkrautLM Visual Document Retrieval Models - MTEB Integration
3
+
4
+ This module provides MTEB wrappers for SauerkrautLM ColPali-style models:
5
+ - SLM-ColQwen3 (Qwen3-VL backbone)
6
+ - SLM-ColLFM2 (LFM2 backbone)
7
+ - SLM-ColMinistral3 (Ministral3 backbone)
8
+
9
+ Based on:
10
+ - MTEB ColPali implementation: mteb/models/model_implementations/colpali_models.py
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ import logging
16
+ from typing import TYPE_CHECKING, Any
17
+
18
+ import torch
19
+ from tqdm.auto import tqdm
20
+
21
+ from mteb._requires_package import (
22
+ requires_image_dependencies,
23
+ requires_package,
24
+ )
25
+ from mteb.models.abs_encoder import AbsEncoder
26
+ from mteb.models.model_implementations.colpali_models import (
27
+ COLPALI_CITATION,
28
+ COLPALI_TRAINING_DATA,
29
+ )
30
+ from mteb.models.model_meta import ModelMeta, ScoringFunction
31
+
32
+ if TYPE_CHECKING:
33
+ from torch.utils.data import DataLoader
34
+
35
+ from mteb.abstasks.task_metadata import TaskMetadata
36
+ from mteb.types import Array, BatchedInput, PromptType
37
+
38
+ logger = logging.getLogger(__name__)
39
+
40
+
41
+ SUPPORTED_LANGUAGES = [
42
+ "eng-Latn", # English
43
+ "deu-Latn", # German
44
+ "fra-Latn", # French
45
+ "spa-Latn", # Spanish
46
+ "ita-Latn", # Italian
47
+ "por-Latn", # Portuguese
48
+ ]
49
+
50
+
51
+ class SLMBaseWrapper(AbsEncoder):
52
+ """
53
+ Base wrapper for SauerkrautLM multi-vector embedding models.
54
+
55
+ All our models use late interaction (MaxSim) for retrieval scoring.
56
+ """
57
+
58
+ model_class = None
59
+ processor_class = None
60
+ model_name_prefix = "SLM"
61
+
62
+ def __init__(
63
+ self,
64
+ model_name: str,
65
+ revision: str | None = None,
66
+ device: str | None = None,
67
+ use_flash_attn: bool = True,
68
+ **kwargs,
69
+ ):
70
+ requires_image_dependencies()
71
+ requires_package(
72
+ self, "sauerkrautlm_colpali", model_name, "pip install sauerkrautlm-colpali"
73
+ )
74
+
75
+ self.device = device or ("cuda" if torch.cuda.is_available() else "cpu")
76
+ self._load_model_and_processor(model_name, revision, use_flash_attn, **kwargs)
77
+ self.mdl = self.mdl.to(self.device)
78
+ self.mdl.eval()
79
+
80
+ def _load_model_and_processor(self, model_name, revision, use_flash_attn, **kwargs):
81
+ """Override in subclasses to load specific model/processor."""
82
+ raise NotImplementedError
83
+
84
+ def encode(
85
+ self,
86
+ inputs: DataLoader[BatchedInput],
87
+ *,
88
+ task_metadata: TaskMetadata,
89
+ hf_split: str,
90
+ hf_subset: str,
91
+ prompt_type: PromptType | None = None,
92
+ **kwargs: Any,
93
+ ) -> Array:
94
+ text_embeddings = None
95
+ image_embeddings = None
96
+
97
+ if "text" in inputs.dataset.features:
98
+ text_embeddings = self.get_text_embeddings(inputs, **kwargs)
99
+ if "image" in inputs.dataset.features:
100
+ image_embeddings = self.get_image_embeddings(inputs, **kwargs)
101
+
102
+ if text_embeddings is not None and image_embeddings is not None:
103
+ if len(text_embeddings) != len(image_embeddings):
104
+ raise ValueError(
105
+ "The number of texts and images must have the same length"
106
+ )
107
+ fused_embeddings = text_embeddings + image_embeddings
108
+ return fused_embeddings
109
+ elif text_embeddings is not None:
110
+ return text_embeddings
111
+ elif image_embeddings is not None:
112
+ return image_embeddings
113
+ raise ValueError("No text or image features found in inputs")
114
+
115
+ def encode_input(self, inputs):
116
+ """Forward pass through the model."""
117
+ return self.mdl(**inputs)
118
+
119
+ def _move_to_device(self, inputs: dict) -> dict:
120
+ """Move all tensor inputs to the model's device."""
121
+ result = {}
122
+ for k, v in inputs.items():
123
+ if isinstance(v, torch.Tensor):
124
+ result[k] = v.to(self.device)
125
+ else:
126
+ result[k] = v
127
+ return result
128
+
129
+ def get_image_embeddings(
130
+ self,
131
+ images: DataLoader,
132
+ batch_size: int = 32,
133
+ **kwargs,
134
+ ) -> torch.Tensor:
135
+ import torchvision.transforms.functional as F
136
+
137
+ all_embeds = []
138
+
139
+ with torch.no_grad():
140
+ for batch in tqdm(images, desc="Encoding images"):
141
+ from PIL import Image
142
+
143
+ imgs = [
144
+ F.to_pil_image(b) if not isinstance(b, Image.Image) else b
145
+ for b in batch["image"]
146
+ ]
147
+ inputs = self.processor.process_images(imgs)
148
+ inputs = self._move_to_device(inputs)
149
+ outs = self.encode_input(inputs)
150
+ all_embeds.extend(outs.cpu().to(torch.float32))
151
+
152
+ padded = torch.nn.utils.rnn.pad_sequence(
153
+ all_embeds, batch_first=True, padding_value=0
154
+ )
155
+ return padded
156
+
157
+ def get_text_embeddings(
158
+ self,
159
+ texts: DataLoader,
160
+ batch_size: int = 32,
161
+ **kwargs,
162
+ ) -> torch.Tensor:
163
+ all_embeds = []
164
+
165
+ with torch.no_grad():
166
+ for batch in tqdm(texts, desc="Encoding texts"):
167
+ inputs = self.processor.process_queries(batch["text"])
168
+ inputs = self._move_to_device(inputs)
169
+ outs = self.encode_input(inputs)
170
+ all_embeds.extend(outs.cpu().to(torch.float32))
171
+
172
+ padded = torch.nn.utils.rnn.pad_sequence(
173
+ all_embeds, batch_first=True, padding_value=0
174
+ )
175
+ return padded
176
+
177
+ def calculate_probs(
178
+ self,
179
+ text_embeddings: torch.Tensor,
180
+ image_embeddings: torch.Tensor,
181
+ ) -> torch.Tensor:
182
+ scores = self.similarity(text_embeddings, image_embeddings).T
183
+ return scores.softmax(dim=-1)
184
+
185
+ def similarity(
186
+ self,
187
+ a: torch.Tensor | list,
188
+ b: torch.Tensor | list,
189
+ ) -> torch.Tensor:
190
+ return self.processor.score(a, b, device=self.device)
191
+
192
+
193
+ class SLMColQwen3Wrapper(SLMBaseWrapper):
194
+ """Wrapper for SLM-ColQwen3 models (Qwen3-VL backbone)."""
195
+
196
+ def _load_model_and_processor(self, model_name, revision, use_flash_attn, **kwargs):
197
+ from sauerkrautlm_colpali.models.qwen3.colqwen3 import (
198
+ ColQwen3,
199
+ ColQwen3Processor,
200
+ )
201
+
202
+ self.mdl = ColQwen3.from_pretrained(
203
+ model_name,
204
+ torch_dtype=torch.bfloat16,
205
+ attn_implementation="flash_attention_2" if use_flash_attn else "eager",
206
+ revision=revision,
207
+ **kwargs,
208
+ )
209
+
210
+ self.processor = ColQwen3Processor.from_pretrained(
211
+ model_name,
212
+ revision=revision,
213
+ )
214
+
215
+ logger.info(f"SLM-ColQwen3 loaded: dim={self.mdl.dim}, device={self.device}")
216
+
217
+
218
+ class SLMColLFM2Wrapper(SLMBaseWrapper):
219
+ """Wrapper for SLM-ColLFM2 models (LFM2 backbone)."""
220
+
221
+ def _load_model_and_processor(self, model_name, revision, use_flash_attn, **kwargs):
222
+ from sauerkrautlm_colpali.models.lfm2.collfm2 import ColLFM2, ColLFM2Processor
223
+
224
+ self.mdl = ColLFM2.from_pretrained(
225
+ model_name,
226
+ torch_dtype=torch.bfloat16,
227
+ revision=revision,
228
+ **kwargs,
229
+ )
230
+
231
+ self.processor = ColLFM2Processor.from_pretrained(
232
+ model_name,
233
+ revision=revision,
234
+ )
235
+
236
+ logger.info(f"SLM-ColLFM2 loaded: dim={self.mdl.dim}, device={self.device}")
237
+
238
+
239
+ class SLMColMinistral3Wrapper(SLMBaseWrapper):
240
+ """Wrapper for SLM-ColMinistral3 models (Ministral3 backbone)."""
241
+
242
+ def _load_model_and_processor(self, model_name, revision, use_flash_attn, **kwargs):
243
+ from sauerkrautlm_colpali.models.ministral3.colministral3 import (
244
+ ColMinistral3,
245
+ ColMinistral3Processor,
246
+ )
247
+
248
+ self.mdl = ColMinistral3.from_pretrained(
249
+ model_name,
250
+ torch_dtype=torch.bfloat16,
251
+ )
252
+
253
+ self.processor = ColMinistral3Processor.from_pretrained(model_name)
254
+
255
+ logger.info(
256
+ f"SLM-ColMinistral3 loaded: dim={self.mdl.dim}, device={self.device}"
257
+ )
258
+
259
+
260
+ SAUERKRAUTLM_CITATION = """
261
+ @misc{sauerkrautlm-colpali-2025,
262
+ title={SauerkrautLM-ColPali: Multi-Vector Vision Retrieval Models},
263
+ author={David Golchinfar},
264
+ organization={VAGO Solutions},
265
+ year={2025},
266
+ url={https://github.com/VAGOsolutions/sauerkrautlm-colpali}
267
+ }
268
+ """
269
+
270
+
271
+ slm_colqwen3_1_7b_turbo = ModelMeta(
272
+ loader=SLMColQwen3Wrapper,
273
+ name="VAGOsolutions/SauerkrautLM-ColQwen3-1.7b-Turbo-v0.1",
274
+ languages=SUPPORTED_LANGUAGES,
275
+ revision="19c295a18e057d6d82754f627c09408117ffdb66",
276
+ release_date="2025-12-20",
277
+ modalities=["image", "text"],
278
+ model_type=["late-interaction"],
279
+ n_parameters=1_756_572_288,
280
+ memory_usage_mb=3350,
281
+ max_tokens=262144,
282
+ embed_dim=128,
283
+ license="apache-2.0",
284
+ open_weights=True,
285
+ public_training_code=None,
286
+ public_training_data=None,
287
+ framework=["ColPali"],
288
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColQwen3-1.7b-Turbo-v0.1",
289
+ similarity_fn_name=ScoringFunction.MAX_SIM,
290
+ use_instructions=True,
291
+ adapted_from="Qwen/Qwen3-VL-2B-Instruct",
292
+ training_datasets=COLPALI_TRAINING_DATA,
293
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
294
+ )
295
+
296
+ slm_colqwen3_2b = ModelMeta(
297
+ loader=SLMColQwen3Wrapper,
298
+ name="VAGOsolutions/SauerkrautLM-ColQwen3-2b-v0.1",
299
+ languages=SUPPORTED_LANGUAGES,
300
+ revision="48f699713c10af754684e12060a2af9266462cc9",
301
+ release_date="2025-12-20",
302
+ modalities=["image", "text"],
303
+ model_type=["late-interaction"],
304
+ n_parameters=2_127_794_304,
305
+ memory_usage_mb=4058,
306
+ max_tokens=262144,
307
+ embed_dim=128,
308
+ license="apache-2.0",
309
+ open_weights=True,
310
+ public_training_code=None,
311
+ public_training_data=None,
312
+ framework=["ColPali"],
313
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColQwen3-2b-v0.1",
314
+ similarity_fn_name=ScoringFunction.MAX_SIM,
315
+ use_instructions=True,
316
+ adapted_from="Qwen/Qwen3-VL-2B-Instruct",
317
+ training_datasets=COLPALI_TRAINING_DATA,
318
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
319
+ )
320
+
321
+ slm_colqwen3_4b = ModelMeta(
322
+ loader=SLMColQwen3Wrapper,
323
+ name="VAGOsolutions/SauerkrautLM-ColQwen3-4b-v0.1",
324
+ languages=SUPPORTED_LANGUAGES,
325
+ revision="b635fbb3ab145f07608ed10a85def33544de1723",
326
+ release_date="2025-12-20",
327
+ modalities=["image", "text"],
328
+ model_type=["late-interaction"],
329
+ n_parameters=4_438_143_616,
330
+ memory_usage_mb=8465,
331
+ max_tokens=262144,
332
+ embed_dim=128,
333
+ license="apache-2.0",
334
+ open_weights=True,
335
+ public_training_code=None,
336
+ public_training_data=None,
337
+ framework=["ColPali"],
338
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColQwen3-4b-v0.1",
339
+ similarity_fn_name=ScoringFunction.MAX_SIM,
340
+ use_instructions=True,
341
+ adapted_from="Qwen/Qwen3-VL-4B-Instruct",
342
+ training_datasets=COLPALI_TRAINING_DATA,
343
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
344
+ )
345
+
346
+ slm_colqwen3_8b = ModelMeta(
347
+ loader=SLMColQwen3Wrapper,
348
+ name="VAGOsolutions/SauerkrautLM-ColQwen3-8b-v0.1",
349
+ languages=SUPPORTED_LANGUAGES,
350
+ revision="36ac136e451a7b8d8229725d69d4ec23aa4f03c8",
351
+ release_date="2025-12-20",
352
+ modalities=["image", "text"],
353
+ model_type=["late-interaction"],
354
+ n_parameters=8_145_318_256,
355
+ memory_usage_mb=15536,
356
+ max_tokens=262144,
357
+ embed_dim=128,
358
+ license="apache-2.0",
359
+ open_weights=True,
360
+ public_training_code=None,
361
+ public_training_data=None,
362
+ framework=["ColPali"],
363
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColQwen3-8b-v0.1",
364
+ similarity_fn_name=ScoringFunction.MAX_SIM,
365
+ use_instructions=True,
366
+ adapted_from="Qwen/Qwen3-VL-8B-Instruct",
367
+ training_datasets=COLPALI_TRAINING_DATA,
368
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
369
+ )
370
+
371
+ slm_collfm2_450m = ModelMeta(
372
+ loader=SLMColLFM2Wrapper,
373
+ name="VAGOsolutions/SauerkrautLM-ColLFM2-450M-v0.1",
374
+ languages=SUPPORTED_LANGUAGES,
375
+ revision="a65223fd6633f331ccff4483e47575c3c620dc60",
376
+ release_date="2025-12-20",
377
+ modalities=["image", "text"],
378
+ model_type=["late-interaction"],
379
+ n_parameters=450_953_856,
380
+ memory_usage_mb=860,
381
+ max_tokens=32768,
382
+ embed_dim=128,
383
+ license="https://huggingface.co/LiquidAI/LFM2-VL-450M/blob/main/LICENSE",
384
+ open_weights=True,
385
+ public_training_code=None,
386
+ public_training_data=None,
387
+ framework=["ColPali"],
388
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColLFM2-450M-v0.1",
389
+ similarity_fn_name=ScoringFunction.MAX_SIM,
390
+ use_instructions=True,
391
+ adapted_from="LiquidAI/LFM2-VL-450M",
392
+ training_datasets=COLPALI_TRAINING_DATA,
393
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
394
+ )
395
+
396
+ slm_colministral3_3b = ModelMeta(
397
+ loader=SLMColMinistral3Wrapper,
398
+ name="VAGOsolutions/SauerkrautLM-ColMinistral3-3b-v0.1",
399
+ languages=SUPPORTED_LANGUAGES,
400
+ revision="54aa3ffbbce20471fdcc4afc07d13989c65e71b8",
401
+ release_date="2025-12-20",
402
+ modalities=["image", "text"],
403
+ model_type=["late-interaction"],
404
+ n_parameters=4_252_136_448,
405
+ memory_usage_mb=8110,
406
+ max_tokens=262144,
407
+ embed_dim=128,
408
+ license="apache-2.0",
409
+ open_weights=True,
410
+ public_training_code=None,
411
+ public_training_data=None,
412
+ framework=["ColPali"],
413
+ reference="https://huggingface.co/VAGOsolutions/SauerkrautLM-ColMinistral3-3b-v0.1",
414
+ similarity_fn_name=ScoringFunction.MAX_SIM,
415
+ use_instructions=True,
416
+ adapted_from="mistralai/Ministral-3B-Instruct-2410",
417
+ training_datasets=COLPALI_TRAINING_DATA,
418
+ citation=SAUERKRAUTLM_CITATION + COLPALI_CITATION,
419
+ )
@@ -224,7 +224,8 @@ sonar = ModelMeta(
224
224
  use_instructions=False, # it does take a language code as input
225
225
  revision="a551c586dcf4a49c8fd847de369412d556a7f2f2",
226
226
  release_date="2021-05-21",
227
- n_parameters=None, # it is really multiple models so not sure how to calculate this
227
+ n_parameters=None,
228
+ n_embedding_parameters=None, # it is really multiple models so not sure how to calculate this
228
229
  max_tokens=512, # https://github.com/facebookresearch/SONAR/blob/549d287466443bd8720f938047882630c1c5c3f7/sonar/models/sonar_text/builder.py#L139
229
230
  embed_dim=1024,
230
231
  license="mit",