mteb 2.1.4__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 (527) hide show
  1. mteb/__init__.py +6 -0
  2. mteb/_create_dataloaders.py +22 -20
  3. mteb/_evaluators/any_sts_evaluator.py +23 -14
  4. mteb/_evaluators/classification_metrics.py +54 -0
  5. mteb/_evaluators/clustering_evaluator.py +3 -3
  6. mteb/_evaluators/evaluator.py +4 -2
  7. mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +18 -11
  8. mteb/_evaluators/pair_classification_evaluator.py +34 -40
  9. mteb/_evaluators/retrieval_evaluator.py +2 -2
  10. mteb/_evaluators/retrieval_metrics.py +18 -17
  11. mteb/_evaluators/sklearn_evaluator.py +25 -37
  12. mteb/_evaluators/text/bitext_mining_evaluator.py +31 -19
  13. mteb/_evaluators/text/summarization_evaluator.py +27 -20
  14. mteb/_evaluators/zeroshot_classification_evaluator.py +7 -5
  15. mteb/abstasks/_data_filter/__init__.py +0 -0
  16. mteb/abstasks/_data_filter/filters.py +125 -0
  17. mteb/abstasks/_data_filter/task_pipelines.py +105 -0
  18. mteb/abstasks/_statistics_calculation.py +23 -11
  19. mteb/abstasks/_stratification.py +18 -18
  20. mteb/abstasks/abstask.py +35 -28
  21. mteb/abstasks/aggregate_task_metadata.py +1 -9
  22. mteb/abstasks/aggregated_task.py +10 -29
  23. mteb/abstasks/classification.py +15 -12
  24. mteb/abstasks/clustering.py +20 -16
  25. mteb/abstasks/clustering_legacy.py +13 -10
  26. mteb/abstasks/image/image_text_pair_classification.py +7 -4
  27. mteb/abstasks/multilabel_classification.py +33 -22
  28. mteb/abstasks/pair_classification.py +27 -11
  29. mteb/abstasks/regression.py +4 -4
  30. mteb/abstasks/retrieval.py +28 -24
  31. mteb/abstasks/retrieval_dataset_loaders.py +2 -2
  32. mteb/abstasks/sts.py +14 -4
  33. mteb/abstasks/task_metadata.py +32 -33
  34. mteb/abstasks/text/bitext_mining.py +39 -28
  35. mteb/abstasks/text/reranking.py +8 -6
  36. mteb/abstasks/text/summarization.py +10 -5
  37. mteb/abstasks/zeroshot_classification.py +8 -4
  38. mteb/benchmarks/_create_table.py +84 -37
  39. mteb/benchmarks/benchmark.py +77 -16
  40. mteb/benchmarks/benchmarks/__init__.py +12 -0
  41. mteb/benchmarks/benchmarks/benchmarks.py +361 -16
  42. mteb/benchmarks/get_benchmark.py +14 -53
  43. mteb/cache.py +227 -37
  44. mteb/cli/_display_tasks.py +2 -2
  45. mteb/cli/build_cli.py +110 -14
  46. mteb/cli/generate_model_card.py +43 -23
  47. mteb/deprecated_evaluator.py +71 -62
  48. mteb/descriptive_stats/BitextMining/RuSciBenchBitextMining.v2.json +61 -0
  49. mteb/descriptive_stats/Classification/HebrewSentimentAnalysis.v3.json +60 -0
  50. mteb/descriptive_stats/Classification/TurkishConstitutionalCourtViolation.json +54 -0
  51. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2CybersecurityRetrieval.json +32 -0
  52. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EconomicRetrieval.json +32 -0
  53. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2EnergyRetrieval.json +32 -0
  54. mteb/descriptive_stats/Image/DocumentUnderstanding/KoVidore2HrRetrieval.json +32 -0
  55. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3ComputerScienceRetrieval.json +214 -0
  56. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3EnergyRetrieval.json +214 -0
  57. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceEnRetrieval.json +214 -0
  58. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceFrRetrieval.json +214 -0
  59. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3HrRetrieval.json +214 -0
  60. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3IndustrialRetrieval.json +214 -0
  61. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3NuclearRetrieval.json +214 -0
  62. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PharmaceuticalsRetrieval.json +214 -0
  63. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PhysicsRetrieval.json +214 -0
  64. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3TelecomRetrieval.json +214 -0
  65. mteb/descriptive_stats/PairClassification/TERRa.V2.json +35 -0
  66. mteb/descriptive_stats/Reranking/JQaRARerankingLite.json +35 -0
  67. mteb/descriptive_stats/Reranking/JaCWIRRerankingLite.json +35 -0
  68. mteb/descriptive_stats/Reranking/MultiLongDocReranking.json +466 -0
  69. mteb/descriptive_stats/Retrieval/ArguAna-NL.v2.json +30 -0
  70. mteb/descriptive_stats/Retrieval/ChemRxivRetrieval.json +30 -0
  71. mteb/descriptive_stats/Retrieval/EuroPIRQRetrieval.json +116 -0
  72. mteb/descriptive_stats/Retrieval/JaCWIRRetrievalLite.json +30 -0
  73. mteb/descriptive_stats/Retrieval/JaqketRetrievalLite.json +30 -0
  74. mteb/descriptive_stats/Retrieval/MIRACLJaRetrievalLite.json +30 -0
  75. mteb/descriptive_stats/Retrieval/MrTyDiJaRetrievalLite.json +30 -0
  76. mteb/descriptive_stats/Retrieval/NFCorpus-NL.v2.json +30 -0
  77. mteb/descriptive_stats/Retrieval/NanoClimateFEVER-VN.json +30 -0
  78. mteb/descriptive_stats/Retrieval/NanoDBPedia-VN.json +30 -0
  79. mteb/descriptive_stats/Retrieval/NanoFEVER-VN.json +30 -0
  80. mteb/descriptive_stats/Retrieval/NanoHotpotQA-VN.json +30 -0
  81. mteb/descriptive_stats/Retrieval/NanoMSMARCO-VN.json +30 -0
  82. mteb/descriptive_stats/Retrieval/NanoNQ-VN.json +30 -0
  83. mteb/descriptive_stats/Retrieval/SCIDOCS-NL.v2.json +30 -0
  84. mteb/descriptive_stats/Retrieval/SQuADKorV1Retrieval.json +30 -0
  85. mteb/descriptive_stats/Retrieval/SciFact-NL.v2.json +30 -0
  86. mteb/descriptive_stats/Retrieval/TVPLRetrieval.json +30 -0
  87. mteb/evaluate.py +106 -75
  88. mteb/filter_tasks.py +25 -26
  89. mteb/get_tasks.py +29 -30
  90. mteb/languages/language_scripts.py +5 -3
  91. mteb/leaderboard/app.py +414 -151
  92. mteb/leaderboard/benchmark_selector.py +14 -5
  93. mteb/leaderboard/figures.py +13 -15
  94. mteb/leaderboard/table.py +82 -17
  95. mteb/load_results.py +12 -12
  96. mteb/models/__init__.py +4 -1
  97. mteb/models/abs_encoder.py +31 -23
  98. mteb/models/cache_wrappers/__init__.py +2 -1
  99. mteb/models/cache_wrappers/cache_backend_protocol.py +3 -5
  100. mteb/models/cache_wrappers/cache_backends/_hash_utils.py +7 -6
  101. mteb/models/cache_wrappers/cache_backends/faiss_cache.py +6 -2
  102. mteb/models/cache_wrappers/cache_backends/numpy_cache.py +43 -25
  103. mteb/models/cache_wrappers/cache_wrapper.py +3 -3
  104. mteb/models/get_model_meta.py +25 -118
  105. mteb/models/instruct_wrapper.py +33 -9
  106. mteb/models/model_implementations/align_models.py +8 -1
  107. mteb/models/model_implementations/amazon_models.py +1 -0
  108. mteb/models/model_implementations/andersborges.py +65 -0
  109. mteb/models/model_implementations/ara_models.py +9 -1
  110. mteb/models/model_implementations/arctic_models.py +16 -8
  111. mteb/models/model_implementations/b1ade_models.py +2 -1
  112. mteb/models/model_implementations/bedrock_models.py +4 -0
  113. mteb/models/model_implementations/bge_models.py +101 -17
  114. mteb/models/model_implementations/bica_model.py +35 -0
  115. mteb/models/model_implementations/blip2_models.py +13 -2
  116. mteb/models/model_implementations/blip_models.py +43 -16
  117. mteb/models/model_implementations/bm25.py +5 -4
  118. mteb/models/model_implementations/bmretriever_models.py +10 -4
  119. mteb/models/model_implementations/cadet_models.py +10 -1
  120. mteb/models/model_implementations/cde_models.py +25 -4
  121. mteb/models/model_implementations/clip_models.py +9 -6
  122. mteb/models/model_implementations/clips_models.py +100 -0
  123. mteb/models/model_implementations/codefuse_models.py +165 -3
  124. mteb/models/model_implementations/codesage_models.py +18 -3
  125. mteb/models/model_implementations/cohere_models.py +13 -6
  126. mteb/models/model_implementations/cohere_v.py +7 -2
  127. mteb/models/model_implementations/colpali_models.py +17 -9
  128. mteb/models/model_implementations/colqwen_models.py +275 -5
  129. mteb/models/model_implementations/colsmol_models.py +4 -2
  130. mteb/models/model_implementations/conan_models.py +2 -1
  131. mteb/models/model_implementations/dino_models.py +194 -23
  132. mteb/models/model_implementations/e5_instruct.py +27 -4
  133. mteb/models/model_implementations/e5_models.py +21 -110
  134. mteb/models/model_implementations/e5_v.py +7 -6
  135. mteb/models/model_implementations/eagerworks_models.py +164 -0
  136. mteb/models/model_implementations/emillykkejensen_models.py +91 -0
  137. mteb/models/model_implementations/en_code_retriever.py +2 -1
  138. mteb/models/model_implementations/euler_models.py +32 -0
  139. mteb/models/model_implementations/evaclip_models.py +4 -0
  140. mteb/models/model_implementations/fa_models.py +67 -9
  141. mteb/models/model_implementations/facebookai.py +205 -0
  142. mteb/models/model_implementations/geogpt_models.py +2 -1
  143. mteb/models/model_implementations/gme_v_models.py +17 -10
  144. mteb/models/model_implementations/google_models.py +17 -6
  145. mteb/models/model_implementations/granite_vision_embedding_models.py +8 -3
  146. mteb/models/model_implementations/gritlm_models.py +4 -2
  147. mteb/models/model_implementations/gte_models.py +99 -9
  148. mteb/models/model_implementations/hinvec_models.py +2 -1
  149. mteb/models/model_implementations/human.py +1 -0
  150. mteb/models/model_implementations/ibm_granite_models.py +36 -6
  151. mteb/models/model_implementations/inf_models.py +4 -2
  152. mteb/models/model_implementations/jasper_models.py +256 -3
  153. mteb/models/model_implementations/jina_clip.py +49 -10
  154. mteb/models/model_implementations/jina_models.py +222 -11
  155. mteb/models/model_implementations/kalm_models.py +203 -25
  156. mteb/models/model_implementations/kblab.py +37 -0
  157. mteb/models/model_implementations/kennethenevoldsen_models.py +74 -0
  158. mteb/models/model_implementations/kfst.py +25 -0
  159. mteb/models/model_implementations/kowshik24_models.py +32 -0
  160. mteb/models/model_implementations/lens_models.py +2 -0
  161. mteb/models/model_implementations/lgai_embedding_models.py +2 -1
  162. mteb/models/model_implementations/linq_models.py +4 -3
  163. mteb/models/model_implementations/listconranker.py +2 -2
  164. mteb/models/model_implementations/llm2clip_models.py +9 -6
  165. mteb/models/model_implementations/llm2vec_models.py +16 -8
  166. mteb/models/model_implementations/mcinext_models.py +7 -1
  167. mteb/models/model_implementations/mdbr_models.py +19 -3
  168. mteb/models/model_implementations/misc_models.py +422 -60
  169. mteb/models/model_implementations/mixedbread_ai_models.py +332 -0
  170. mteb/models/model_implementations/mme5_models.py +2 -1
  171. mteb/models/model_implementations/moco_models.py +15 -4
  172. mteb/models/model_implementations/mod_models.py +191 -0
  173. mteb/models/model_implementations/model2vec_models.py +27 -14
  174. mteb/models/model_implementations/moka_models.py +4 -1
  175. mteb/models/model_implementations/nbailab.py +70 -0
  176. mteb/models/model_implementations/no_instruct_sentence_models.py +3 -2
  177. mteb/models/model_implementations/nomic_models.py +173 -6
  178. mteb/models/model_implementations/nomic_models_vision.py +8 -3
  179. mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +32 -19
  180. mteb/models/model_implementations/nvidia_models.py +155 -20
  181. mteb/models/model_implementations/octen_models.py +254 -0
  182. mteb/models/model_implementations/openai_models.py +20 -16
  183. mteb/models/model_implementations/openclip_models.py +37 -13
  184. mteb/models/model_implementations/opensearch_neural_sparse_models.py +10 -5
  185. mteb/models/model_implementations/ops_moa_models.py +5 -3
  186. mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py +1 -1
  187. mteb/models/model_implementations/pawan_models.py +39 -0
  188. mteb/models/model_implementations/piccolo_models.py +9 -1
  189. mteb/models/model_implementations/pixie_models.py +56 -0
  190. mteb/models/model_implementations/promptriever_models.py +12 -8
  191. mteb/models/model_implementations/pylate_models.py +46 -12
  192. mteb/models/model_implementations/qodo_models.py +4 -2
  193. mteb/models/model_implementations/qtack_models.py +2 -1
  194. mteb/models/model_implementations/qwen3_models.py +9 -6
  195. mteb/models/model_implementations/qzhou_models.py +5 -3
  196. mteb/models/model_implementations/random_baseline.py +19 -24
  197. mteb/models/model_implementations/rasgaard_models.py +34 -0
  198. mteb/models/model_implementations/reasonir_model.py +2 -1
  199. mteb/models/model_implementations/repllama_models.py +5 -3
  200. mteb/models/model_implementations/rerankers_custom.py +15 -9
  201. mteb/models/model_implementations/rerankers_monot5_based.py +31 -31
  202. mteb/models/model_implementations/richinfoai_models.py +2 -1
  203. mteb/models/model_implementations/ru_sentence_models.py +71 -20
  204. mteb/models/model_implementations/ruri_models.py +322 -0
  205. mteb/models/model_implementations/salesforce_models.py +6 -3
  206. mteb/models/model_implementations/samilpwc_models.py +2 -1
  207. mteb/models/model_implementations/sarashina_embedding_models.py +168 -0
  208. mteb/models/model_implementations/searchmap_models.py +2 -1
  209. mteb/models/model_implementations/seed_1_6_embedding_models.py +8 -2
  210. mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +625 -0
  211. mteb/models/model_implementations/seed_models.py +1 -0
  212. mteb/models/model_implementations/sentence_transformers_models.py +177 -18
  213. mteb/models/model_implementations/shuu_model.py +32 -31
  214. mteb/models/model_implementations/siglip_models.py +30 -20
  215. mteb/models/model_implementations/slm_models.py +416 -0
  216. mteb/models/model_implementations/sonar_models.py +1 -0
  217. mteb/models/model_implementations/spartan8806_atles_champion.py +34 -0
  218. mteb/models/model_implementations/stella_models.py +23 -4
  219. mteb/models/model_implementations/tarka_models.py +376 -0
  220. mteb/models/model_implementations/text2vec_models.py +9 -3
  221. mteb/models/model_implementations/ua_sentence_models.py +11 -1
  222. mteb/models/model_implementations/uae_models.py +8 -1
  223. mteb/models/model_implementations/vdr_models.py +3 -1
  224. mteb/models/model_implementations/vi_vn_models.py +45 -6
  225. mteb/models/model_implementations/vista_models.py +2 -0
  226. mteb/models/model_implementations/vlm2vec_models.py +5 -3
  227. mteb/models/model_implementations/voyage_models.py +99 -0
  228. mteb/models/model_implementations/voyage_v.py +17 -9
  229. mteb/models/model_implementations/xyz_models.py +1 -0
  230. mteb/models/model_implementations/youtu_models.py +2 -1
  231. mteb/models/model_implementations/yuan_models.py +34 -0
  232. mteb/models/model_implementations/yuan_models_en.py +58 -0
  233. mteb/models/model_meta.py +498 -29
  234. mteb/models/models_protocols.py +22 -6
  235. mteb/models/search_encoder_index/__init__.py +7 -0
  236. mteb/models/search_encoder_index/search_backend_protocol.py +50 -0
  237. mteb/models/search_encoder_index/search_indexes/__init__.py +5 -0
  238. mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +160 -0
  239. mteb/models/search_wrappers.py +197 -65
  240. mteb/models/sentence_transformer_wrapper.py +52 -32
  241. mteb/models/vllm_wrapper.py +327 -0
  242. mteb/py.typed +0 -0
  243. mteb/results/benchmark_results.py +114 -65
  244. mteb/results/model_result.py +63 -26
  245. mteb/results/task_result.py +117 -77
  246. mteb/similarity_functions.py +60 -7
  247. mteb/tasks/bitext_mining/multilingual/__init__.py +2 -1
  248. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining.py +4 -2
  249. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining_fast.py +1 -1
  250. mteb/tasks/bitext_mining/multilingual/ru_sci_bench_bitext_mining.py +47 -5
  251. mteb/tasks/bitext_mining/multilingual/web_faq_bitext_mining.py +2 -6
  252. mteb/tasks/classification/ara/ajgt.py +1 -2
  253. mteb/tasks/classification/ara/hotel_review_sentiment_classification.py +1 -2
  254. mteb/tasks/classification/ara/online_store_review_sentiment_classification.py +1 -2
  255. mteb/tasks/classification/ara/restaurant_review_sentiment_classification.py +1 -2
  256. mteb/tasks/classification/ara/tweet_emotion_classification.py +1 -2
  257. mteb/tasks/classification/ara/tweet_sarcasm_classification.py +1 -2
  258. mteb/tasks/classification/ben/bengali_document_classification.py +1 -2
  259. mteb/tasks/classification/ben/bengali_hate_speech_classification.py +1 -2
  260. mteb/tasks/classification/ben/bengali_sentiment_analysis.py +1 -2
  261. mteb/tasks/classification/ces/csfdcz_movie_review_sentiment_classification.py +1 -2
  262. mteb/tasks/classification/ces/czech_product_review_sentiment_classification.py +1 -2
  263. mteb/tasks/classification/ces/czech_so_me_sentiment_classification.py +1 -2
  264. mteb/tasks/classification/dan/angry_tweets_classification.py +1 -2
  265. mteb/tasks/classification/dan/danish_political_comments_classification.py +1 -2
  266. mteb/tasks/classification/dan/ddisco_cohesion_classification.py +1 -2
  267. mteb/tasks/classification/dan/dk_hate_classification.py +2 -3
  268. mteb/tasks/classification/deu/german_politicians_twitter_sentiment_classification.py +1 -2
  269. mteb/tasks/classification/deu/ten_k_gnad_classification.py +1 -2
  270. mteb/tasks/classification/eng/amazon_polarity_classification.py +1 -2
  271. mteb/tasks/classification/eng/arxiv_classification.py +1 -2
  272. mteb/tasks/classification/eng/banking77_classification.py +1 -2
  273. mteb/tasks/classification/eng/dbpedia_classification.py +1 -2
  274. mteb/tasks/classification/eng/emotion_classification.py +1 -2
  275. mteb/tasks/classification/eng/financial_phrasebank_classification.py +1 -2
  276. mteb/tasks/classification/eng/frenk_en_classification.py +1 -2
  277. mteb/tasks/classification/eng/gtsrb_classification.py +1 -1
  278. mteb/tasks/classification/eng/imdb_classification.py +1 -2
  279. mteb/tasks/classification/eng/legal_bench_classification.py +14 -120
  280. mteb/tasks/classification/eng/news_classification.py +1 -2
  281. mteb/tasks/classification/eng/patch_camelyon_classification.py +1 -1
  282. mteb/tasks/classification/eng/patent_classification.py +1 -2
  283. mteb/tasks/classification/eng/poem_sentiment_classification.py +1 -2
  284. mteb/tasks/classification/eng/sds_eye_protection_classification.py +1 -2
  285. mteb/tasks/classification/eng/sds_gloves_classification.py +1 -2
  286. mteb/tasks/classification/eng/toxic_chat_classification.py +2 -19
  287. mteb/tasks/classification/eng/toxic_conversations_classification.py +1 -2
  288. mteb/tasks/classification/eng/tweet_sentiment_extraction_classification.py +1 -2
  289. mteb/tasks/classification/eng/tweet_topic_single_classification.py +2 -13
  290. mteb/tasks/classification/eng/ucf101_classification.py +1 -5
  291. mteb/tasks/classification/eng/wikipedia_bio_met_chem_classification.py +1 -2
  292. mteb/tasks/classification/eng/wikipedia_chem_fields_classification.py +1 -2
  293. mteb/tasks/classification/eng/wikipedia_comp_chem_spectroscopy_classification.py +1 -2
  294. mteb/tasks/classification/eng/wikipedia_crystallography_analytical_classification.py +1 -2
  295. mteb/tasks/classification/eng/wikipedia_theoretical_applied_classification.py +1 -2
  296. mteb/tasks/classification/eng/yahoo_answers_topics_classification.py +1 -2
  297. mteb/tasks/classification/eng/yelp_review_full_classification.py +1 -2
  298. mteb/tasks/classification/est/estonian_valence.py +2 -3
  299. mteb/tasks/classification/fas/fa_mteb_classification.py +7 -14
  300. mteb/tasks/classification/fil/filipino_hate_speech_classification.py +1 -2
  301. mteb/tasks/classification/fin/fin_toxicity_classification.py +2 -11
  302. mteb/tasks/classification/fra/french_book_reviews.py +1 -2
  303. mteb/tasks/classification/fra/movie_review_sentiment_classification.py +1 -2
  304. mteb/tasks/classification/guj/gujarati_news_classification.py +1 -2
  305. mteb/tasks/classification/heb/__init__.py +6 -1
  306. mteb/tasks/classification/heb/hebrew_sentiment_analysis.py +62 -4
  307. mteb/tasks/classification/hin/hindi_discourse_classification.py +1 -2
  308. mteb/tasks/classification/hin/sentiment_analysis_hindi.py +1 -2
  309. mteb/tasks/classification/hrv/frenk_hr_classification.py +1 -2
  310. mteb/tasks/classification/ind/indonesian_id_clickbait_classification.py +1 -2
  311. mteb/tasks/classification/ind/indonesian_mongabay_conservation_classification.py +1 -2
  312. mteb/tasks/classification/ita/italian_linguist_acceptability_classification.py +1 -2
  313. mteb/tasks/classification/jav/javanese_imdb_classification.py +1 -2
  314. mteb/tasks/classification/jpn/wrime_classification.py +1 -2
  315. mteb/tasks/classification/kan/kannada_news_classification.py +1 -2
  316. mteb/tasks/classification/kor/klue_tc.py +1 -2
  317. mteb/tasks/classification/kor/kor_hate_classification.py +2 -17
  318. mteb/tasks/classification/kor/kor_sarcasm_classification.py +2 -19
  319. mteb/tasks/classification/kur/kurdish_sentiment_classification.py +3 -4
  320. mteb/tasks/classification/mal/malayalam_news_classification.py +1 -2
  321. mteb/tasks/classification/mar/marathi_news_classification.py +1 -2
  322. mteb/tasks/classification/mkd/macedonian_tweet_sentiment_classification.py +1 -2
  323. mteb/tasks/classification/multilingual/catalonia_tweet_classification.py +1 -6
  324. mteb/tasks/classification/multilingual/multi_hate_classification.py +1 -4
  325. mteb/tasks/classification/multilingual/ru_sci_bench_classification.py +4 -23
  326. mteb/tasks/classification/multilingual/scala_classification.py +2 -3
  327. mteb/tasks/classification/multilingual/sib200_classification.py +1 -6
  328. mteb/tasks/classification/mya/myanmar_news.py +1 -2
  329. mteb/tasks/classification/nep/nepali_news_classification.py +1 -2
  330. mteb/tasks/classification/nld/dutch_book_review_sentiment_classification.py +4 -2
  331. mteb/tasks/classification/nld/dutch_cola_classification.py +3 -0
  332. mteb/tasks/classification/nld/dutch_government_bias_classification.py +3 -0
  333. mteb/tasks/classification/nld/dutch_news_articles_classification.py +3 -0
  334. mteb/tasks/classification/nld/dutch_sarcastic_headlines_classification.py +3 -0
  335. mteb/tasks/classification/nld/iconclass_classification.py +3 -0
  336. mteb/tasks/classification/nld/open_tender_classification.py +3 -0
  337. mteb/tasks/classification/nld/vaccin_chat_nl_classification.py +3 -0
  338. mteb/tasks/classification/nob/no_rec_classification.py +1 -2
  339. mteb/tasks/classification/nob/norwegian_parliament_classification.py +1 -2
  340. mteb/tasks/classification/ory/odia_news_classification.py +1 -2
  341. mteb/tasks/classification/pol/polish_classification.py +3 -6
  342. mteb/tasks/classification/ron/moroco.py +1 -2
  343. mteb/tasks/classification/ron/romanian_reviews_sentiment.py +1 -2
  344. mteb/tasks/classification/ron/romanian_sentiment_classification.py +1 -2
  345. mteb/tasks/classification/rus/georeview_classification.py +1 -2
  346. mteb/tasks/classification/rus/headline_classification.py +1 -2
  347. mteb/tasks/classification/rus/inappropriateness_classification.py +1 -2
  348. mteb/tasks/classification/rus/ru_reviews_classification.py +1 -2
  349. mteb/tasks/classification/rus/ru_toixic_classification_okmlcup.py +1 -2
  350. mteb/tasks/classification/rus/senti_ru_eval.py +1 -2
  351. mteb/tasks/classification/sin/sinhala_news_classification.py +1 -2
  352. mteb/tasks/classification/sin/sinhala_news_source_classification.py +1 -2
  353. mteb/tasks/classification/slk/csfdsk_movie_review_sentiment_classification.py +1 -2
  354. mteb/tasks/classification/slk/slovak_hate_speech_classification.py +1 -2
  355. mteb/tasks/classification/slk/slovak_movie_review_sentiment_classification.py +1 -2
  356. mteb/tasks/classification/slv/frenk_sl_classification.py +1 -2
  357. mteb/tasks/classification/spa/spanish_news_classification.py +1 -2
  358. mteb/tasks/classification/spa/spanish_sentiment_classification.py +1 -2
  359. mteb/tasks/classification/ssw/siswati_news_classification.py +1 -2
  360. mteb/tasks/classification/swa/swahili_news_classification.py +1 -2
  361. mteb/tasks/classification/swe/dalaj_classification.py +1 -2
  362. mteb/tasks/classification/swe/swe_rec_classification.py +1 -2
  363. mteb/tasks/classification/swe/swedish_sentiment_classification.py +1 -2
  364. mteb/tasks/classification/tam/tamil_news_classification.py +1 -2
  365. mteb/tasks/classification/tel/telugu_andhra_jyoti_news_classification.py +1 -2
  366. mteb/tasks/classification/tha/wisesight_sentiment_classification.py +1 -2
  367. mteb/tasks/classification/tsn/tswana_news_classification.py +1 -2
  368. mteb/tasks/classification/tur/__init__.py +4 -0
  369. mteb/tasks/classification/tur/turkish_constitutional_court.py +41 -0
  370. mteb/tasks/classification/tur/turkish_movie_sentiment_classification.py +1 -2
  371. mteb/tasks/classification/tur/turkish_product_sentiment_classification.py +1 -2
  372. mteb/tasks/classification/ukr/ukr_formality_classification.py +2 -15
  373. mteb/tasks/classification/urd/urdu_roman_sentiment_classification.py +1 -2
  374. mteb/tasks/classification/vie/amazon_counterfactual_vn_classification.py +1 -6
  375. mteb/tasks/classification/vie/amazon_polarity_vn_classification.py +1 -6
  376. mteb/tasks/classification/vie/amazon_reviews_vn_classification.py +1 -5
  377. mteb/tasks/classification/vie/banking77_vn_classification.py +1 -5
  378. mteb/tasks/classification/vie/emotion_vn_classification.py +1 -5
  379. mteb/tasks/classification/vie/imdb_vn_classification.py +1 -5
  380. mteb/tasks/classification/vie/massive_intent_vn_classification.py +1 -5
  381. mteb/tasks/classification/vie/massive_scenario_vn_classification.py +1 -5
  382. mteb/tasks/classification/vie/mtop_domain_vn_classification.py +1 -5
  383. mteb/tasks/classification/vie/mtop_intent_vn_classification.py +1 -5
  384. mteb/tasks/classification/vie/toxic_conversations_vn_classification.py +1 -5
  385. mteb/tasks/classification/vie/tweet_sentiment_extraction_vn_classification.py +1 -5
  386. mteb/tasks/classification/vie/vie_student_feedback_classification.py +1 -2
  387. mteb/tasks/classification/zho/cmteb_classification.py +5 -10
  388. mteb/tasks/classification/zho/yue_openrice_review_classification.py +1 -2
  389. mteb/tasks/classification/zul/isi_zulu_news_classification.py +1 -2
  390. mteb/tasks/clustering/eng/hume_wiki_cities_clustering.py +1 -1
  391. mteb/tasks/clustering/eng/wiki_cities_clustering.py +1 -1
  392. mteb/tasks/clustering/jpn/mews_c16_ja_clustering.py +1 -3
  393. mteb/tasks/clustering/multilingual/sib200_clustering_s2s.py +1 -6
  394. mteb/tasks/clustering/nld/dutch_news_articles_clustering_p2p.py +3 -0
  395. mteb/tasks/clustering/nld/dutch_news_articles_clustering_s2s.py +3 -0
  396. mteb/tasks/clustering/nld/iconclass_clustering_s2s.py +3 -0
  397. mteb/tasks/clustering/nld/open_tender_clustering_p2p.py +3 -0
  398. mteb/tasks/clustering/nld/open_tender_clustering_s2s.py +3 -0
  399. mteb/tasks/clustering/nld/vabb_clustering_p2p.py +3 -0
  400. mteb/tasks/clustering/nld/vabb_clustering_s2s.py +3 -0
  401. mteb/tasks/clustering/vie/reddit_clustering_p2p_vn.py +1 -5
  402. mteb/tasks/clustering/vie/reddit_clustering_vn.py +1 -5
  403. mteb/tasks/clustering/vie/stack_exchange_clustering_p2p_vn.py +1 -5
  404. mteb/tasks/clustering/vie/stack_exchange_clustering_vn.py +1 -5
  405. mteb/tasks/clustering/vie/twenty_newsgroups_clustering_vn.py +1 -5
  406. mteb/tasks/clustering/zho/cmteb_clustering.py +2 -2
  407. mteb/tasks/image_text_pair_classification/eng/sugar_crepe.py +1 -1
  408. mteb/tasks/multilabel_classification/ita/emit_classification.py +1 -5
  409. mteb/tasks/multilabel_classification/kor/kor_hate_speech_ml_classification.py +1 -9
  410. mteb/tasks/multilabel_classification/mlt/maltese_news_classification.py +1 -6
  411. mteb/tasks/multilabel_classification/nld/covid_disinformation_nl_multi_label_classification.py +3 -0
  412. mteb/tasks/multilabel_classification/nld/vabb_multi_label_classification.py +3 -0
  413. mteb/tasks/multilabel_classification/por/brazilian_toxic_tweets_classification.py +1 -6
  414. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_group_classification.py +1 -1
  415. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_subclass_classification.py +1 -2
  416. mteb/tasks/pair_classification/dan/talemaader_pc.py +1 -6
  417. mteb/tasks/pair_classification/eng/legal_bench_pc.py +1 -9
  418. mteb/tasks/pair_classification/nld/sick_nl_pair_classification.py +3 -0
  419. mteb/tasks/pair_classification/nld/xlwic_nl_pair_classification.py +3 -0
  420. mteb/tasks/pair_classification/rus/__init__.py +2 -2
  421. mteb/tasks/pair_classification/rus/terra.py +51 -25
  422. mteb/tasks/pair_classification/vie/sprint_duplicate_questions_pcvn.py +1 -5
  423. mteb/tasks/pair_classification/vie/twitter_sem_eval2015_pcvn.py +1 -5
  424. mteb/tasks/pair_classification/vie/twitter_url_corpus_pcvn.py +1 -5
  425. mteb/tasks/regression/multilingual/ru_sci_bench_regression.py +2 -6
  426. mteb/tasks/reranking/jpn/__init__.py +9 -1
  427. mteb/tasks/reranking/jpn/j_qa_ra_reranking_lite.py +49 -0
  428. mteb/tasks/reranking/jpn/ja_cwir_reranking_lite.py +47 -0
  429. mteb/tasks/reranking/multilingual/__init__.py +2 -0
  430. mteb/tasks/reranking/multilingual/multi_long_doc_reranking.py +70 -0
  431. mteb/tasks/reranking/multilingual/wikipedia_reranking_multilingual.py +1 -1
  432. mteb/tasks/reranking/multilingual/x_glue_wpr_reranking.py +1 -2
  433. mteb/tasks/reranking/vie/ask_ubuntu_dup_questions_vn.py +1 -5
  434. mteb/tasks/reranking/vie/sci_docs_reranking_vn.py +1 -5
  435. mteb/tasks/reranking/vie/stack_overflow_dup_questions_vn.py +1 -5
  436. mteb/tasks/retrieval/code/code_rag.py +12 -12
  437. mteb/tasks/retrieval/code/fresh_stack_retrieval.py +8 -5
  438. mteb/tasks/retrieval/dan/dan_fever_retrieval.py +1 -1
  439. mteb/tasks/retrieval/dan/tv2_nordretrieval.py +2 -2
  440. mteb/tasks/retrieval/dan/twitter_hjerne_retrieval.py +2 -2
  441. mteb/tasks/retrieval/eng/__init__.py +2 -0
  442. mteb/tasks/retrieval/eng/chemrxiv.py +33 -0
  443. mteb/tasks/retrieval/eng/cub200_i2i_retrieval.py +1 -1
  444. mteb/tasks/retrieval/eng/lit_search_retrieval.py +1 -8
  445. mteb/tasks/retrieval/eng/vidore_bench_retrieval.py +4 -0
  446. mteb/tasks/retrieval/jpn/__init__.py +8 -0
  447. mteb/tasks/retrieval/jpn/ja_cwir_retrieval.py +1 -4
  448. mteb/tasks/retrieval/jpn/ja_cwir_retrieval_lite.py +47 -0
  449. mteb/tasks/retrieval/jpn/jaqket_retrieval_lite.py +50 -0
  450. mteb/tasks/retrieval/jpn/miracl_ja_retrieval_lite.py +52 -0
  451. mteb/tasks/retrieval/jpn/mr_tydi_ja_retrieval_lite.py +48 -0
  452. mteb/tasks/retrieval/kat/georgian_faq_retrieval.py +11 -4
  453. mteb/tasks/retrieval/kor/__init__.py +16 -1
  454. mteb/tasks/retrieval/kor/kovidore2_bench_retrieval.py +142 -0
  455. mteb/tasks/retrieval/kor/squad_kor_v1_retrieval.py +47 -0
  456. mteb/tasks/retrieval/multilingual/__init__.py +24 -0
  457. mteb/tasks/retrieval/multilingual/belebele_retrieval.py +5 -4
  458. mteb/tasks/retrieval/multilingual/euro_pirq_retrieval.py +43 -0
  459. mteb/tasks/retrieval/multilingual/jina_vdr_bench_retrieval.py +56 -42
  460. mteb/tasks/retrieval/multilingual/mkqa_retrieval.py +1 -2
  461. mteb/tasks/retrieval/multilingual/mlqa_retrieval.py +1 -4
  462. mteb/tasks/retrieval/multilingual/multi_long_doc_retrieval.py +1 -2
  463. mteb/tasks/retrieval/multilingual/public_health_qa_retrieval.py +9 -4
  464. mteb/tasks/retrieval/multilingual/ru_sci_bench_retrieval.py +2 -12
  465. mteb/tasks/retrieval/multilingual/vidore2_bench_retrieval.py +4 -2
  466. mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +389 -0
  467. mteb/tasks/retrieval/nld/__init__.py +8 -4
  468. mteb/tasks/retrieval/nld/argu_ana_nl_retrieval.py +46 -27
  469. mteb/tasks/retrieval/nld/bbsard_nl_retrieval.py +3 -0
  470. mteb/tasks/retrieval/nld/dutch_news_articles_retrieval.py +3 -0
  471. mteb/tasks/retrieval/nld/legal_qa_nl_retrieval.py +3 -0
  472. mteb/tasks/retrieval/nld/nf_corpus_nl_retrieval.py +42 -25
  473. mteb/tasks/retrieval/nld/open_tender_retrieval.py +3 -0
  474. mteb/tasks/retrieval/nld/sci_fact_nl_retrieval.py +42 -24
  475. mteb/tasks/retrieval/nld/scidocsnl_retrieval.py +44 -27
  476. mteb/tasks/retrieval/nld/vabb_retrieval.py +3 -0
  477. mteb/tasks/retrieval/nob/norquad.py +2 -2
  478. mteb/tasks/retrieval/nob/snl_retrieval.py +2 -2
  479. mteb/tasks/retrieval/slk/slovak_sum_retrieval.py +1 -7
  480. mteb/tasks/retrieval/tur/tur_hist_quad.py +1 -1
  481. mteb/tasks/retrieval/vie/__init__.py +14 -6
  482. mteb/tasks/retrieval/vie/argu_ana_vn_retrieval.py +1 -5
  483. mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +40 -5
  484. mteb/tasks/retrieval/vie/cqa_dupstack_android_vn_retrieval.py +1 -5
  485. mteb/tasks/retrieval/vie/cqa_dupstack_gis_vn_retrieval.py +1 -5
  486. mteb/tasks/retrieval/vie/cqa_dupstack_mathematica_vn_retrieval.py +1 -5
  487. mteb/tasks/retrieval/vie/cqa_dupstack_physics_vn_retrieval.py +1 -5
  488. mteb/tasks/retrieval/vie/cqa_dupstack_programmers_vn_retrieval.py +1 -5
  489. mteb/tasks/retrieval/vie/cqa_dupstack_stats_vn_retrieval.py +1 -5
  490. mteb/tasks/retrieval/vie/cqa_dupstack_tex_vn_retrieval.py +1 -5
  491. mteb/tasks/retrieval/vie/cqa_dupstack_unix_vn_retrieval.py +1 -5
  492. mteb/tasks/retrieval/vie/cqa_dupstack_webmasters_vn_retrieval.py +1 -5
  493. mteb/tasks/retrieval/vie/cqa_dupstack_wordpress_vn_retrieval.py +1 -5
  494. mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +40 -5
  495. mteb/tasks/retrieval/vie/fevervn_retrieval.py +40 -7
  496. mteb/tasks/retrieval/vie/fi_qa2018_vn_retrieval.py +1 -5
  497. mteb/tasks/retrieval/vie/green_node_table_markdown_retrieval.py +16 -1
  498. mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +40 -6
  499. mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +49 -5
  500. mteb/tasks/retrieval/vie/nf_corpus_vn_retrieval.py +1 -5
  501. mteb/tasks/retrieval/vie/nqvn_retrieval.py +40 -5
  502. mteb/tasks/retrieval/vie/quora_vn_retrieval.py +1 -6
  503. mteb/tasks/retrieval/vie/sci_fact_vn_retrieval.py +1 -5
  504. mteb/tasks/retrieval/vie/scidocsvn_retrieval.py +1 -6
  505. mteb/tasks/retrieval/vie/touche2020_vn_retrieval.py +1 -5
  506. mteb/tasks/retrieval/vie/treccovidvn_retrieval.py +1 -5
  507. mteb/tasks/retrieval/vie/tvpl_retrieval.py +42 -0
  508. mteb/tasks/retrieval/vie/zac_legal_text_retrieval.py +15 -1
  509. mteb/tasks/sts/nld/sick_nl_sts.py +1 -0
  510. mteb/tasks/sts/vie/biosses_stsvn.py +1 -5
  511. mteb/tasks/sts/vie/sickr_stsvn.py +1 -5
  512. mteb/tasks/sts/vie/sts_benchmark_stsvn.py +1 -5
  513. mteb/tasks/zeroshot_classification/eng/gtsrb.py +1 -1
  514. mteb/tasks/zeroshot_classification/eng/patch_camelyon.py +1 -1
  515. mteb/tasks/zeroshot_classification/eng/ucf101.py +1 -5
  516. mteb/types/__init__.py +2 -0
  517. mteb/types/_encoder_io.py +19 -2
  518. mteb/types/_result.py +2 -1
  519. mteb/types/statistics.py +9 -3
  520. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/METADATA +25 -8
  521. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/RECORD +525 -438
  522. mteb/models/model_implementations/mxbai_models.py +0 -102
  523. mteb/models/model_implementations/nb_sbert.py +0 -25
  524. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/WHEEL +0 -0
  525. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/entry_points.txt +0 -0
  526. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/licenses/LICENSE +0 -0
  527. {mteb-2.1.4.dist-info → mteb-2.7.2.dist-info}/top_level.txt +0 -0
@@ -1,11 +1,18 @@
1
1
  import logging
2
+ from typing import Any
2
3
 
3
4
  import torch
5
+ from torch.utils.data import DataLoader
6
+ from tqdm.auto import tqdm
4
7
 
5
8
  from mteb._requires_package import (
9
+ requires_image_dependencies,
6
10
  requires_package,
7
11
  )
8
- from mteb.models.model_meta import ModelMeta
12
+ from mteb.abstasks.task_metadata import TaskMetadata
13
+ from mteb.models.abs_encoder import AbsEncoder
14
+ from mteb.models.model_meta import ModelMeta, ScoringFunction
15
+ from mteb.types import Array, BatchedInput, PromptType
9
16
 
10
17
  from .colpali_models import (
11
18
  COLPALI_CITATION,
@@ -73,12 +80,140 @@ class ColQwen2_5Wrapper(ColPaliEngineWrapper): # noqa: N801
73
80
  )
74
81
 
75
82
 
83
+ class ColQwen3Wrapper(AbsEncoder):
84
+ """Wrapper for the ColQwen3 vision-language retrieval model."""
85
+
86
+ def __init__(
87
+ self,
88
+ model_name: str,
89
+ *,
90
+ revision: str | None = None,
91
+ device: str | None = None,
92
+ dtype: torch.dtype | str | None = torch.bfloat16,
93
+ **kwargs: Any,
94
+ ):
95
+ requires_image_dependencies()
96
+ requires_package(self, "transformers", model_name, "pip install mteb[colqwen3]")
97
+ from transformers import AutoModel, AutoProcessor
98
+
99
+ self.device = device or (
100
+ "cuda"
101
+ if torch.cuda.is_available()
102
+ else "mps"
103
+ if torch.backends.mps.is_available()
104
+ else "cpu"
105
+ )
106
+ self.model = AutoModel.from_pretrained(
107
+ model_name,
108
+ revision=revision,
109
+ dtype=dtype,
110
+ trust_remote_code=True,
111
+ **kwargs,
112
+ ).to(self.device)
113
+ self.model.eval()
114
+
115
+ self.processor = AutoProcessor.from_pretrained(
116
+ model_name,
117
+ revision=revision,
118
+ trust_remote_code=True,
119
+ max_num_visual_tokens=1280,
120
+ )
121
+
122
+ def encode(
123
+ self,
124
+ inputs: DataLoader[BatchedInput],
125
+ *,
126
+ task_metadata: TaskMetadata,
127
+ hf_split: str,
128
+ hf_subset: str,
129
+ prompt_type: PromptType | None = None,
130
+ **kwargs: Any,
131
+ ) -> Array:
132
+ if (
133
+ "text" not in inputs.dataset.features
134
+ and "image" not in inputs.dataset.features
135
+ ):
136
+ raise ValueError("No text or image features found in inputs.")
137
+ return self.get_fused_embeddings(inputs, **kwargs)
138
+
139
+ def _encode_inputs(self, encoded_inputs: dict[str, torch.Tensor]) -> torch.Tensor:
140
+ outputs = self.model(**encoded_inputs)
141
+ # Avoid boolean casting of tensors when checking for custom attributes.
142
+ embeddings = getattr(outputs, "embeddings", None)
143
+ if embeddings is None:
144
+ embeddings = outputs[0]
145
+ return embeddings
146
+
147
+ def get_fused_embeddings(
148
+ self,
149
+ image_texts_pairs: DataLoader[BatchedInput] | None = None,
150
+ batch_size: int = 32,
151
+ show_progress_bar: bool = True,
152
+ fusion_mode="concat",
153
+ **kwargs: Any,
154
+ ):
155
+ import torchvision.transforms.functional as F
156
+ from PIL import Image
157
+
158
+ contains_image = "image" in image_texts_pairs.dataset.features
159
+ contains_text = "text" in image_texts_pairs.dataset.features
160
+ contains_both = contains_image and contains_text
161
+
162
+ if contains_both:
163
+ progress_desc = "Encoding images+texts"
164
+ elif contains_image:
165
+ progress_desc = "Encoding images"
166
+ elif contains_text:
167
+ progress_desc = "Encoding texts"
168
+ else:
169
+ raise ValueError("No text or image features found in inputs.")
170
+
171
+ all_embeds: list[torch.Tensor] = []
172
+ with torch.no_grad():
173
+ for batch in tqdm(
174
+ image_texts_pairs,
175
+ disable=not show_progress_bar,
176
+ desc=progress_desc,
177
+ ):
178
+ if contains_image:
179
+ imgs = [
180
+ F.to_pil_image(b.to(self.device))
181
+ if not isinstance(b, Image.Image)
182
+ else b
183
+ for b in batch["image"]
184
+ ]
185
+ else:
186
+ imgs = None
187
+ if contains_text:
188
+ texts = batch["text"]
189
+ else:
190
+ texts = None
191
+ if contains_both:
192
+ assert len(imgs) == len(texts), (
193
+ f"The number of texts and images must have the same length, got {len(imgs)} and {len(texts)}"
194
+ )
195
+
196
+ inputs = self.processor(images=imgs, text=texts)
197
+ inputs = {k: v.to(self.device) for k, v in inputs.items()}
198
+ outs = self._encode_inputs(inputs)
199
+ all_embeds.extend(outs.cpu().to(torch.float32))
200
+
201
+ padded = torch.nn.utils.rnn.pad_sequence(
202
+ all_embeds, batch_first=True, padding_value=0
203
+ )
204
+ return padded
205
+
206
+ def similarity(self, a, b):
207
+ return self.processor.score_multi_vector(a, b, device=self.device)
208
+
209
+
76
210
  colqwen2 = ModelMeta(
77
211
  loader=ColQwen2Wrapper,
78
212
  loader_kwargs=dict(
79
213
  torch_dtype=torch.float16,
80
214
  ),
81
215
  name="vidore/colqwen2-v1.0",
216
+ model_type=["late-interaction"],
82
217
  languages=["eng-Latn"],
83
218
  revision="530094e83a40ca4edcb5c9e5ddfa61a4b5ea0d2f",
84
219
  release_date="2025-11-03",
@@ -91,7 +226,7 @@ colqwen2 = ModelMeta(
91
226
  open_weights=True,
92
227
  public_training_code="https://github.com/illuin-tech/colpali",
93
228
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
94
- framework=["ColPali"],
229
+ framework=["ColPali", "safetensors"],
95
230
  reference="https://huggingface.co/vidore/colqwen2-v1.0",
96
231
  similarity_fn_name="MaxSim",
97
232
  use_instructions=True,
@@ -105,6 +240,7 @@ colqwen2_5 = ModelMeta(
105
240
  torch_dtype=torch.float16,
106
241
  ),
107
242
  name="vidore/colqwen2.5-v0.2",
243
+ model_type=["late-interaction"],
108
244
  languages=["eng-Latn"],
109
245
  revision="6f6fcdfd1a114dfe365f529701b33d66b9349014",
110
246
  release_date="2025-01-31",
@@ -117,7 +253,7 @@ colqwen2_5 = ModelMeta(
117
253
  open_weights=True,
118
254
  public_training_code="https://github.com/illuin-tech/colpali",
119
255
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
120
- framework=["ColPali"],
256
+ framework=["ColPali", "safetensors"],
121
257
  reference="https://huggingface.co/vidore/colqwen2.5-v0.2",
122
258
  similarity_fn_name="MaxSim",
123
259
  use_instructions=True,
@@ -125,12 +261,81 @@ colqwen2_5 = ModelMeta(
125
261
  citation=COLPALI_CITATION,
126
262
  )
127
263
 
264
+ TOMORO_TRAINING_DATA = {
265
+ "VDRMultilingualRetrieval",
266
+ # from https://huggingface.co/datasets/vidore/colpali_train_set
267
+ "VidoreDocVQARetrieval",
268
+ "VidoreInfoVQARetrieval",
269
+ "VidoreTatdqaRetrieval",
270
+ "VidoreArxivQARetrieval",
271
+ "VisRAG-Ret-Train-Synthetic-data",
272
+ "VisRAG-Ret-Train-In-domain-data",
273
+ }
274
+
275
+ TOMORO_CITATION = """
276
+ @misc{huang2025tomoro_colqwen3_embed,
277
+ title={TomoroAI/tomoro-colqwen3-embed},
278
+ author={Xin Huang and Kye Min Tan and Albert Phelps},
279
+ year={2025},
280
+ url={https://huggingface.co/TomoroAI/tomoro-colqwen3-embed-8b}
281
+ }
282
+ """
283
+
284
+ colqwen3_8b = ModelMeta(
285
+ loader=ColQwen3Wrapper,
286
+ name="TomoroAI/tomoro-colqwen3-embed-8b",
287
+ model_type=["late-interaction"],
288
+ languages=["eng-Latn"],
289
+ revision="0b9fe28142910e209bbac15b1efe85507c27644f",
290
+ release_date="2025-11-26",
291
+ modalities=["image", "text"],
292
+ n_parameters=8_000_000_000,
293
+ memory_usage_mb=16724,
294
+ max_tokens=262144,
295
+ embed_dim=320,
296
+ license="apache-2.0",
297
+ open_weights=True,
298
+ public_training_code="https://github.com/illuin-tech/colpali",
299
+ public_training_data=None,
300
+ framework=["PyTorch", "Transformers", "safetensors"],
301
+ reference="https://huggingface.co/TomoroAI/tomoro-colqwen3-embed-8b",
302
+ similarity_fn_name=ScoringFunction.MAX_SIM,
303
+ use_instructions=True,
304
+ training_datasets=TOMORO_TRAINING_DATA,
305
+ citation=TOMORO_CITATION,
306
+ )
307
+
308
+ colqwen3_4b = ModelMeta(
309
+ loader=ColQwen3Wrapper,
310
+ name="TomoroAI/tomoro-colqwen3-embed-4b",
311
+ model_type=["late-interaction"],
312
+ languages=["eng-Latn"],
313
+ revision="6a32fb68598730bf5620fbf18d832c784235c59c",
314
+ release_date="2025-11-26",
315
+ modalities=["image", "text"],
316
+ n_parameters=4_000_000_000,
317
+ memory_usage_mb=8466,
318
+ max_tokens=262144,
319
+ embed_dim=320,
320
+ license="apache-2.0",
321
+ open_weights=True,
322
+ public_training_code="https://github.com/illuin-tech/colpali",
323
+ public_training_data=None,
324
+ framework=["PyTorch", "Transformers", "safetensors"],
325
+ reference="https://huggingface.co/TomoroAI/tomoro-colqwen3-embed-4b",
326
+ similarity_fn_name=ScoringFunction.MAX_SIM,
327
+ use_instructions=True,
328
+ training_datasets=TOMORO_TRAINING_DATA,
329
+ citation=TOMORO_CITATION,
330
+ )
331
+
128
332
  colnomic_7b = ModelMeta(
129
333
  loader=ColQwen2_5Wrapper,
130
334
  loader_kwargs=dict(
131
335
  torch_dtype=torch.float16,
132
336
  ),
133
337
  name="nomic-ai/colnomic-embed-multimodal-7b",
338
+ model_type=["late-interaction"],
134
339
  languages=["eng-Latn"],
135
340
  revision="530094e83a40ca4edcb5c9e5ddfa61a4b5ea0d2f",
136
341
  release_date="2025-03-31",
@@ -143,7 +348,7 @@ colnomic_7b = ModelMeta(
143
348
  open_weights=True,
144
349
  public_training_code="https://github.com/nomic-ai/colpali",
145
350
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
146
- framework=["ColPali"],
351
+ framework=["ColPali", "safetensors"],
147
352
  reference="https://huggingface.co/nomic-ai/colnomic-embed-multimodal-7b",
148
353
  similarity_fn_name="MaxSim",
149
354
  use_instructions=True,
@@ -175,6 +380,7 @@ colnomic_3b = ModelMeta(
175
380
  torch_dtype=torch.float16, attn_implementation="flash_attention_2"
176
381
  ),
177
382
  name="nomic-ai/colnomic-embed-multimodal-3b",
383
+ model_type=["late-interaction"],
178
384
  languages=COLNOMIC_LANGUAGES,
179
385
  revision="86627b4a9b0cade577851a70afa469084f9863a4",
180
386
  release_date="2025-03-31",
@@ -187,7 +393,7 @@ colnomic_3b = ModelMeta(
187
393
  open_weights=True,
188
394
  public_training_code="https://github.com/nomic-ai/colpali",
189
395
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
190
- framework=["ColPali"],
396
+ framework=["ColPali", "safetensors"],
191
397
  reference="https://huggingface.co/nomic-ai/colnomic-embed-multimodal-3b",
192
398
  similarity_fn_name="MaxSim",
193
399
  use_instructions=True,
@@ -201,6 +407,7 @@ colnomic_7b = ModelMeta(
201
407
  torch_dtype=torch.float16,
202
408
  ),
203
409
  name="nomic-ai/colnomic-embed-multimodal-7b",
410
+ model_type=["late-interaction"],
204
411
  languages=COLNOMIC_LANGUAGES,
205
412
  revision="09dbc9502b66605d5be56d2226019b49c9fd3293",
206
413
  release_date="2025-03-31",
@@ -220,3 +427,66 @@ colnomic_7b = ModelMeta(
220
427
  training_datasets=COLNOMIC_TRAINING_DATA,
221
428
  citation=COLNOMIC_CITATION,
222
429
  )
430
+
431
+
432
+ EVOQWEN_TRAINING_DATA = {
433
+ # "colpali_train_set",
434
+ "VidoreDocVQARetrieval",
435
+ "VidoreInfoVQARetrieval",
436
+ "VidoreTatdqaRetrieval",
437
+ "VidoreArxivQARetrieval",
438
+ "VisRAG-Ret-Train-Synthetic-data",
439
+ "VisRAG-Ret-Train-In-domain-data",
440
+ }
441
+
442
+ evoqwen25_vl_retriever_3b_v1 = ModelMeta(
443
+ loader=ColQwen2_5Wrapper,
444
+ loader_kwargs=dict(
445
+ torch_dtype=torch.float16, attn_implementation="flash_attention_2"
446
+ ),
447
+ name="ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-3B-v1",
448
+ model_type=["late-interaction"],
449
+ languages=["eng-Latn"],
450
+ revision="aeacaa2775f2758d82721eb1cf2f5daf1a392da9",
451
+ release_date="2025-11-04",
452
+ modalities=["image", "text"],
453
+ n_parameters=3_000_000_000,
454
+ memory_usage_mb=7200,
455
+ max_tokens=128000,
456
+ embed_dim=128,
457
+ license="apache-2.0",
458
+ open_weights=True,
459
+ public_training_code="https://github.com/illuin-tech/colpali",
460
+ public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
461
+ framework=["ColPali", "safetensors"],
462
+ reference="https://huggingface.co/ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-3B-v1",
463
+ similarity_fn_name="MaxSim",
464
+ use_instructions=True,
465
+ training_datasets=EVOQWEN_TRAINING_DATA,
466
+ )
467
+
468
+ evoqwen25_vl_retriever_7b_v1 = ModelMeta(
469
+ loader=ColQwen2_5Wrapper,
470
+ loader_kwargs=dict(
471
+ torch_dtype=torch.float16, attn_implementation="flash_attention_2"
472
+ ),
473
+ name="ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-7B-v1",
474
+ model_type=["late-interaction"],
475
+ languages=["eng-Latn"],
476
+ revision="8952ac6ee0e7de2e9211b165921518caf9202110",
477
+ release_date="2025-11-04",
478
+ modalities=["image", "text"],
479
+ n_parameters=7_000_000_000,
480
+ memory_usage_mb=14400,
481
+ max_tokens=128000,
482
+ embed_dim=128,
483
+ license="apache-2.0",
484
+ open_weights=True,
485
+ public_training_code="https://github.com/illuin-tech/colpali",
486
+ public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
487
+ framework=["ColPali", "safetensors"],
488
+ reference="https://huggingface.co/ApsaraStackMaaS/EvoQwen2.5-VL-Retriever-7B-v1",
489
+ similarity_fn_name="MaxSim",
490
+ use_instructions=True,
491
+ training_datasets=EVOQWEN_TRAINING_DATA,
492
+ )
@@ -54,6 +54,7 @@ colsmol_256m = ModelMeta(
54
54
  torch_dtype=torch.float16,
55
55
  ),
56
56
  name="vidore/colSmol-256M",
57
+ model_type=["late-interaction"],
57
58
  languages=["eng-Latn"],
58
59
  revision="530094e83a40ca4edcb5c9e5ddfa61a4b5ea0d2f",
59
60
  release_date="2025-01-22",
@@ -66,7 +67,7 @@ colsmol_256m = ModelMeta(
66
67
  open_weights=True,
67
68
  public_training_code="https://github.com/illuin-tech/colpali",
68
69
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
69
- framework=["ColPali"],
70
+ framework=["ColPali", "safetensors"],
70
71
  reference="https://huggingface.co/vidore/colSmol-256M",
71
72
  similarity_fn_name="MaxSim",
72
73
  use_instructions=True,
@@ -80,6 +81,7 @@ colsmol_500m = ModelMeta(
80
81
  torch_dtype=torch.float16, attn_implementation="flash_attention_2"
81
82
  ),
82
83
  name="vidore/colSmol-500M",
84
+ model_type=["late-interaction"],
83
85
  languages=["eng-Latn"],
84
86
  revision="1aa9325cba7ed2b3b9b97ede4d55026322504902",
85
87
  release_date="2025-01-22",
@@ -92,7 +94,7 @@ colsmol_500m = ModelMeta(
92
94
  open_weights=True,
93
95
  public_training_code="https://github.com/illuin-tech/colpali",
94
96
  public_training_data="https://huggingface.co/datasets/vidore/colpali_train_set",
95
- framework=["ColPali"],
97
+ framework=["ColPali", "safetensors"],
96
98
  reference="https://huggingface.co/vidore/colSmol-500M",
97
99
  similarity_fn_name="MaxSim",
98
100
  use_instructions=True,
@@ -190,6 +190,7 @@ class ConanWrapper(AbsEncoder):
190
190
 
191
191
  Conan_embedding_v2 = ModelMeta(
192
192
  name="TencentBAC/Conan-embedding-v2",
193
+ model_type=["dense"],
193
194
  revision="e5c87c63889630bca87486f6a2645ed97c5ddb17",
194
195
  release_date="2025-04-10",
195
196
  languages=[
@@ -208,7 +209,7 @@ Conan_embedding_v2 = ModelMeta(
208
209
  license="apache-2.0",
209
210
  reference="https://huggingface.co/TencentBAC/Conan-embedding-v2",
210
211
  similarity_fn_name="cosine",
211
- framework=["API"],
212
+ framework=["API", "Sentence Transformers", "Transformers"],
212
213
  use_instructions=True,
213
214
  training_datasets=E5_MISTRAL_TRAINING_DATA | bge_full_data | conan_zh_datasets,
214
215
  public_training_code=None,