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.
- mteb/__init__.py +4 -0
- mteb/_create_dataloaders.py +6 -3
- mteb/_evaluators/any_sts_evaluator.py +21 -12
- mteb/_evaluators/classification_metrics.py +54 -0
- mteb/_evaluators/clustering_evaluator.py +1 -1
- mteb/_evaluators/image/imagetext_pairclassification_evaluator.py +9 -4
- mteb/_evaluators/pair_classification_evaluator.py +30 -38
- mteb/_evaluators/sklearn_evaluator.py +15 -28
- mteb/_evaluators/text/bitext_mining_evaluator.py +4 -1
- mteb/_evaluators/text/summarization_evaluator.py +4 -2
- mteb/_evaluators/zeroshot_classification_evaluator.py +2 -2
- mteb/abstasks/_data_filter/__init__.py +0 -0
- mteb/abstasks/_data_filter/filters.py +125 -0
- mteb/abstasks/_data_filter/task_pipelines.py +102 -0
- mteb/abstasks/_statistics_calculation.py +6 -2
- mteb/abstasks/classification.py +0 -2
- mteb/abstasks/clustering.py +1 -1
- mteb/abstasks/clustering_legacy.py +3 -0
- mteb/abstasks/multilabel_classification.py +10 -3
- mteb/abstasks/pair_classification.py +8 -1
- mteb/abstasks/sts.py +7 -0
- mteb/abstasks/task_metadata.py +1 -0
- mteb/benchmarks/_create_table.py +84 -37
- mteb/benchmarks/benchmark.py +74 -15
- mteb/benchmarks/benchmarks/__init__.py +8 -0
- mteb/benchmarks/benchmarks/benchmarks.py +259 -15
- mteb/benchmarks/get_benchmark.py +2 -0
- mteb/cache.py +47 -10
- mteb/deprecated_evaluator.py +8 -13
- mteb/descriptive_stats/BitextMining/RuSciBenchBitextMining.v2.json +61 -0
- mteb/descriptive_stats/Classification/HebrewSentimentAnalysis.v3.json +60 -0
- mteb/descriptive_stats/Classification/TurkishConstitutionalCourtViolation.json +54 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3ComputerScienceRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3EnergyRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceEnRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3FinanceFrRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3HrRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3IndustrialRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3NuclearRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PharmaceuticalsRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3PhysicsRetrieval.json +214 -0
- mteb/descriptive_stats/Image/DocumentUnderstanding/Vidore3TelecomRetrieval.json +214 -0
- mteb/descriptive_stats/PairClassification/TERRa.V2.json +35 -0
- mteb/descriptive_stats/Reranking/JQaRARerankingLite.json +35 -0
- mteb/descriptive_stats/Reranking/JaCWIRRerankingLite.json +35 -0
- mteb/descriptive_stats/Reranking/MultiLongDocReranking.json +466 -0
- mteb/descriptive_stats/Retrieval/ArguAna-NL.v2.json +30 -0
- mteb/descriptive_stats/Retrieval/JaCWIRRetrievalLite.json +30 -0
- mteb/descriptive_stats/Retrieval/JaqketRetrievalLite.json +30 -0
- mteb/descriptive_stats/Retrieval/MIRACLJaRetrievalLite.json +30 -0
- mteb/descriptive_stats/Retrieval/MrTyDiJaRetrievalLite.json +30 -0
- mteb/descriptive_stats/Retrieval/NFCorpus-NL.v2.json +30 -0
- mteb/descriptive_stats/Retrieval/SCIDOCS-NL.v2.json +30 -0
- mteb/descriptive_stats/Retrieval/SQuADKorV1Retrieval.json +30 -0
- mteb/descriptive_stats/Retrieval/SciFact-NL.v2.json +30 -0
- mteb/evaluate.py +65 -45
- mteb/leaderboard/app.py +268 -133
- mteb/leaderboard/benchmark_selector.py +14 -5
- mteb/leaderboard/figures.py +13 -15
- mteb/leaderboard/table.py +82 -17
- mteb/models/__init__.py +4 -1
- mteb/models/abs_encoder.py +21 -17
- mteb/models/cache_wrappers/__init__.py +2 -1
- mteb/models/cache_wrappers/cache_backends/_hash_utils.py +2 -2
- mteb/models/cache_wrappers/cache_wrapper.py +1 -1
- mteb/models/get_model_meta.py +3 -114
- mteb/models/instruct_wrapper.py +5 -1
- mteb/models/model_implementations/align_models.py +7 -0
- mteb/models/model_implementations/amazon_models.py +1 -0
- mteb/models/model_implementations/andersborges.py +65 -0
- mteb/models/model_implementations/ara_models.py +8 -0
- mteb/models/model_implementations/arctic_models.py +8 -0
- mteb/models/model_implementations/b1ade_models.py +1 -0
- mteb/models/model_implementations/bedrock_models.py +4 -0
- mteb/models/model_implementations/bge_models.py +60 -0
- mteb/models/model_implementations/bica_model.py +35 -0
- mteb/models/model_implementations/blip2_models.py +11 -0
- mteb/models/model_implementations/blip_models.py +27 -0
- mteb/models/model_implementations/bm25.py +1 -0
- mteb/models/model_implementations/bmretriever_models.py +4 -0
- mteb/models/model_implementations/cadet_models.py +9 -0
- mteb/models/model_implementations/cde_models.py +14 -0
- mteb/models/model_implementations/clip_models.py +3 -0
- mteb/models/model_implementations/clips_models.py +100 -0
- mteb/models/model_implementations/codefuse_models.py +162 -0
- mteb/models/model_implementations/codesage_models.py +15 -0
- mteb/models/model_implementations/cohere_models.py +8 -1
- mteb/models/model_implementations/cohere_v.py +5 -0
- mteb/models/model_implementations/colpali_models.py +14 -6
- mteb/models/model_implementations/colqwen_models.py +271 -1
- mteb/models/model_implementations/colsmol_models.py +2 -0
- mteb/models/model_implementations/conan_models.py +1 -0
- mteb/models/model_implementations/dino_models.py +171 -0
- mteb/models/model_implementations/e5_instruct.py +4 -0
- mteb/models/model_implementations/e5_models.py +12 -101
- mteb/models/model_implementations/e5_v.py +1 -0
- mteb/models/model_implementations/eagerworks_models.py +164 -0
- mteb/models/model_implementations/emillykkejensen_models.py +91 -0
- mteb/models/model_implementations/en_code_retriever.py +1 -0
- mteb/models/model_implementations/euler_models.py +32 -0
- mteb/models/model_implementations/evaclip_models.py +4 -0
- mteb/models/model_implementations/fa_models.py +58 -0
- mteb/models/model_implementations/facebookai.py +193 -0
- mteb/models/model_implementations/geogpt_models.py +1 -0
- mteb/models/model_implementations/gme_v_models.py +11 -5
- mteb/models/model_implementations/google_models.py +16 -5
- mteb/models/model_implementations/granite_vision_embedding_models.py +7 -2
- mteb/models/model_implementations/gritlm_models.py +2 -0
- mteb/models/model_implementations/gte_models.py +78 -0
- mteb/models/model_implementations/hinvec_models.py +1 -0
- mteb/models/model_implementations/human.py +1 -0
- mteb/models/model_implementations/ibm_granite_models.py +6 -0
- mteb/models/model_implementations/inf_models.py +2 -0
- mteb/models/model_implementations/jasper_models.py +255 -2
- mteb/models/model_implementations/jina_clip.py +1 -0
- mteb/models/model_implementations/jina_models.py +209 -5
- mteb/models/model_implementations/kalm_models.py +203 -25
- mteb/models/model_implementations/kblab.py +31 -0
- mteb/models/model_implementations/kennethenevoldsen_models.py +74 -0
- mteb/models/model_implementations/kfst.py +25 -0
- mteb/models/model_implementations/kowshik24_models.py +32 -0
- mteb/models/model_implementations/lens_models.py +2 -0
- mteb/models/model_implementations/lgai_embedding_models.py +1 -0
- mteb/models/model_implementations/linq_models.py +3 -2
- mteb/models/model_implementations/listconranker.py +1 -1
- mteb/models/model_implementations/llm2clip_models.py +3 -0
- mteb/models/model_implementations/llm2vec_models.py +8 -0
- mteb/models/model_implementations/mcinext_models.py +3 -0
- mteb/models/model_implementations/mdbr_models.py +2 -0
- mteb/models/model_implementations/misc_models.py +362 -0
- mteb/models/model_implementations/mme5_models.py +1 -0
- mteb/models/model_implementations/moco_models.py +11 -0
- mteb/models/model_implementations/mod_models.py +191 -0
- mteb/models/model_implementations/model2vec_models.py +13 -0
- mteb/models/model_implementations/moka_models.py +3 -0
- mteb/models/model_implementations/mxbai_models.py +9 -0
- mteb/models/model_implementations/nbailab.py +70 -0
- mteb/models/model_implementations/no_instruct_sentence_models.py +1 -0
- mteb/models/model_implementations/nomic_models.py +156 -4
- mteb/models/model_implementations/nomic_models_vision.py +7 -2
- mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +23 -16
- mteb/models/model_implementations/nvidia_models.py +4 -1
- mteb/models/model_implementations/octen_models.py +195 -0
- mteb/models/model_implementations/openai_models.py +20 -16
- mteb/models/model_implementations/openclip_models.py +24 -0
- mteb/models/model_implementations/opensearch_neural_sparse_models.py +5 -0
- mteb/models/model_implementations/ops_moa_models.py +4 -2
- mteb/models/model_implementations/pawan_models.py +39 -0
- mteb/models/model_implementations/piccolo_models.py +8 -0
- mteb/models/model_implementations/promptriever_models.py +8 -4
- mteb/models/model_implementations/pylate_models.py +37 -4
- mteb/models/model_implementations/qodo_models.py +2 -0
- mteb/models/model_implementations/qtack_models.py +1 -0
- mteb/models/model_implementations/qwen3_models.py +6 -3
- mteb/models/model_implementations/qzhou_models.py +3 -1
- mteb/models/model_implementations/random_baseline.py +16 -21
- mteb/models/model_implementations/rasgaard_models.py +34 -0
- mteb/models/model_implementations/reasonir_model.py +1 -0
- mteb/models/model_implementations/repllama_models.py +2 -0
- mteb/models/model_implementations/rerankers_custom.py +3 -3
- mteb/models/model_implementations/rerankers_monot5_based.py +14 -14
- mteb/models/model_implementations/richinfoai_models.py +1 -0
- mteb/models/model_implementations/ru_sentence_models.py +51 -0
- mteb/models/model_implementations/ruri_models.py +322 -0
- mteb/models/model_implementations/salesforce_models.py +3 -0
- mteb/models/model_implementations/samilpwc_models.py +1 -0
- mteb/models/model_implementations/sarashina_embedding_models.py +168 -0
- mteb/models/model_implementations/searchmap_models.py +1 -0
- mteb/models/model_implementations/seed_1_6_embedding_models.py +8 -2
- mteb/models/model_implementations/seed_1_6_embedding_models_1215.py +658 -0
- mteb/models/model_implementations/seed_models.py +1 -0
- mteb/models/model_implementations/sentence_transformers_models.py +57 -0
- mteb/models/model_implementations/shuu_model.py +32 -31
- mteb/models/model_implementations/siglip_models.py +10 -0
- mteb/models/model_implementations/sonar_models.py +1 -0
- mteb/models/model_implementations/spartan8806_atles_champion.py +34 -0
- mteb/models/model_implementations/stella_models.py +6 -0
- mteb/models/model_implementations/tarka_models.py +376 -0
- mteb/models/model_implementations/ua_sentence_models.py +10 -0
- mteb/models/model_implementations/uae_models.py +1 -0
- mteb/models/model_implementations/vdr_models.py +2 -0
- mteb/models/model_implementations/vi_vn_models.py +39 -0
- mteb/models/model_implementations/vista_models.py +2 -0
- mteb/models/model_implementations/vlm2vec_models.py +2 -0
- mteb/models/model_implementations/voyage_models.py +15 -0
- mteb/models/model_implementations/voyage_v.py +8 -2
- mteb/models/model_implementations/xyz_models.py +1 -0
- mteb/models/model_implementations/youtu_models.py +1 -0
- mteb/models/model_implementations/yuan_models.py +34 -0
- mteb/models/model_implementations/yuan_models_en.py +58 -0
- mteb/models/model_meta.py +442 -22
- mteb/models/search_encoder_index/__init__.py +7 -0
- mteb/models/search_encoder_index/search_backend_protocol.py +50 -0
- mteb/models/search_encoder_index/search_indexes/__init__.py +5 -0
- mteb/models/search_encoder_index/search_indexes/faiss_search_index.py +157 -0
- mteb/models/search_wrappers.py +165 -48
- mteb/models/sentence_transformer_wrapper.py +2 -7
- mteb/results/benchmark_results.py +88 -47
- mteb/results/model_result.py +11 -4
- mteb/results/task_result.py +37 -19
- mteb/similarity_functions.py +49 -0
- mteb/tasks/bitext_mining/multilingual/__init__.py +2 -1
- mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining.py +4 -2
- mteb/tasks/bitext_mining/multilingual/bucc_bitext_mining_fast.py +1 -1
- mteb/tasks/bitext_mining/multilingual/ru_sci_bench_bitext_mining.py +47 -5
- mteb/tasks/bitext_mining/multilingual/web_faq_bitext_mining.py +2 -6
- mteb/tasks/classification/ara/ajgt.py +1 -2
- mteb/tasks/classification/ara/hotel_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/ara/online_store_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/ara/restaurant_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/ara/tweet_emotion_classification.py +1 -2
- mteb/tasks/classification/ara/tweet_sarcasm_classification.py +1 -2
- mteb/tasks/classification/ben/bengali_document_classification.py +1 -2
- mteb/tasks/classification/ben/bengali_hate_speech_classification.py +1 -2
- mteb/tasks/classification/ben/bengali_sentiment_analysis.py +1 -2
- mteb/tasks/classification/ces/csfdcz_movie_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/ces/czech_product_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/ces/czech_so_me_sentiment_classification.py +1 -2
- mteb/tasks/classification/dan/angry_tweets_classification.py +1 -2
- mteb/tasks/classification/dan/danish_political_comments_classification.py +1 -2
- mteb/tasks/classification/dan/ddisco_cohesion_classification.py +1 -2
- mteb/tasks/classification/dan/dk_hate_classification.py +1 -2
- mteb/tasks/classification/deu/german_politicians_twitter_sentiment_classification.py +1 -2
- mteb/tasks/classification/deu/ten_k_gnad_classification.py +1 -2
- mteb/tasks/classification/eng/amazon_polarity_classification.py +1 -2
- mteb/tasks/classification/eng/arxiv_classification.py +1 -2
- mteb/tasks/classification/eng/banking77_classification.py +1 -2
- mteb/tasks/classification/eng/dbpedia_classification.py +1 -2
- mteb/tasks/classification/eng/emotion_classification.py +1 -2
- mteb/tasks/classification/eng/financial_phrasebank_classification.py +1 -2
- mteb/tasks/classification/eng/frenk_en_classification.py +1 -2
- mteb/tasks/classification/eng/gtsrb_classification.py +1 -1
- mteb/tasks/classification/eng/imdb_classification.py +1 -2
- mteb/tasks/classification/eng/legal_bench_classification.py +14 -120
- mteb/tasks/classification/eng/news_classification.py +1 -2
- mteb/tasks/classification/eng/patch_camelyon_classification.py +1 -1
- mteb/tasks/classification/eng/patent_classification.py +1 -2
- mteb/tasks/classification/eng/poem_sentiment_classification.py +1 -2
- mteb/tasks/classification/eng/sds_eye_protection_classification.py +1 -2
- mteb/tasks/classification/eng/sds_gloves_classification.py +1 -2
- mteb/tasks/classification/eng/toxic_chat_classification.py +2 -19
- mteb/tasks/classification/eng/toxic_conversations_classification.py +1 -2
- mteb/tasks/classification/eng/tweet_sentiment_extraction_classification.py +1 -2
- mteb/tasks/classification/eng/tweet_topic_single_classification.py +2 -13
- mteb/tasks/classification/eng/ucf101_classification.py +1 -5
- mteb/tasks/classification/eng/wikipedia_bio_met_chem_classification.py +1 -2
- mteb/tasks/classification/eng/wikipedia_chem_fields_classification.py +1 -2
- mteb/tasks/classification/eng/wikipedia_comp_chem_spectroscopy_classification.py +1 -2
- mteb/tasks/classification/eng/wikipedia_crystallography_analytical_classification.py +1 -2
- mteb/tasks/classification/eng/wikipedia_theoretical_applied_classification.py +1 -2
- mteb/tasks/classification/eng/yahoo_answers_topics_classification.py +1 -2
- mteb/tasks/classification/eng/yelp_review_full_classification.py +1 -2
- mteb/tasks/classification/est/estonian_valence.py +1 -2
- mteb/tasks/classification/fas/fa_mteb_classification.py +7 -14
- mteb/tasks/classification/fil/filipino_hate_speech_classification.py +1 -2
- mteb/tasks/classification/fin/fin_toxicity_classification.py +2 -11
- mteb/tasks/classification/fra/french_book_reviews.py +1 -2
- mteb/tasks/classification/fra/movie_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/guj/gujarati_news_classification.py +1 -2
- mteb/tasks/classification/heb/__init__.py +6 -1
- mteb/tasks/classification/heb/hebrew_sentiment_analysis.py +62 -4
- mteb/tasks/classification/hin/hindi_discourse_classification.py +1 -2
- mteb/tasks/classification/hin/sentiment_analysis_hindi.py +1 -2
- mteb/tasks/classification/hrv/frenk_hr_classification.py +1 -2
- mteb/tasks/classification/ind/indonesian_id_clickbait_classification.py +1 -2
- mteb/tasks/classification/ind/indonesian_mongabay_conservation_classification.py +1 -2
- mteb/tasks/classification/ita/italian_linguist_acceptability_classification.py +1 -2
- mteb/tasks/classification/jav/javanese_imdb_classification.py +1 -2
- mteb/tasks/classification/jpn/wrime_classification.py +1 -2
- mteb/tasks/classification/kan/kannada_news_classification.py +1 -2
- mteb/tasks/classification/kor/klue_tc.py +1 -2
- mteb/tasks/classification/kor/kor_hate_classification.py +2 -17
- mteb/tasks/classification/kor/kor_sarcasm_classification.py +2 -19
- mteb/tasks/classification/kur/kurdish_sentiment_classification.py +1 -2
- mteb/tasks/classification/mal/malayalam_news_classification.py +1 -2
- mteb/tasks/classification/mar/marathi_news_classification.py +1 -2
- mteb/tasks/classification/mkd/macedonian_tweet_sentiment_classification.py +1 -2
- mteb/tasks/classification/multilingual/catalonia_tweet_classification.py +1 -6
- mteb/tasks/classification/multilingual/multi_hate_classification.py +1 -4
- mteb/tasks/classification/multilingual/ru_sci_bench_classification.py +4 -23
- mteb/tasks/classification/multilingual/scala_classification.py +1 -2
- mteb/tasks/classification/multilingual/sib200_classification.py +1 -6
- mteb/tasks/classification/mya/myanmar_news.py +1 -2
- mteb/tasks/classification/nep/nepali_news_classification.py +1 -2
- mteb/tasks/classification/nld/dutch_book_review_sentiment_classification.py +4 -2
- mteb/tasks/classification/nld/dutch_cola_classification.py +3 -0
- mteb/tasks/classification/nld/dutch_government_bias_classification.py +3 -0
- mteb/tasks/classification/nld/dutch_news_articles_classification.py +3 -0
- mteb/tasks/classification/nld/dutch_sarcastic_headlines_classification.py +3 -0
- mteb/tasks/classification/nld/iconclass_classification.py +3 -0
- mteb/tasks/classification/nld/open_tender_classification.py +3 -0
- mteb/tasks/classification/nld/vaccin_chat_nl_classification.py +3 -0
- mteb/tasks/classification/nob/no_rec_classification.py +1 -2
- mteb/tasks/classification/nob/norwegian_parliament_classification.py +1 -2
- mteb/tasks/classification/ory/odia_news_classification.py +1 -2
- mteb/tasks/classification/pol/polish_classification.py +3 -6
- mteb/tasks/classification/ron/moroco.py +1 -2
- mteb/tasks/classification/ron/romanian_reviews_sentiment.py +1 -2
- mteb/tasks/classification/ron/romanian_sentiment_classification.py +1 -2
- mteb/tasks/classification/rus/georeview_classification.py +1 -2
- mteb/tasks/classification/rus/headline_classification.py +1 -2
- mteb/tasks/classification/rus/inappropriateness_classification.py +1 -2
- mteb/tasks/classification/rus/ru_reviews_classification.py +1 -2
- mteb/tasks/classification/rus/ru_toixic_classification_okmlcup.py +1 -2
- mteb/tasks/classification/rus/senti_ru_eval.py +1 -2
- mteb/tasks/classification/sin/sinhala_news_classification.py +1 -2
- mteb/tasks/classification/sin/sinhala_news_source_classification.py +1 -2
- mteb/tasks/classification/slk/csfdsk_movie_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/slk/slovak_hate_speech_classification.py +1 -2
- mteb/tasks/classification/slk/slovak_movie_review_sentiment_classification.py +1 -2
- mteb/tasks/classification/slv/frenk_sl_classification.py +1 -2
- mteb/tasks/classification/spa/spanish_news_classification.py +1 -2
- mteb/tasks/classification/spa/spanish_sentiment_classification.py +1 -2
- mteb/tasks/classification/ssw/siswati_news_classification.py +1 -2
- mteb/tasks/classification/swa/swahili_news_classification.py +1 -2
- mteb/tasks/classification/swe/dalaj_classification.py +1 -2
- mteb/tasks/classification/swe/swe_rec_classification.py +1 -2
- mteb/tasks/classification/swe/swedish_sentiment_classification.py +1 -2
- mteb/tasks/classification/tam/tamil_news_classification.py +1 -2
- mteb/tasks/classification/tel/telugu_andhra_jyoti_news_classification.py +1 -2
- mteb/tasks/classification/tha/wisesight_sentiment_classification.py +1 -2
- mteb/tasks/classification/tsn/tswana_news_classification.py +1 -2
- mteb/tasks/classification/tur/__init__.py +4 -0
- mteb/tasks/classification/tur/turkish_constitutional_court.py +41 -0
- mteb/tasks/classification/tur/turkish_movie_sentiment_classification.py +1 -2
- mteb/tasks/classification/tur/turkish_product_sentiment_classification.py +1 -2
- mteb/tasks/classification/ukr/ukr_formality_classification.py +2 -15
- mteb/tasks/classification/urd/urdu_roman_sentiment_classification.py +1 -2
- mteb/tasks/classification/vie/amazon_counterfactual_vn_classification.py +1 -6
- mteb/tasks/classification/vie/amazon_polarity_vn_classification.py +1 -6
- mteb/tasks/classification/vie/amazon_reviews_vn_classification.py +1 -5
- mteb/tasks/classification/vie/banking77_vn_classification.py +1 -5
- mteb/tasks/classification/vie/emotion_vn_classification.py +1 -5
- mteb/tasks/classification/vie/imdb_vn_classification.py +1 -5
- mteb/tasks/classification/vie/massive_intent_vn_classification.py +1 -5
- mteb/tasks/classification/vie/massive_scenario_vn_classification.py +1 -5
- mteb/tasks/classification/vie/mtop_domain_vn_classification.py +1 -5
- mteb/tasks/classification/vie/mtop_intent_vn_classification.py +1 -5
- mteb/tasks/classification/vie/toxic_conversations_vn_classification.py +1 -5
- mteb/tasks/classification/vie/tweet_sentiment_extraction_vn_classification.py +1 -5
- mteb/tasks/classification/vie/vie_student_feedback_classification.py +1 -2
- mteb/tasks/classification/zho/cmteb_classification.py +5 -10
- mteb/tasks/classification/zho/yue_openrice_review_classification.py +1 -2
- mteb/tasks/classification/zul/isi_zulu_news_classification.py +1 -2
- mteb/tasks/clustering/jpn/mews_c16_ja_clustering.py +1 -3
- mteb/tasks/clustering/multilingual/sib200_clustering_s2s.py +1 -6
- mteb/tasks/clustering/nld/dutch_news_articles_clustering_p2p.py +3 -0
- mteb/tasks/clustering/nld/dutch_news_articles_clustering_s2s.py +3 -0
- mteb/tasks/clustering/nld/iconclass_clustering_s2s.py +3 -0
- mteb/tasks/clustering/nld/open_tender_clustering_p2p.py +3 -0
- mteb/tasks/clustering/nld/open_tender_clustering_s2s.py +3 -0
- mteb/tasks/clustering/nld/vabb_clustering_p2p.py +3 -0
- mteb/tasks/clustering/nld/vabb_clustering_s2s.py +3 -0
- mteb/tasks/clustering/vie/reddit_clustering_p2p_vn.py +1 -5
- mteb/tasks/clustering/vie/reddit_clustering_vn.py +1 -5
- mteb/tasks/clustering/vie/stack_exchange_clustering_p2p_vn.py +1 -5
- mteb/tasks/clustering/vie/stack_exchange_clustering_vn.py +1 -5
- mteb/tasks/clustering/vie/twenty_newsgroups_clustering_vn.py +1 -5
- mteb/tasks/multilabel_classification/ita/emit_classification.py +1 -5
- mteb/tasks/multilabel_classification/kor/kor_hate_speech_ml_classification.py +1 -9
- mteb/tasks/multilabel_classification/mlt/maltese_news_classification.py +1 -6
- mteb/tasks/multilabel_classification/nld/covid_disinformation_nl_multi_label_classification.py +3 -0
- mteb/tasks/multilabel_classification/nld/vabb_multi_label_classification.py +3 -0
- mteb/tasks/multilabel_classification/por/brazilian_toxic_tweets_classification.py +1 -6
- mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_group_classification.py +1 -1
- mteb/tasks/multilabel_classification/swe/swedish_patent_cpc_subclass_classification.py +1 -2
- mteb/tasks/pair_classification/dan/talemaader_pc.py +1 -6
- mteb/tasks/pair_classification/eng/legal_bench_pc.py +1 -9
- mteb/tasks/pair_classification/nld/sick_nl_pair_classification.py +3 -0
- mteb/tasks/pair_classification/nld/xlwic_nl_pair_classification.py +3 -0
- mteb/tasks/pair_classification/rus/__init__.py +2 -2
- mteb/tasks/pair_classification/rus/terra.py +51 -25
- mteb/tasks/pair_classification/vie/sprint_duplicate_questions_pcvn.py +1 -5
- mteb/tasks/pair_classification/vie/twitter_sem_eval2015_pcvn.py +1 -5
- mteb/tasks/pair_classification/vie/twitter_url_corpus_pcvn.py +1 -5
- mteb/tasks/regression/multilingual/ru_sci_bench_regression.py +2 -6
- mteb/tasks/reranking/jpn/__init__.py +9 -1
- mteb/tasks/reranking/jpn/j_qa_ra_reranking_lite.py +49 -0
- mteb/tasks/reranking/jpn/ja_cwir_reranking_lite.py +47 -0
- mteb/tasks/reranking/multilingual/__init__.py +2 -0
- mteb/tasks/reranking/multilingual/multi_long_doc_reranking.py +70 -0
- mteb/tasks/reranking/multilingual/x_glue_wpr_reranking.py +1 -2
- mteb/tasks/reranking/vie/ask_ubuntu_dup_questions_vn.py +1 -5
- mteb/tasks/reranking/vie/sci_docs_reranking_vn.py +1 -5
- mteb/tasks/reranking/vie/stack_overflow_dup_questions_vn.py +1 -5
- mteb/tasks/retrieval/code/fresh_stack_retrieval.py +8 -5
- mteb/tasks/retrieval/eng/lit_search_retrieval.py +1 -8
- mteb/tasks/retrieval/eng/vidore_bench_retrieval.py +4 -0
- mteb/tasks/retrieval/jpn/__init__.py +8 -0
- mteb/tasks/retrieval/jpn/ja_cwir_retrieval.py +1 -4
- mteb/tasks/retrieval/jpn/ja_cwir_retrieval_lite.py +47 -0
- mteb/tasks/retrieval/jpn/jaqket_retrieval_lite.py +50 -0
- mteb/tasks/retrieval/jpn/miracl_ja_retrieval_lite.py +52 -0
- mteb/tasks/retrieval/jpn/mr_tydi_ja_retrieval_lite.py +48 -0
- mteb/tasks/retrieval/kat/georgian_faq_retrieval.py +11 -4
- mteb/tasks/retrieval/kor/__init__.py +2 -1
- mteb/tasks/retrieval/kor/squad_kor_v1_retrieval.py +47 -0
- mteb/tasks/retrieval/multilingual/__init__.py +22 -0
- mteb/tasks/retrieval/multilingual/belebele_retrieval.py +5 -4
- mteb/tasks/retrieval/multilingual/jina_vdr_bench_retrieval.py +56 -42
- mteb/tasks/retrieval/multilingual/mkqa_retrieval.py +1 -2
- mteb/tasks/retrieval/multilingual/mlqa_retrieval.py +1 -4
- mteb/tasks/retrieval/multilingual/multi_long_doc_retrieval.py +1 -2
- mteb/tasks/retrieval/multilingual/public_health_qa_retrieval.py +9 -4
- mteb/tasks/retrieval/multilingual/ru_sci_bench_retrieval.py +2 -12
- mteb/tasks/retrieval/multilingual/vidore2_bench_retrieval.py +4 -2
- mteb/tasks/retrieval/multilingual/vidore3_bench_retrieval.py +399 -0
- mteb/tasks/retrieval/nld/__init__.py +8 -4
- mteb/tasks/retrieval/nld/argu_ana_nl_retrieval.py +46 -27
- mteb/tasks/retrieval/nld/bbsard_nl_retrieval.py +3 -0
- mteb/tasks/retrieval/nld/dutch_news_articles_retrieval.py +3 -0
- mteb/tasks/retrieval/nld/legal_qa_nl_retrieval.py +3 -0
- mteb/tasks/retrieval/nld/nf_corpus_nl_retrieval.py +42 -25
- mteb/tasks/retrieval/nld/open_tender_retrieval.py +3 -0
- mteb/tasks/retrieval/nld/sci_fact_nl_retrieval.py +42 -24
- mteb/tasks/retrieval/nld/scidocsnl_retrieval.py +44 -27
- mteb/tasks/retrieval/nld/vabb_retrieval.py +3 -0
- mteb/tasks/retrieval/slk/slovak_sum_retrieval.py +1 -7
- mteb/tasks/retrieval/vie/argu_ana_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/climate_fevervn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_android_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_gis_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_mathematica_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_physics_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_programmers_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_stats_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_tex_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_unix_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_webmasters_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/cqa_dupstack_wordpress_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/db_pedia_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/fevervn_retrieval.py +1 -7
- mteb/tasks/retrieval/vie/fi_qa2018_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/green_node_table_markdown_retrieval.py +16 -1
- mteb/tasks/retrieval/vie/hotpot_qavn_retrieval.py +1 -6
- mteb/tasks/retrieval/vie/msmarcovn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/nf_corpus_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/nqvn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/quora_vn_retrieval.py +1 -6
- mteb/tasks/retrieval/vie/sci_fact_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/scidocsvn_retrieval.py +1 -6
- mteb/tasks/retrieval/vie/touche2020_vn_retrieval.py +1 -5
- mteb/tasks/retrieval/vie/treccovidvn_retrieval.py +1 -5
- mteb/tasks/sts/nld/sick_nl_sts.py +1 -0
- mteb/tasks/sts/vie/biosses_stsvn.py +1 -5
- mteb/tasks/sts/vie/sickr_stsvn.py +1 -5
- mteb/tasks/sts/vie/sts_benchmark_stsvn.py +1 -5
- mteb/tasks/zeroshot_classification/eng/gtsrb.py +1 -1
- mteb/tasks/zeroshot_classification/eng/patch_camelyon.py +1 -1
- mteb/tasks/zeroshot_classification/eng/ucf101.py +1 -5
- mteb/types/_encoder_io.py +7 -2
- {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/METADATA +11 -5
- {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/RECORD +457 -391
- mteb/models/model_implementations/nb_sbert.py +0 -25
- {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/WHEEL +0 -0
- {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/entry_points.txt +0 -0
- {mteb-2.1.4.dist-info → mteb-2.5.2.dist-info}/licenses/LICENSE +0 -0
- {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
|
|
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
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
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",
|