mteb 2.1.4__py3-none-any.whl → 2.5.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 (458) hide show
  1. mteb/__init__.py +4 -0
  2. mteb/_create_dataloaders.py +6 -3
  3. mteb/_evaluators/any_sts_evaluator.py +21 -12
  4. mteb/_evaluators/classification_metrics.py +54 -0
  5. mteb/_evaluators/clustering_evaluator.py +1 -1
  6. mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +9 -4
  7. mteb/_evaluators/pair_classification_evaluator.py +30 -38
  8. mteb/_evaluators/sklearn_evaluator.py +15 -28
  9. mteb/_evaluators/text/bitext_mining_evaluator.py +4 -1
  10. mteb/_evaluators/text/summarization_evaluator.py +4 -2
  11. mteb/_evaluators/zeroshot_classification_evaluator.py +2 -2
  12. mteb/abstasks/_data_filter/__init__.py +0 -0
  13. mteb/abstasks/_data_filter/filters.py +125 -0
  14. mteb/abstasks/_data_filter/task_pipelines.py +102 -0
  15. mteb/abstasks/_statistics_calculation.py +6 -2
  16. mteb/abstasks/classification.py +0 -2
  17. mteb/abstasks/clustering.py +1 -1
  18. mteb/abstasks/clustering_legacy.py +3 -0
  19. mteb/abstasks/multilabel_classification.py +10 -3
  20. mteb/abstasks/pair_classification.py +8 -1
  21. mteb/abstasks/sts.py +7 -0
  22. mteb/abstasks/task_metadata.py +1 -0
  23. mteb/benchmarks/_create_table.py +84 -37
  24. mteb/benchmarks/benchmark.py +74 -15
  25. mteb/benchmarks/benchmarks/__init__.py +8 -0
  26. mteb/benchmarks/benchmarks/benchmarks.py +259 -15
  27. mteb/benchmarks/get_benchmark.py +2 -0
  28. mteb/cache.py +47 -10
  29. mteb/deprecated_evaluator.py +8 -13
  30. mteb/descriptive_stats/BitextMining/RuSciBenchBitextMining.v2.json +61 -0
  31. mteb/descriptive_stats/Classification/HebrewSentimentAnalysis.v3.json +60 -0
  32. mteb/descriptive_stats/Classification/TurkishConstitutionalCourtViolation.json +54 -0
  33. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3ComputerScienceRetrieval.json +214 -0
  34. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3EnergyRetrieval.json +214 -0
  35. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceEnRetrieval.json +214 -0
  36. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceFrRetrieval.json +214 -0
  37. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3HrRetrieval.json +214 -0
  38. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3IndustrialRetrieval.json +214 -0
  39. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3NuclearRetrieval.json +214 -0
  40. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PharmaceuticalsRetrieval.json +214 -0
  41. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PhysicsRetrieval.json +214 -0
  42. mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3TelecomRetrieval.json +214 -0
  43. mteb/descriptive_stats/PairClassification/TERRa.V2.json +35 -0
  44. mteb/descriptive_stats/Reranking/JQaRARerankingLite.json +35 -0
  45. mteb/descriptive_stats/Reranking/JaCWIRRerankingLite.json +35 -0
  46. mteb/descriptive_stats/Reranking/MultiLongDocReranking.json +466 -0
  47. mteb/descriptive_stats/Retrieval/ArguAna-NL.v2.json +30 -0
  48. mteb/descriptive_stats/Retrieval/JaCWIRRetrievalLite.json +30 -0
  49. mteb/descriptive_stats/Retrieval/JaqketRetrievalLite.json +30 -0
  50. mteb/descriptive_stats/Retrieval/MIRACLJaRetrievalLite.json +30 -0
  51. mteb/descriptive_stats/Retrieval/MrTyDiJaRetrievalLite.json +30 -0
  52. mteb/descriptive_stats/Retrieval/NFCorpus-NL.v2.json +30 -0
  53. mteb/descriptive_stats/Retrieval/SCIDOCS-NL.v2.json +30 -0
  54. mteb/descriptive_stats/Retrieval/SQuADKorV1Retrieval.json +30 -0
  55. mteb/descriptive_stats/Retrieval/SciFact-NL.v2.json +30 -0
  56. mteb/evaluate.py +65 -45
  57. mteb/leaderboard/app.py +268 -133
  58. mteb/leaderboard/benchmark_selector.py +14 -5
  59. mteb/leaderboard/figures.py +13 -15
  60. mteb/leaderboard/table.py +82 -17
  61. mteb/models/__init__.py +4 -1
  62. mteb/models/abs_encoder.py +21 -17
  63. mteb/models/cache_wrappers/__init__.py +2 -1
  64. mteb/models/cache_wrappers/cache_backends/_hash_utils.py +2 -2
  65. mteb/models/cache_wrappers/cache_wrapper.py +1 -1
  66. mteb/models/get_model_meta.py +3 -114
  67. mteb/models/instruct_wrapper.py +5 -1
  68. mteb/models/model_implementations/align_models.py +7 -0
  69. mteb/models/model_implementations/amazon_models.py +1 -0
  70. mteb/models/model_implementations/andersborges.py +65 -0
  71. mteb/models/model_implementations/ara_models.py +8 -0
  72. mteb/models/model_implementations/arctic_models.py +8 -0
  73. mteb/models/model_implementations/b1ade_models.py +1 -0
  74. mteb/models/model_implementations/bedrock_models.py +4 -0
  75. mteb/models/model_implementations/bge_models.py +60 -0
  76. mteb/models/model_implementations/bica_model.py +35 -0
  77. mteb/models/model_implementations/blip2_models.py +11 -0
  78. mteb/models/model_implementations/blip_models.py +27 -0
  79. mteb/models/model_implementations/bm25.py +1 -0
  80. mteb/models/model_implementations/bmretriever_models.py +4 -0
  81. mteb/models/model_implementations/cadet_models.py +9 -0
  82. mteb/models/model_implementations/cde_models.py +14 -0
  83. mteb/models/model_implementations/clip_models.py +3 -0
  84. mteb/models/model_implementations/clips_models.py +100 -0
  85. mteb/models/model_implementations/codefuse_models.py +162 -0
  86. mteb/models/model_implementations/codesage_models.py +15 -0
  87. mteb/models/model_implementations/cohere_models.py +8 -1
  88. mteb/models/model_implementations/cohere_v.py +5 -0
  89. mteb/models/model_implementations/colpali_models.py +14 -6
  90. mteb/models/model_implementations/colqwen_models.py +271 -1
  91. mteb/models/model_implementations/colsmol_models.py +2 -0
  92. mteb/models/model_implementations/conan_models.py +1 -0
  93. mteb/models/model_implementations/dino_models.py +171 -0
  94. mteb/models/model_implementations/e5_instruct.py +4 -0
  95. mteb/models/model_implementations/e5_models.py +12 -101
  96. mteb/models/model_implementations/e5_v.py +1 -0
  97. mteb/models/model_implementations/eagerworks_models.py +164 -0
  98. mteb/models/model_implementations/emillykkejensen_models.py +91 -0
  99. mteb/models/model_implementations/en_code_retriever.py +1 -0
  100. mteb/models/model_implementations/euler_models.py +32 -0
  101. mteb/models/model_implementations/evaclip_models.py +4 -0
  102. mteb/models/model_implementations/fa_models.py +58 -0
  103. mteb/models/model_implementations/facebookai.py +193 -0
  104. mteb/models/model_implementations/geogpt_models.py +1 -0
  105. mteb/models/model_implementations/gme_v_models.py +11 -5
  106. mteb/models/model_implementations/google_models.py +16 -5
  107. mteb/models/model_implementations/granite_vision_embedding_models.py +7 -2
  108. mteb/models/model_implementations/gritlm_models.py +2 -0
  109. mteb/models/model_implementations/gte_models.py +78 -0
  110. mteb/models/model_implementations/hinvec_models.py +1 -0
  111. mteb/models/model_implementations/human.py +1 -0
  112. mteb/models/model_implementations/ibm_granite_models.py +6 -0
  113. mteb/models/model_implementations/inf_models.py +2 -0
  114. mteb/models/model_implementations/jasper_models.py +255 -2
  115. mteb/models/model_implementations/jina_clip.py +1 -0
  116. mteb/models/model_implementations/jina_models.py +209 -5
  117. mteb/models/model_implementations/kalm_models.py +203 -25
  118. mteb/models/model_implementations/kblab.py +31 -0
  119. mteb/models/model_implementations/kennethenevoldsen_models.py +74 -0
  120. mteb/models/model_implementations/kfst.py +25 -0
  121. mteb/models/model_implementations/kowshik24_models.py +32 -0
  122. mteb/models/model_implementations/lens_models.py +2 -0
  123. mteb/models/model_implementations/lgai_embedding_models.py +1 -0
  124. mteb/models/model_implementations/linq_models.py +3 -2
  125. mteb/models/model_implementations/listconranker.py +1 -1
  126. mteb/models/model_implementations/llm2clip_models.py +3 -0
  127. mteb/models/model_implementations/llm2vec_models.py +8 -0
  128. mteb/models/model_implementations/mcinext_models.py +3 -0
  129. mteb/models/model_implementations/mdbr_models.py +2 -0
  130. mteb/models/model_implementations/misc_models.py +362 -0
  131. mteb/models/model_implementations/mme5_models.py +1 -0
  132. mteb/models/model_implementations/moco_models.py +11 -0
  133. mteb/models/model_implementations/mod_models.py +191 -0
  134. mteb/models/model_implementations/model2vec_models.py +13 -0
  135. mteb/models/model_implementations/moka_models.py +3 -0
  136. mteb/models/model_implementations/mxbai_models.py +9 -0
  137. mteb/models/model_implementations/nbailab.py +70 -0
  138. mteb/models/model_implementations/no_instruct_sentence_models.py +1 -0
  139. mteb/models/model_implementations/nomic_models.py +156 -4
  140. mteb/models/model_implementations/nomic_models_vision.py +7 -2
  141. mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +23 -16
  142. mteb/models/model_implementations/nvidia_models.py +4 -1
  143. mteb/models/model_implementations/octen_models.py +195 -0
  144. mteb/models/model_implementations/openai_models.py +20 -16
  145. mteb/models/model_implementations/openclip_models.py +24 -0
  146. mteb/models/model_implementations/opensearch_neural_sparse_models.py +5 -0
  147. mteb/models/model_implementations/ops_moa_models.py +4 -2
  148. mteb/models/model_implementations/pawan_models.py +39 -0
  149. mteb/models/model_implementations/piccolo_models.py +8 -0
  150. mteb/models/model_implementations/promptriever_models.py +8 -4
  151. mteb/models/model_implementations/pylate_models.py +37 -4
  152. mteb/models/model_implementations/qodo_models.py +2 -0
  153. mteb/models/model_implementations/qtack_models.py +1 -0
  154. mteb/models/model_implementations/qwen3_models.py +6 -3
  155. mteb/models/model_implementations/qzhou_models.py +3 -1
  156. mteb/models/model_implementations/random_baseline.py +16 -21
  157. mteb/models/model_implementations/rasgaard_models.py +34 -0
  158. mteb/models/model_implementations/reasonir_model.py +1 -0
  159. mteb/models/model_implementations/repllama_models.py +2 -0
  160. mteb/models/model_implementations/rerankers_custom.py +3 -3
  161. mteb/models/model_implementations/rerankers_monot5_based.py +14 -14
  162. mteb/models/model_implementations/richinfoai_models.py +1 -0
  163. mteb/models/model_implementations/ru_sentence_models.py +51 -0
  164. mteb/models/model_implementations/ruri_models.py +322 -0
  165. mteb/models/model_implementations/salesforce_models.py +3 -0
  166. mteb/models/model_implementations/samilpwc_models.py +1 -0
  167. mteb/models/model_implementations/sarashina_embedding_models.py +168 -0
  168. mteb/models/model_implementations/searchmap_models.py +1 -0
  169. mteb/models/model_implementations/seed_1_6_embedding_models.py +8 -2
  170. mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +658 -0
  171. mteb/models/model_implementations/seed_models.py +1 -0
  172. mteb/models/model_implementations/sentence_transformers_models.py +57 -0
  173. mteb/models/model_implementations/shuu_model.py +32 -31
  174. mteb/models/model_implementations/siglip_models.py +10 -0
  175. mteb/models/model_implementations/sonar_models.py +1 -0
  176. mteb/models/model_implementations/spartan8806_atles_champion.py +34 -0
  177. mteb/models/model_implementations/stella_models.py +6 -0
  178. mteb/models/model_implementations/tarka_models.py +376 -0
  179. mteb/models/model_implementations/ua_sentence_models.py +10 -0
  180. mteb/models/model_implementations/uae_models.py +1 -0
  181. mteb/models/model_implementations/vdr_models.py +2 -0
  182. mteb/models/model_implementations/vi_vn_models.py +39 -0
  183. mteb/models/model_implementations/vista_models.py +2 -0
  184. mteb/models/model_implementations/vlm2vec_models.py +2 -0
  185. mteb/models/model_implementations/voyage_models.py +15 -0
  186. mteb/models/model_implementations/voyage_v.py +8 -2
  187. mteb/models/model_implementations/xyz_models.py +1 -0
  188. mteb/models/model_implementations/youtu_models.py +1 -0
  189. mteb/models/model_implementations/yuan_models.py +34 -0
  190. mteb/models/model_implementations/yuan_models_en.py +58 -0
  191. mteb/models/model_meta.py +442 -22
  192. mteb/models/search_encoder_index/__init__.py +7 -0
  193. mteb/models/search_encoder_index/search_backend_protocol.py +50 -0
  194. mteb/models/search_encoder_index/search_indexes/__init__.py +5 -0
  195. mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +157 -0
  196. mteb/models/search_wrappers.py +165 -48
  197. mteb/models/sentence_transformer_wrapper.py +2 -7
  198. mteb/results/benchmark_results.py +88 -47
  199. mteb/results/model_result.py +11 -4
  200. mteb/results/task_result.py +37 -19
  201. mteb/similarity_functions.py +49 -0
  202. mteb/tasks/bitext_mining/multilingual/__init__.py +2 -1
  203. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining.py +4 -2
  204. mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining_fast.py +1 -1
  205. mteb/tasks/bitext_mining/multilingual/ru_sci_bench_bitext_mining.py +47 -5
  206. mteb/tasks/bitext_mining/multilingual/web_faq_bitext_mining.py +2 -6
  207. mteb/tasks/classification/ara/ajgt.py +1 -2
  208. mteb/tasks/classification/ara/hotel_review_sentiment_classification.py +1 -2
  209. mteb/tasks/classification/ara/online_store_review_sentiment_classification.py +1 -2
  210. mteb/tasks/classification/ara/restaurant_review_sentiment_classification.py +1 -2
  211. mteb/tasks/classification/ara/tweet_emotion_classification.py +1 -2
  212. mteb/tasks/classification/ara/tweet_sarcasm_classification.py +1 -2
  213. mteb/tasks/classification/ben/bengali_document_classification.py +1 -2
  214. mteb/tasks/classification/ben/bengali_hate_speech_classification.py +1 -2
  215. mteb/tasks/classification/ben/bengali_sentiment_analysis.py +1 -2
  216. mteb/tasks/classification/ces/csfdcz_movie_review_sentiment_classification.py +1 -2
  217. mteb/tasks/classification/ces/czech_product_review_sentiment_classification.py +1 -2
  218. mteb/tasks/classification/ces/czech_so_me_sentiment_classification.py +1 -2
  219. mteb/tasks/classification/dan/angry_tweets_classification.py +1 -2
  220. mteb/tasks/classification/dan/danish_political_comments_classification.py +1 -2
  221. mteb/tasks/classification/dan/ddisco_cohesion_classification.py +1 -2
  222. mteb/tasks/classification/dan/dk_hate_classification.py +1 -2
  223. mteb/tasks/classification/deu/german_politicians_twitter_sentiment_classification.py +1 -2
  224. mteb/tasks/classification/deu/ten_k_gnad_classification.py +1 -2
  225. mteb/tasks/classification/eng/amazon_polarity_classification.py +1 -2
  226. mteb/tasks/classification/eng/arxiv_classification.py +1 -2
  227. mteb/tasks/classification/eng/banking77_classification.py +1 -2
  228. mteb/tasks/classification/eng/dbpedia_classification.py +1 -2
  229. mteb/tasks/classification/eng/emotion_classification.py +1 -2
  230. mteb/tasks/classification/eng/financial_phrasebank_classification.py +1 -2
  231. mteb/tasks/classification/eng/frenk_en_classification.py +1 -2
  232. mteb/tasks/classification/eng/gtsrb_classification.py +1 -1
  233. mteb/tasks/classification/eng/imdb_classification.py +1 -2
  234. mteb/tasks/classification/eng/legal_bench_classification.py +14 -120
  235. mteb/tasks/classification/eng/news_classification.py +1 -2
  236. mteb/tasks/classification/eng/patch_camelyon_classification.py +1 -1
  237. mteb/tasks/classification/eng/patent_classification.py +1 -2
  238. mteb/tasks/classification/eng/poem_sentiment_classification.py +1 -2
  239. mteb/tasks/classification/eng/sds_eye_protection_classification.py +1 -2
  240. mteb/tasks/classification/eng/sds_gloves_classification.py +1 -2
  241. mteb/tasks/classification/eng/toxic_chat_classification.py +2 -19
  242. mteb/tasks/classification/eng/toxic_conversations_classification.py +1 -2
  243. mteb/tasks/classification/eng/tweet_sentiment_extraction_classification.py +1 -2
  244. mteb/tasks/classification/eng/tweet_topic_single_classification.py +2 -13
  245. mteb/tasks/classification/eng/ucf101_classification.py +1 -5
  246. mteb/tasks/classification/eng/wikipedia_bio_met_chem_classification.py +1 -2
  247. mteb/tasks/classification/eng/wikipedia_chem_fields_classification.py +1 -2
  248. mteb/tasks/classification/eng/wikipedia_comp_chem_spectroscopy_classification.py +1 -2
  249. mteb/tasks/classification/eng/wikipedia_crystallography_analytical_classification.py +1 -2
  250. mteb/tasks/classification/eng/wikipedia_theoretical_applied_classification.py +1 -2
  251. mteb/tasks/classification/eng/yahoo_answers_topics_classification.py +1 -2
  252. mteb/tasks/classification/eng/yelp_review_full_classification.py +1 -2
  253. mteb/tasks/classification/est/estonian_valence.py +1 -2
  254. mteb/tasks/classification/fas/fa_mteb_classification.py +7 -14
  255. mteb/tasks/classification/fil/filipino_hate_speech_classification.py +1 -2
  256. mteb/tasks/classification/fin/fin_toxicity_classification.py +2 -11
  257. mteb/tasks/classification/fra/french_book_reviews.py +1 -2
  258. mteb/tasks/classification/fra/movie_review_sentiment_classification.py +1 -2
  259. mteb/tasks/classification/guj/gujarati_news_classification.py +1 -2
  260. mteb/tasks/classification/heb/__init__.py +6 -1
  261. mteb/tasks/classification/heb/hebrew_sentiment_analysis.py +62 -4
  262. mteb/tasks/classification/hin/hindi_discourse_classification.py +1 -2
  263. mteb/tasks/classification/hin/sentiment_analysis_hindi.py +1 -2
  264. mteb/tasks/classification/hrv/frenk_hr_classification.py +1 -2
  265. mteb/tasks/classification/ind/indonesian_id_clickbait_classification.py +1 -2
  266. mteb/tasks/classification/ind/indonesian_mongabay_conservation_classification.py +1 -2
  267. mteb/tasks/classification/ita/italian_linguist_acceptability_classification.py +1 -2
  268. mteb/tasks/classification/jav/javanese_imdb_classification.py +1 -2
  269. mteb/tasks/classification/jpn/wrime_classification.py +1 -2
  270. mteb/tasks/classification/kan/kannada_news_classification.py +1 -2
  271. mteb/tasks/classification/kor/klue_tc.py +1 -2
  272. mteb/tasks/classification/kor/kor_hate_classification.py +2 -17
  273. mteb/tasks/classification/kor/kor_sarcasm_classification.py +2 -19
  274. mteb/tasks/classification/kur/kurdish_sentiment_classification.py +1 -2
  275. mteb/tasks/classification/mal/malayalam_news_classification.py +1 -2
  276. mteb/tasks/classification/mar/marathi_news_classification.py +1 -2
  277. mteb/tasks/classification/mkd/macedonian_tweet_sentiment_classification.py +1 -2
  278. mteb/tasks/classification/multilingual/catalonia_tweet_classification.py +1 -6
  279. mteb/tasks/classification/multilingual/multi_hate_classification.py +1 -4
  280. mteb/tasks/classification/multilingual/ru_sci_bench_classification.py +4 -23
  281. mteb/tasks/classification/multilingual/scala_classification.py +1 -2
  282. mteb/tasks/classification/multilingual/sib200_classification.py +1 -6
  283. mteb/tasks/classification/mya/myanmar_news.py +1 -2
  284. mteb/tasks/classification/nep/nepali_news_classification.py +1 -2
  285. mteb/tasks/classification/nld/dutch_book_review_sentiment_classification.py +4 -2
  286. mteb/tasks/classification/nld/dutch_cola_classification.py +3 -0
  287. mteb/tasks/classification/nld/dutch_government_bias_classification.py +3 -0
  288. mteb/tasks/classification/nld/dutch_news_articles_classification.py +3 -0
  289. mteb/tasks/classification/nld/dutch_sarcastic_headlines_classification.py +3 -0
  290. mteb/tasks/classification/nld/iconclass_classification.py +3 -0
  291. mteb/tasks/classification/nld/open_tender_classification.py +3 -0
  292. mteb/tasks/classification/nld/vaccin_chat_nl_classification.py +3 -0
  293. mteb/tasks/classification/nob/no_rec_classification.py +1 -2
  294. mteb/tasks/classification/nob/norwegian_parliament_classification.py +1 -2
  295. mteb/tasks/classification/ory/odia_news_classification.py +1 -2
  296. mteb/tasks/classification/pol/polish_classification.py +3 -6
  297. mteb/tasks/classification/ron/moroco.py +1 -2
  298. mteb/tasks/classification/ron/romanian_reviews_sentiment.py +1 -2
  299. mteb/tasks/classification/ron/romanian_sentiment_classification.py +1 -2
  300. mteb/tasks/classification/rus/georeview_classification.py +1 -2
  301. mteb/tasks/classification/rus/headline_classification.py +1 -2
  302. mteb/tasks/classification/rus/inappropriateness_classification.py +1 -2
  303. mteb/tasks/classification/rus/ru_reviews_classification.py +1 -2
  304. mteb/tasks/classification/rus/ru_toixic_classification_okmlcup.py +1 -2
  305. mteb/tasks/classification/rus/senti_ru_eval.py +1 -2
  306. mteb/tasks/classification/sin/sinhala_news_classification.py +1 -2
  307. mteb/tasks/classification/sin/sinhala_news_source_classification.py +1 -2
  308. mteb/tasks/classification/slk/csfdsk_movie_review_sentiment_classification.py +1 -2
  309. mteb/tasks/classification/slk/slovak_hate_speech_classification.py +1 -2
  310. mteb/tasks/classification/slk/slovak_movie_review_sentiment_classification.py +1 -2
  311. mteb/tasks/classification/slv/frenk_sl_classification.py +1 -2
  312. mteb/tasks/classification/spa/spanish_news_classification.py +1 -2
  313. mteb/tasks/classification/spa/spanish_sentiment_classification.py +1 -2
  314. mteb/tasks/classification/ssw/siswati_news_classification.py +1 -2
  315. mteb/tasks/classification/swa/swahili_news_classification.py +1 -2
  316. mteb/tasks/classification/swe/dalaj_classification.py +1 -2
  317. mteb/tasks/classification/swe/swe_rec_classification.py +1 -2
  318. mteb/tasks/classification/swe/swedish_sentiment_classification.py +1 -2
  319. mteb/tasks/classification/tam/tamil_news_classification.py +1 -2
  320. mteb/tasks/classification/tel/telugu_andhra_jyoti_news_classification.py +1 -2
  321. mteb/tasks/classification/tha/wisesight_sentiment_classification.py +1 -2
  322. mteb/tasks/classification/tsn/tswana_news_classification.py +1 -2
  323. mteb/tasks/classification/tur/__init__.py +4 -0
  324. mteb/tasks/classification/tur/turkish_constitutional_court.py +41 -0
  325. mteb/tasks/classification/tur/turkish_movie_sentiment_classification.py +1 -2
  326. mteb/tasks/classification/tur/turkish_product_sentiment_classification.py +1 -2
  327. mteb/tasks/classification/ukr/ukr_formality_classification.py +2 -15
  328. mteb/tasks/classification/urd/urdu_roman_sentiment_classification.py +1 -2
  329. mteb/tasks/classification/vie/amazon_counterfactual_vn_classification.py +1 -6
  330. mteb/tasks/classification/vie/amazon_polarity_vn_classification.py +1 -6
  331. mteb/tasks/classification/vie/amazon_reviews_vn_classification.py +1 -5
  332. mteb/tasks/classification/vie/banking77_vn_classification.py +1 -5
  333. mteb/tasks/classification/vie/emotion_vn_classification.py +1 -5
  334. mteb/tasks/classification/vie/imdb_vn_classification.py +1 -5
  335. mteb/tasks/classification/vie/massive_intent_vn_classification.py +1 -5
  336. mteb/tasks/classification/vie/massive_scenario_vn_classification.py +1 -5
  337. mteb/tasks/classification/vie/mtop_domain_vn_classification.py +1 -5
  338. mteb/tasks/classification/vie/mtop_intent_vn_classification.py +1 -5
  339. mteb/tasks/classification/vie/toxic_conversations_vn_classification.py +1 -5
  340. mteb/tasks/classification/vie/tweet_sentiment_extraction_vn_classification.py +1 -5
  341. mteb/tasks/classification/vie/vie_student_feedback_classification.py +1 -2
  342. mteb/tasks/classification/zho/cmteb_classification.py +5 -10
  343. mteb/tasks/classification/zho/yue_openrice_review_classification.py +1 -2
  344. mteb/tasks/classification/zul/isi_zulu_news_classification.py +1 -2
  345. mteb/tasks/clustering/jpn/mews_c16_ja_clustering.py +1 -3
  346. mteb/tasks/clustering/multilingual/sib200_clustering_s2s.py +1 -6
  347. mteb/tasks/clustering/nld/dutch_news_articles_clustering_p2p.py +3 -0
  348. mteb/tasks/clustering/nld/dutch_news_articles_clustering_s2s.py +3 -0
  349. mteb/tasks/clustering/nld/iconclass_clustering_s2s.py +3 -0
  350. mteb/tasks/clustering/nld/open_tender_clustering_p2p.py +3 -0
  351. mteb/tasks/clustering/nld/open_tender_clustering_s2s.py +3 -0
  352. mteb/tasks/clustering/nld/vabb_clustering_p2p.py +3 -0
  353. mteb/tasks/clustering/nld/vabb_clustering_s2s.py +3 -0
  354. mteb/tasks/clustering/vie/reddit_clustering_p2p_vn.py +1 -5
  355. mteb/tasks/clustering/vie/reddit_clustering_vn.py +1 -5
  356. mteb/tasks/clustering/vie/stack_exchange_clustering_p2p_vn.py +1 -5
  357. mteb/tasks/clustering/vie/stack_exchange_clustering_vn.py +1 -5
  358. mteb/tasks/clustering/vie/twenty_newsgroups_clustering_vn.py +1 -5
  359. mteb/tasks/multilabel_classification/ita/emit_classification.py +1 -5
  360. mteb/tasks/multilabel_classification/kor/kor_hate_speech_ml_classification.py +1 -9
  361. mteb/tasks/multilabel_classification/mlt/maltese_news_classification.py +1 -6
  362. mteb/tasks/multilabel_classification/nld/covid_disinformation_nl_multi_label_classification.py +3 -0
  363. mteb/tasks/multilabel_classification/nld/vabb_multi_label_classification.py +3 -0
  364. mteb/tasks/multilabel_classification/por/brazilian_toxic_tweets_classification.py +1 -6
  365. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_group_classification.py +1 -1
  366. mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_subclass_classification.py +1 -2
  367. mteb/tasks/pair_classification/dan/talemaader_pc.py +1 -6
  368. mteb/tasks/pair_classification/eng/legal_bench_pc.py +1 -9
  369. mteb/tasks/pair_classification/nld/sick_nl_pair_classification.py +3 -0
  370. mteb/tasks/pair_classification/nld/xlwic_nl_pair_classification.py +3 -0
  371. mteb/tasks/pair_classification/rus/__init__.py +2 -2
  372. mteb/tasks/pair_classification/rus/terra.py +51 -25
  373. mteb/tasks/pair_classification/vie/sprint_duplicate_questions_pcvn.py +1 -5
  374. mteb/tasks/pair_classification/vie/twitter_sem_eval2015_pcvn.py +1 -5
  375. mteb/tasks/pair_classification/vie/twitter_url_corpus_pcvn.py +1 -5
  376. mteb/tasks/regression/multilingual/ru_sci_bench_regression.py +2 -6
  377. mteb/tasks/reranking/jpn/__init__.py +9 -1
  378. mteb/tasks/reranking/jpn/j_qa_ra_reranking_lite.py +49 -0
  379. mteb/tasks/reranking/jpn/ja_cwir_reranking_lite.py +47 -0
  380. mteb/tasks/reranking/multilingual/__init__.py +2 -0
  381. mteb/tasks/reranking/multilingual/multi_long_doc_reranking.py +70 -0
  382. mteb/tasks/reranking/multilingual/x_glue_wpr_reranking.py +1 -2
  383. mteb/tasks/reranking/vie/ask_ubuntu_dup_questions_vn.py +1 -5
  384. mteb/tasks/reranking/vie/sci_docs_reranking_vn.py +1 -5
  385. mteb/tasks/reranking/vie/stack_overflow_dup_questions_vn.py +1 -5
  386. mteb/tasks/retrieval/code/fresh_stack_retrieval.py +8 -5
  387. mteb/tasks/retrieval/eng/lit_search_retrieval.py +1 -8
  388. mteb/tasks/retrieval/eng/vidore_bench_retrieval.py +4 -0
  389. mteb/tasks/retrieval/jpn/__init__.py +8 -0
  390. mteb/tasks/retrieval/jpn/ja_cwir_retrieval.py +1 -4
  391. mteb/tasks/retrieval/jpn/ja_cwir_retrieval_lite.py +47 -0
  392. mteb/tasks/retrieval/jpn/jaqket_retrieval_lite.py +50 -0
  393. mteb/tasks/retrieval/jpn/miracl_ja_retrieval_lite.py +52 -0
  394. mteb/tasks/retrieval/jpn/mr_tydi_ja_retrieval_lite.py +48 -0
  395. mteb/tasks/retrieval/kat/georgian_faq_retrieval.py +11 -4
  396. mteb/tasks/retrieval/kor/__init__.py +2 -1
  397. mteb/tasks/retrieval/kor/squad_kor_v1_retrieval.py +47 -0
  398. mteb/tasks/retrieval/multilingual/__init__.py +22 -0
  399. mteb/tasks/retrieval/multilingual/belebele_retrieval.py +5 -4
  400. mteb/tasks/retrieval/multilingual/jina_vdr_bench_retrieval.py +56 -42
  401. mteb/tasks/retrieval/multilingual/mkqa_retrieval.py +1 -2
  402. mteb/tasks/retrieval/multilingual/mlqa_retrieval.py +1 -4
  403. mteb/tasks/retrieval/multilingual/multi_long_doc_retrieval.py +1 -2
  404. mteb/tasks/retrieval/multilingual/public_health_qa_retrieval.py +9 -4
  405. mteb/tasks/retrieval/multilingual/ru_sci_bench_retrieval.py +2 -12
  406. mteb/tasks/retrieval/multilingual/vidore2_bench_retrieval.py +4 -2
  407. mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +399 -0
  408. mteb/tasks/retrieval/nld/__init__.py +8 -4
  409. mteb/tasks/retrieval/nld/argu_ana_nl_retrieval.py +46 -27
  410. mteb/tasks/retrieval/nld/bbsard_nl_retrieval.py +3 -0
  411. mteb/tasks/retrieval/nld/dutch_news_articles_retrieval.py +3 -0
  412. mteb/tasks/retrieval/nld/legal_qa_nl_retrieval.py +3 -0
  413. mteb/tasks/retrieval/nld/nf_corpus_nl_retrieval.py +42 -25
  414. mteb/tasks/retrieval/nld/open_tender_retrieval.py +3 -0
  415. mteb/tasks/retrieval/nld/sci_fact_nl_retrieval.py +42 -24
  416. mteb/tasks/retrieval/nld/scidocsnl_retrieval.py +44 -27
  417. mteb/tasks/retrieval/nld/vabb_retrieval.py +3 -0
  418. mteb/tasks/retrieval/slk/slovak_sum_retrieval.py +1 -7
  419. mteb/tasks/retrieval/vie/argu_ana_vn_retrieval.py +1 -5
  420. mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +1 -5
  421. mteb/tasks/retrieval/vie/cqa_dupstack_android_vn_retrieval.py +1 -5
  422. mteb/tasks/retrieval/vie/cqa_dupstack_gis_vn_retrieval.py +1 -5
  423. mteb/tasks/retrieval/vie/cqa_dupstack_mathematica_vn_retrieval.py +1 -5
  424. mteb/tasks/retrieval/vie/cqa_dupstack_physics_vn_retrieval.py +1 -5
  425. mteb/tasks/retrieval/vie/cqa_dupstack_programmers_vn_retrieval.py +1 -5
  426. mteb/tasks/retrieval/vie/cqa_dupstack_stats_vn_retrieval.py +1 -5
  427. mteb/tasks/retrieval/vie/cqa_dupstack_tex_vn_retrieval.py +1 -5
  428. mteb/tasks/retrieval/vie/cqa_dupstack_unix_vn_retrieval.py +1 -5
  429. mteb/tasks/retrieval/vie/cqa_dupstack_webmasters_vn_retrieval.py +1 -5
  430. mteb/tasks/retrieval/vie/cqa_dupstack_wordpress_vn_retrieval.py +1 -5
  431. mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +1 -5
  432. mteb/tasks/retrieval/vie/fevervn_retrieval.py +1 -7
  433. mteb/tasks/retrieval/vie/fi_qa2018_vn_retrieval.py +1 -5
  434. mteb/tasks/retrieval/vie/green_node_table_markdown_retrieval.py +16 -1
  435. mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +1 -6
  436. mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +1 -5
  437. mteb/tasks/retrieval/vie/nf_corpus_vn_retrieval.py +1 -5
  438. mteb/tasks/retrieval/vie/nqvn_retrieval.py +1 -5
  439. mteb/tasks/retrieval/vie/quora_vn_retrieval.py +1 -6
  440. mteb/tasks/retrieval/vie/sci_fact_vn_retrieval.py +1 -5
  441. mteb/tasks/retrieval/vie/scidocsvn_retrieval.py +1 -6
  442. mteb/tasks/retrieval/vie/touche2020_vn_retrieval.py +1 -5
  443. mteb/tasks/retrieval/vie/treccovidvn_retrieval.py +1 -5
  444. mteb/tasks/sts/nld/sick_nl_sts.py +1 -0
  445. mteb/tasks/sts/vie/biosses_stsvn.py +1 -5
  446. mteb/tasks/sts/vie/sickr_stsvn.py +1 -5
  447. mteb/tasks/sts/vie/sts_benchmark_stsvn.py +1 -5
  448. mteb/tasks/zeroshot_classification/eng/gtsrb.py +1 -1
  449. mteb/tasks/zeroshot_classification/eng/patch_camelyon.py +1 -1
  450. mteb/tasks/zeroshot_classification/eng/ucf101.py +1 -5
  451. mteb/types/_encoder_io.py +7 -2
  452. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/METADATA +11 -5
  453. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/RECORD +457 -391
  454. mteb/models/model_implementations/nb_sbert.py +0 -25
  455. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/WHEEL +0 -0
  456. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/entry_points.txt +0 -0
  457. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/licenses/LICENSE +0 -0
  458. {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/top_level.txt +0 -0
@@ -7,13 +7,225 @@ from torch.utils.data import DataLoader
7
7
 
8
8
  from mteb.abstasks.task_metadata import TaskMetadata
9
9
  from mteb.models.abs_encoder import AbsEncoder
10
+ from mteb.models.instruct_wrapper import InstructSentenceTransformerModel
11
+ from mteb.models.model_implementations.bge_models import (
12
+ bge_chinese_training_data,
13
+ bge_full_data,
14
+ bge_m3_training_data,
15
+ )
16
+ from mteb.models.model_implementations.e5_instruct import E5_MISTRAL_TRAINING_DATA
17
+ from mteb.models.model_implementations.nvidia_models import nvidia_training_datasets
18
+ from mteb.models.model_implementations.qzhou_models import qzhou_training_data
10
19
  from mteb.models.model_meta import ModelMeta, ScoringFunction
11
20
  from mteb.types import Array, BatchedInput, PromptType
12
21
 
13
- from .nvidia_models import nvidia_training_datasets
14
-
15
22
  logger = logging.getLogger(__name__)
16
23
 
24
+ jasper_token_compression_600m_prompts_dict = {
25
+ "AFQMC": "Retrieve semantically similar text",
26
+ "AILACasedocs": {
27
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
28
+ "document": "",
29
+ },
30
+ "AILAStatutes": {
31
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
32
+ "document": "",
33
+ },
34
+ "ATEC": "Retrieve semantically similar text",
35
+ "AmazonCounterfactualClassification": "Classify a given Amazon customer review text as either counterfactual or not-counterfactual",
36
+ "ArXivHierarchicalClusteringP2P": "Identify the main and secondary category of Arxiv papers based on the titles and abstracts",
37
+ "ArXivHierarchicalClusteringS2S": "Identify the main and secondary category of Arxiv papers based on the titles",
38
+ "ArguAna": {
39
+ "query": "Given a claim, find documents that refute the claim",
40
+ "document": "Given a claim, find documents that refute the claim",
41
+ },
42
+ "AskUbuntuDupQuestions": {
43
+ "query": "Retrieve duplicate questions from AskUbuntu forum",
44
+ "document": "",
45
+ },
46
+ "BIOSSES": "Retrieve semantically similar text",
47
+ "BQ": "Retrieve semantically similar text",
48
+ "Banking77Classification": "Given a online banking query, find the corresponding intents",
49
+ "BiorxivClusteringP2P.v2": "Identify the main category of Biorxiv papers based on the titles and abstracts",
50
+ "CLSClusteringP2P": "Identify the main category of scholar papers based on the titles and abstracts",
51
+ "CLSClusteringS2S": "Identify the main category of scholar papers based on the titles",
52
+ "CMedQAv1-reranking": {
53
+ "query": "Given a Chinese community medical question, retrieve replies that best answer the question",
54
+ "document": "",
55
+ },
56
+ "CMedQAv2-reranking": {
57
+ "query": "Given a Chinese community medical question, retrieve replies that best answer the question",
58
+ "document": "",
59
+ },
60
+ "CQADupstackGamingRetrieval": {
61
+ "query": "Given a question, retrieve detailed question descriptions from Stackexchange that are duplicates to the given question",
62
+ "document": "Given a question, retrieve detailed question descriptions from Stackexchange that are duplicates to the given question",
63
+ },
64
+ "CQADupstackUnixRetrieval": {
65
+ "query": "Given a question, retrieve detailed question descriptions from Stackexchange that are duplicates to the given question",
66
+ "document": "Given a question, retrieve detailed question descriptions from Stackexchange that are duplicates to the given question",
67
+ },
68
+ "ClimateFEVERHardNegatives": {
69
+ "query": "Given a claim about climate change, retrieve documents that support or refute the claim",
70
+ "document": "",
71
+ },
72
+ "CmedqaRetrieval": {
73
+ "query": "Given a Chinese community medical question, retrieve replies that best answer the question",
74
+ "document": "",
75
+ },
76
+ "Cmnli": "Retrieve semantically similar text.",
77
+ "CovidRetrieval": {
78
+ "query": "Given a question on COVID-19, retrieve news articles that answer the question",
79
+ "document": "",
80
+ },
81
+ "DuRetrieval": {
82
+ "query": "Given a Chinese search query, retrieve web passages that answer the question",
83
+ "document": "",
84
+ },
85
+ "EcomRetrieval": {
86
+ "query": "Given a user query from an e-commerce website, retrieve description sentences of relevant products",
87
+ "document": "",
88
+ },
89
+ "FEVERHardNegatives": {
90
+ "query": "Given a claim, retrieve documents that support or refute the claim",
91
+ "document": "",
92
+ },
93
+ "FiQA2018": {
94
+ "query": "Given a financial question, retrieve user replies that best answer the question",
95
+ "document": "",
96
+ },
97
+ "GerDaLIRSmall": {
98
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
99
+ "document": "",
100
+ },
101
+ "HotpotQAHardNegatives": {
102
+ "query": "Given a multi-hop question, retrieve documents that can help answer the question",
103
+ "document": "",
104
+ },
105
+ "IFlyTek": "Given an App description text, find the appropriate fine-grained category",
106
+ "ImdbClassification": "Classify the sentiment expressed in the given movie review text from the IMDB dataset",
107
+ "JDReview": "Classify the customer review for iPhone on e-commerce platform into positive or negative",
108
+ "LCQMC": "Retrieve semantically similar text",
109
+ "LeCaRDv2": {
110
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
111
+ "document": "",
112
+ },
113
+ "LegalBenchConsumerContractsQA": {
114
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
115
+ "document": "",
116
+ },
117
+ "LegalBenchCorporateLobbying": {
118
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
119
+ "document": "",
120
+ },
121
+ "LegalQuAD": {
122
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
123
+ "document": "",
124
+ },
125
+ "LegalSummarization": {
126
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
127
+ "document": "",
128
+ },
129
+ "MMarcoReranking": {
130
+ "query": "Given a Chinese search query, retrieve web passages that answer the question",
131
+ "document": "",
132
+ },
133
+ "MMarcoRetrieval": {
134
+ "query": "Given a web search query, retrieve relevant passages that answer the query",
135
+ "document": "",
136
+ },
137
+ "MTOPDomainClassification": "Classify the intent domain of the given utterance in task-oriented conversation",
138
+ "MassiveIntentClassification": "Given a user utterance as query, find the user intents",
139
+ "MassiveScenarioClassification": "Given a user utterance as query, find the user scenarios",
140
+ "MedicalRetrieval": {
141
+ "query": "Given a medical question, retrieve user replies that best answer the question",
142
+ "document": "",
143
+ },
144
+ "MedrxivClusteringP2P.v2": "Identify the main category of Medrxiv papers based on the titles and abstracts",
145
+ "MedrxivClusteringS2S.v2": "Identify the main category of Medrxiv papers based on the titles",
146
+ "MindSmallReranking": {
147
+ "query": "Retrieve relevant news articles based on user browsing history",
148
+ "document": "",
149
+ },
150
+ "MultilingualSentiment": "Classify sentiment of the customer review into positive, neutral, or negative",
151
+ "Ocnli": "Retrieve semantically similar text.",
152
+ "OnlineShopping": "Classify the customer review for online shopping into positive or negative",
153
+ "PAWSX": "Retrieve semantically similar text",
154
+ "QBQTC": "Retrieve semantically similar text",
155
+ "SCIDOCS": {
156
+ "query": "Given a scientific paper title, retrieve paper abstracts that are cited by the given paper",
157
+ "document": "",
158
+ },
159
+ "SICK-R": "Retrieve semantically similar text",
160
+ "STS12": "Retrieve semantically similar text",
161
+ "STS13": "Retrieve semantically similar text",
162
+ "STS14": "Retrieve semantically similar text",
163
+ "STS15": "Retrieve semantically similar text",
164
+ "STS17": "Retrieve semantically similar text",
165
+ "STS22.v2": "Retrieve semantically similar text",
166
+ "STSB": "Retrieve semantically similar text",
167
+ "STSBenchmark": "Retrieve semantically similar text",
168
+ "SprintDuplicateQuestions": "Retrieve duplicate questions from Sprint forum",
169
+ "StackExchangeClustering.v2": "Identify the topic or theme of StackExchange posts based on the titles",
170
+ "StackExchangeClusteringP2P.v2": "Identify the topic or theme of StackExchange posts based on the given paragraphs",
171
+ "SummEvalSummarization.v2": "Retrieve semantically similar text",
172
+ "T2Reranking": {
173
+ "query": "Given a Chinese search query, retrieve web passages that answer the question",
174
+ "document": "",
175
+ },
176
+ "T2Retrieval": {
177
+ "query": "Given a Chinese search query, retrieve web passages that answer the question",
178
+ "document": "",
179
+ },
180
+ "TNews": "Classify the fine-grained category of the given news title",
181
+ "TRECCOVID": {
182
+ "query": "Given a query on COVID-19, retrieve documents that answer the query",
183
+ "document": "",
184
+ },
185
+ "ThuNewsClusteringP2P": "Identify the topic or theme of the given news articles based on the titles and contents",
186
+ "ThuNewsClusteringS2S": "Identify the topic or theme of the given news articles based on the titles",
187
+ "Touche2020Retrieval.v3": {
188
+ "query": "Given a question, retrieve detailed and persuasive arguments that answer the question",
189
+ "document": "",
190
+ },
191
+ "ToxicConversationsClassification": "Classify the given comments as either toxic or not toxic",
192
+ "TweetSentimentExtractionClassification": "Classify the sentiment of a given tweet as either positive, negative, or neutral",
193
+ "TwentyNewsgroupsClustering.v2": "Identify the topic or theme of the given news articles",
194
+ "TwitterSemEval2015": "Retrieve tweets that are semantically similar to the given tweet",
195
+ "TwitterURLCorpus": "Retrieve tweets that are semantically similar to the given tweet",
196
+ "VideoRetrieval": {
197
+ "query": "Given a video search query, retrieve the titles of relevant videos",
198
+ "document": "",
199
+ },
200
+ "Waimai": "Classify the customer review from a food takeaway platform into positive or negative",
201
+ }
202
+ jasper_token_compression_600m_loader_kwargs = dict(
203
+ model_kwargs={
204
+ "attn_implementation": "sdpa",
205
+ "torch_dtype": "bfloat16",
206
+ "trust_remote_code": True,
207
+ },
208
+ tokenizer_kwargs={"padding_side": "left"},
209
+ trust_remote_code=True,
210
+ prompts_dict=jasper_token_compression_600m_prompts_dict,
211
+ apply_instruction_to_passages=True,
212
+ instruction_template="Instruct: {instruction}\nQuery: ",
213
+ max_seq_length=1024,
214
+ )
215
+
216
+
217
+ def instruction_template(
218
+ instruction: str, prompt_type: PromptType | None = None
219
+ ) -> str:
220
+ if not instruction or prompt_type == PromptType.document:
221
+ return ""
222
+ if isinstance(instruction, dict):
223
+ if prompt_type is None:
224
+ instruction = "Given a web search query, retrieve relevant passages that answer the query"
225
+ else:
226
+ instruction = instruction[prompt_type]
227
+ return f"Instruct: {instruction}\nQuery:"
228
+
17
229
 
18
230
  class JasperModel(AbsEncoder):
19
231
  def __init__(
@@ -74,6 +286,7 @@ jasper_en_v1 = ModelMeta(
74
286
  instruction_template="Instruct: {instruction}\nQuery: ",
75
287
  ),
76
288
  name="NovaSearch/jasper_en_vision_language_v1",
289
+ model_type=["dense"],
77
290
  languages=["eng-Latn"],
78
291
  open_weights=True,
79
292
  revision="d6330ce98f8a0d741e781df845904c9484f00efa",
@@ -114,3 +327,43 @@ jasper_en_v1 = ModelMeta(
114
327
  }
115
328
  """,
116
329
  )
330
+
331
+
332
+ Jasper_Token_Compression_600M = ModelMeta(
333
+ loader=InstructSentenceTransformerModel,
334
+ loader_kwargs=jasper_token_compression_600m_loader_kwargs,
335
+ name="infgrad/Jasper-Token-Compression-600M",
336
+ model_type=["dense"],
337
+ languages=["eng-Latn", "zho-Hans"],
338
+ open_weights=True,
339
+ revision="06a100f753a5a96d9e583b3af79c6fcdfacc4719",
340
+ release_date="2025-11-14",
341
+ n_parameters=595776512,
342
+ memory_usage_mb=2272,
343
+ embed_dim=2048,
344
+ license="mit",
345
+ max_tokens=32768,
346
+ reference="https://huggingface.co/infgrad/Jasper-Token-Compression-600M",
347
+ similarity_fn_name="cosine",
348
+ framework=["Sentence Transformers", "PyTorch"],
349
+ use_instructions=True,
350
+ public_training_code="https://github.com/DunZhang/Jasper-Token-Compression-Training",
351
+ # public_training_data: unsupervised data for distillation
352
+ public_training_data="https://huggingface.co/datasets/infgrad/jasper_text_distill_dataset",
353
+ training_datasets=bge_m3_training_data
354
+ | bge_chinese_training_data
355
+ | bge_full_data
356
+ | E5_MISTRAL_TRAINING_DATA
357
+ | qzhou_training_data,
358
+ citation="""
359
+ @misc{zhang2025jaspertokencompression600mtechnicalreport,
360
+ title={Jasper-Token-Compression-600M Technical Report},
361
+ author={Dun Zhang and Ziyang Zeng and Yudong Zhou and Shuyang Lu},
362
+ year={2025},
363
+ eprint={2511.14405},
364
+ archivePrefix={arXiv},
365
+ primaryClass={cs.IR},
366
+ url={https://arxiv.org/abs/2511.14405},
367
+ }
368
+ """,
369
+ )
@@ -123,6 +123,7 @@ class JinaCLIPModel(AbsEncoder):
123
123
  jina_clip_v1 = ModelMeta(
124
124
  loader=JinaCLIPModel, # type: ignore
125
125
  name="jinaai/jina-clip-v1",
126
+ model_type=["dense"],
126
127
  languages=["eng-Latn"],
127
128
  revision="06150c7c382d7a4faedc7d5a0d8cdb59308968f4",
128
129
  release_date="2024-05-30",
@@ -1,8 +1,10 @@
1
1
  import logging
2
+ from collections import defaultdict
2
3
  from typing import Any, ClassVar
3
4
 
4
5
  import numpy as np
5
6
  import torch
7
+ from sentence_transformers import CrossEncoder
6
8
  from torch.utils.data import DataLoader
7
9
 
8
10
  from mteb._requires_package import requires_package
@@ -10,13 +12,92 @@ from mteb.abstasks.task_metadata import TaskMetadata
10
12
  from mteb.languages import PROGRAMMING_LANGS
11
13
  from mteb.models.abs_encoder import AbsEncoder
12
14
  from mteb.models.model_meta import ModelMeta, ScoringFunction
13
- from mteb.models.sentence_transformer_wrapper import SentenceTransformerEncoderWrapper
15
+ from mteb.models.sentence_transformer_wrapper import (
16
+ CrossEncoderWrapper,
17
+ SentenceTransformerEncoderWrapper,
18
+ )
14
19
  from mteb.types import Array, BatchedInput, PromptType
15
20
 
16
21
  logger = logging.getLogger(__name__)
17
22
 
18
23
  MIN_SENTENCE_TRANSFORMERS_VERSION = (3, 1, 0)
19
24
 
25
+ multilingual_langs = [
26
+ "afr-Latn",
27
+ "ara-Arab",
28
+ "aze-Latn",
29
+ "bel-Cyrl",
30
+ "bul-Cyrl",
31
+ "ben-Beng",
32
+ "cat-Latn",
33
+ "ceb-Latn",
34
+ "ces-Latn",
35
+ "cym-Latn",
36
+ "dan-Latn",
37
+ "deu-Latn",
38
+ "ell-Grek",
39
+ "eng-Latn",
40
+ "spa-Latn",
41
+ "est-Latn",
42
+ "eus-Latn",
43
+ "fas-Arab",
44
+ "fin-Latn",
45
+ "fra-Latn",
46
+ "glg-Latn",
47
+ "guj-Gujr",
48
+ "heb-Hebr",
49
+ "hin-Deva",
50
+ "hrv-Latn",
51
+ "hat-Latn",
52
+ "hun-Latn",
53
+ "hye-Armn",
54
+ "ind-Latn",
55
+ "isl-Latn",
56
+ "ita-Latn",
57
+ "jpn-Jpan",
58
+ "jav-Latn",
59
+ "kat-Geor",
60
+ "kaz-Cyrl",
61
+ "khm-Khmr",
62
+ "kan-Knda",
63
+ "kor-Hang",
64
+ "kir-Cyrl",
65
+ "lao-Laoo",
66
+ "lit-Latn",
67
+ "lav-Latn",
68
+ "mkd-Cyrl",
69
+ "mal-Mlym",
70
+ "mon-Cyrl",
71
+ "mar-Deva",
72
+ "msa-Latn",
73
+ "mya-Mymr",
74
+ "nep-Deva",
75
+ "nld-Latn",
76
+ "nor-Latn",
77
+ "nob-Latn",
78
+ "nno-Latn",
79
+ "pan-Guru",
80
+ "pol-Latn",
81
+ "por-Latn",
82
+ "que-Latn",
83
+ "ron-Latn",
84
+ "rus-Cyrl",
85
+ "sin-Sinh",
86
+ "slk-Latn",
87
+ "slv-Latn",
88
+ "swa-Latn",
89
+ "tam-Taml",
90
+ "tel-Telu",
91
+ "tha-Thai",
92
+ "tgl-Latn",
93
+ "tur-Latn",
94
+ "ukr-Cyrl",
95
+ "urd-Arab",
96
+ "vie-Latn",
97
+ "yor-Latn",
98
+ "zho-Hans",
99
+ ]
100
+
20
101
  XLMR_LANGUAGES = [
21
102
  "afr-Latn",
22
103
  "amh-Latn",
@@ -119,6 +200,28 @@ XLMR_LANGUAGES = [
119
200
  "zho-Hans",
120
201
  ]
121
202
 
203
+ JINARerankerV3_TRAINING_DATA = {
204
+ "MIRACLRetrieval",
205
+ "MIRACLRetrievalHardNegatives",
206
+ "MIRACLReranking",
207
+ "CMedQAv1-reranking",
208
+ "CMedQAv2-reranking",
209
+ "MrTidyRetrieval",
210
+ "T2Reranking",
211
+ "MSMARCO",
212
+ "MSMARCOHardNegatives",
213
+ "NQ",
214
+ "NQHardNegatives",
215
+ "HotpotQA",
216
+ "HotpotQAHardNegatives",
217
+ "T2Retrieval",
218
+ "DuRetrieval",
219
+ "MMarcoReranking",
220
+ "CornStack",
221
+ "MultiLongDocRetrieval",
222
+ "StackOverflowQA",
223
+ }
224
+
122
225
  JinaV4_TRAINING_DATA = {
123
226
  "MSMARCO",
124
227
  "MSMARCOHardNegatives",
@@ -139,14 +242,72 @@ JinaV4_TRAINING_DATA = {
139
242
  "CornStack",
140
243
  "VDRMultilingualRetrieval",
141
244
  # from https://huggingface.co/datasets/vidore/colpali_train_set
142
- "DocVQA",
143
- "InfoVQA",
144
- "TATDQA",
145
- "arXivQA",
245
+ "VidoreDocVQARetrieval",
246
+ "VidoreInfoVQARetrieval",
247
+ "VidoreTatdqaRetrieval",
248
+ "VidoreArxivQARetrieval",
146
249
  # "other", # inhouse dataset including synthetic datasets
147
250
  }
148
251
 
149
252
 
253
+ class JinaRerankerV3Wrapper(CrossEncoderWrapper):
254
+ """Wrapper integration for MTEB."""
255
+
256
+ def __init__(
257
+ self,
258
+ model: CrossEncoder | str,
259
+ revision: str | None = None,
260
+ trust_remote_code: bool = True,
261
+ **kwargs: Any,
262
+ ) -> None:
263
+ from sentence_transformers.util import get_device_name
264
+ from transformers import AutoModel
265
+
266
+ self.model = AutoModel.from_pretrained(
267
+ model, trust_remote_code=trust_remote_code, dtype="auto"
268
+ )
269
+
270
+ device = kwargs.get("device", None)
271
+ if device is None:
272
+ device = get_device_name()
273
+ logger.info(f"Use pytorch device: {device}")
274
+
275
+ self.model.to(device)
276
+ self.model.eval()
277
+
278
+ def predict(
279
+ self,
280
+ inputs1: DataLoader[BatchedInput],
281
+ inputs2: DataLoader[BatchedInput],
282
+ *,
283
+ task_metadata: TaskMetadata,
284
+ hf_split: str,
285
+ hf_subset: str,
286
+ prompt_type: PromptType | None = None,
287
+ **kwargs: Any,
288
+ ) -> Array:
289
+ all_corpus = [text for batch in inputs2 for text in batch["text"]]
290
+ all_queries = [text for batch in inputs1 for text in batch["text"]]
291
+
292
+ sentences_count = len(all_corpus)
293
+ query_groups: dict[str, list[tuple[int, str]]] = defaultdict(list)
294
+ for idx, (query, doc) in enumerate(zip(all_queries, all_corpus)):
295
+ query_groups[query].append((idx, doc))
296
+
297
+ results = np.zeros(sentences_count, dtype=np.float32)
298
+ for query, doc_infos in query_groups.items():
299
+ original_indices, docs = zip(*doc_infos)
300
+
301
+ scores = self.model.rerank(
302
+ query, list(docs), max_query_length=3072, max_doc_length=2048
303
+ )
304
+ for scr in scores:
305
+ original_idx = original_indices[scr["index"]]
306
+ results[original_idx] = float(scr["relevance_score"])
307
+
308
+ return results
309
+
310
+
150
311
  class JinaWrapper(SentenceTransformerEncoderWrapper):
151
312
  """following the hf model card documentation."""
152
313
 
@@ -553,6 +714,43 @@ def get_programming_task_override(
553
714
  return current_task_name
554
715
 
555
716
 
717
+ jina_reranker_v3 = ModelMeta(
718
+ loader=JinaRerankerV3Wrapper,
719
+ loader_kwargs=dict(
720
+ trust_remote_code=True,
721
+ ),
722
+ name="jinaai/jina-reranker-v3",
723
+ model_type=["cross-encoder"],
724
+ languages=multilingual_langs,
725
+ open_weights=True,
726
+ revision="050e171c4f75dfec5b648ed8470a2475e5a30f30",
727
+ release_date="2025-09-18", # official release date
728
+ modalities=["text"],
729
+ n_parameters=int(0.6 * 1e9),
730
+ memory_usage_mb=1138,
731
+ max_tokens=131072,
732
+ embed_dim=None,
733
+ license="cc-by-nc-4.0",
734
+ similarity_fn_name=None,
735
+ framework=["PyTorch"],
736
+ use_instructions=None,
737
+ reference="https://huggingface.co/jinaai/jina-reranker-v3",
738
+ public_training_code=None,
739
+ public_training_data=None,
740
+ training_datasets=JINARerankerV3_TRAINING_DATA,
741
+ adapted_from="Qwen/Qwen3-0.6B",
742
+ citation="""@misc{wang2025jinarerankerv3lateinteractionlistwise,
743
+ title={jina-reranker-v3: Last but Not Late Interaction for Listwise Document Reranking},
744
+ author={Feng Wang and Yuqing Li and Han Xiao},
745
+ year={2025},
746
+ eprint={2509.25085},
747
+ archivePrefix={arXiv},
748
+ primaryClass={cs.CL},
749
+ url={https://arxiv.org/abs/2509.25085},}
750
+ """,
751
+ )
752
+
753
+
556
754
  jina_embeddings_v4 = ModelMeta(
557
755
  loader=JinaV4Wrapper,
558
756
  loader_kwargs=dict(
@@ -565,6 +763,7 @@ jina_embeddings_v4 = ModelMeta(
565
763
  },
566
764
  ),
567
765
  name="jinaai/jina-embeddings-v4",
766
+ model_type=["dense"],
568
767
  languages=XLMR_LANGUAGES,
569
768
  open_weights=True,
570
769
  revision="4a58ca57710c49f51896e4bc820e202fbf64904b",
@@ -613,6 +812,7 @@ jina_embeddings_v3 = ModelMeta(
613
812
  },
614
813
  ),
615
814
  name="jinaai/jina-embeddings-v3",
815
+ model_type=["dense"],
616
816
  languages=XLMR_LANGUAGES,
617
817
  open_weights=True,
618
818
  revision="215a6e121fa0183376388ac6b1ae230326bfeaed",
@@ -666,6 +866,7 @@ jina_embeddings_v2_base_en = ModelMeta(
666
866
  trust_remote_code=True,
667
867
  ),
668
868
  name="jinaai/jina-embeddings-v2-base-en",
869
+ model_type=["dense"],
669
870
  languages=["eng-Latn"],
670
871
  open_weights=True,
671
872
  revision="6e85f575bc273f1fd840a658067d0157933c83f0",
@@ -729,6 +930,7 @@ jina_embeddings_v2_small_en = ModelMeta(
729
930
  trust_remote_code=True,
730
931
  ),
731
932
  name="jinaai/jina-embeddings-v2-small-en",
933
+ model_type=["dense"],
732
934
  languages=["eng-Latn"],
733
935
  open_weights=True,
734
936
  revision="44e7d1d6caec8c883c2d4b207588504d519788d0",
@@ -789,6 +991,7 @@ jina_embeddings_v2_small_en = ModelMeta(
789
991
  jina_embedding_b_en_v1 = ModelMeta(
790
992
  loader=SentenceTransformerEncoderWrapper,
791
993
  name="jinaai/jina-embedding-b-en-v1",
994
+ model_type=["dense"],
792
995
  languages=["eng-Latn"],
793
996
  open_weights=True,
794
997
  revision="32aa658e5ceb90793454d22a57d8e3a14e699516",
@@ -845,6 +1048,7 @@ jina_embedding_b_en_v1 = ModelMeta(
845
1048
  jina_embedding_s_en_v1 = ModelMeta(
846
1049
  loader=SentenceTransformerEncoderWrapper,
847
1050
  name="jinaai/jina-embedding-s-en-v1",
1051
+ model_type=["dense"],
848
1052
  languages=["eng-Latn"],
849
1053
  open_weights=True,
850
1054
  revision="5ac6cd473e2324c6d5f9e558a6a9f65abb57143e",