mteb 2.5.2__py3-none-any.whl → 2.5.3__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/abstasks/abstask.py CHANGED
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import logging
3
+ import warnings
3
4
  from abc import ABC, abstractmethod
4
5
  from collections.abc import Sequence
5
6
  from copy import copy
@@ -102,9 +103,9 @@ class AbsTask(ABC):
102
103
  def check_if_dataset_is_superseded(self) -> None:
103
104
  """Check if the dataset is superseded by a newer version."""
104
105
  if self.superseded_by:
105
- logger.warning(
106
- f"Dataset '{self.metadata.name}' is superseded by '{self.superseded_by}', you might consider using the newer version of the dataset."
107
- )
106
+ msg = f"Dataset '{self.metadata.name}' is superseded by '{self.superseded_by}'. We recommend using the newer version of the dataset unless you are running a specific benchmark. See `get_task('{self.superseded_by}').metadata.description` to get a description of the task and changes."
107
+ logger.warning(msg)
108
+ warnings.warn(msg)
108
109
 
109
110
  def dataset_transform(self):
110
111
  """A transform operations applied to the dataset after loading.
@@ -607,9 +608,8 @@ class AbsTask(ABC):
607
608
  self.data_loaded = False
608
609
  logger.info(f"Unloaded dataset {self.metadata.name} from memory.")
609
610
  else:
610
- logger.warning(
611
- f"Dataset {self.metadata.name} is not loaded, cannot unload it."
612
- )
611
+ msg = f"Dataset `{self.metadata.name}` is not loaded, cannot unload it."
612
+ logger.warning(msg)
613
613
 
614
614
  @property
615
615
  def superseded_by(self) -> str | None:
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import warnings
2
3
  from pathlib import Path
3
4
  from typing import Any
4
5
 
@@ -113,20 +114,13 @@ class AbsTaskAggregate(AbsTask):
113
114
  )
114
115
  mteb_versions = {tr.mteb_version for tr in task_results}
115
116
  if len(mteb_versions) != 1:
116
- logger.warning(
117
- f"All tasks of {self.metadata.name} is not run using the same version."
118
- )
117
+ msg = f"All tasks of {self.metadata.name} is not run using the same version. different versions found are: {mteb_versions}"
118
+ logger.warning(msg)
119
+ warnings.warn(msg)
119
120
  task_res.mteb_version = None
120
121
  task_res.mteb_version = task_results[0].mteb_version
121
122
  return task_res
122
123
 
123
- def check_if_dataset_is_superseded(self) -> None:
124
- """Check if the dataset is superseded by a newer version"""
125
- if self.superseded_by:
126
- logger.warning(
127
- f"Dataset '{self.metadata.name}' is superseded by '{self.superseded_by}', you might consider using the newer version of the dataset."
128
- )
129
-
130
124
  def filter_eval_splits(self, eval_splits: list[str] | None) -> Self:
131
125
  """Filter the evaluation splits of the task.
132
126
 
@@ -376,9 +376,8 @@ class TaskMetadata(BaseModel):
376
376
  if include_cite and cite:
377
377
  # check for whitespace in the citation
378
378
  if " " in cite:
379
- logger.warning(
380
- "Citation contains whitespace. Please ensure that the citation is correctly formatted."
381
- )
379
+ msg = "Citation contains whitespace. Please ensure that the citation is correctly formatted."
380
+ logger.warning(msg)
382
381
  return f"\\cite{{{cite}}}"
383
382
  return cite
384
383
 
mteb/cache.py CHANGED
@@ -3,6 +3,7 @@ import logging
3
3
  import os
4
4
  import shutil
5
5
  import subprocess
6
+ import warnings
6
7
  from collections import defaultdict
7
8
  from collections.abc import Sequence
8
9
  from pathlib import Path
@@ -83,9 +84,9 @@ class ResultCache:
83
84
  model_path = results_folder / model_name
84
85
 
85
86
  if model_revision is None:
86
- logger.warning(
87
- "model_revision is not specified, attempting to load the latest revision. To disable this behavior, specify model_revision explicitly."
88
- )
87
+ msg = "`model_revision` is not specified, attempting to load the latest revision. To disable this behavior, specify the 'model_revision` explicitly."
88
+ logger.warning(msg)
89
+ warnings.warn(msg)
89
90
  # get revs from paths
90
91
  revisions = [p for p in model_path.glob("*") if p.is_dir()]
91
92
  if not revisions:
@@ -281,7 +282,9 @@ class ResultCache:
281
282
  shutil.rmtree(self.cache_path)
282
283
  logger.info(f"Cache directory {self.cache_path} cleared.")
283
284
  else:
284
- logger.warning(f"Cache directory {self.cache_path} does not exist.")
285
+ msg = f"Cache directory `{self.cache_path}` does not exist."
286
+ logger.warning(msg)
287
+ warnings.warn(msg)
285
288
 
286
289
  def __repr__(self) -> str:
287
290
  return f"ResultCache(cache_path={self.cache_path})"
mteb/cli/build_cli.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import argparse
2
2
  import logging
3
3
  import os
4
+ import warnings
4
5
  from pathlib import Path
5
6
 
6
7
  import torch
@@ -69,15 +70,17 @@ def run(args: argparse.Namespace) -> None:
69
70
 
70
71
  overwrite_strategy = args.overwrite_strategy
71
72
  if args.overwrite:
72
- logger.warning(
73
- "`--overwrite` is deprecated, please use `--overwrite-strategy 'always'` instead."
73
+ warnings.warn(
74
+ "`--overwrite` is deprecated, please use `--overwrite-strategy 'always'` instead.",
75
+ DeprecationWarning,
74
76
  )
75
77
  overwrite_strategy = OverwriteStrategy.ALWAYS.value
76
78
 
77
79
  prediction_folder = args.prediction_folder
78
80
  if args.save_predictions:
79
- logger.warning(
80
- "`--save_predictions` is deprecated, please use `--prediction-folder` instead."
81
+ warnings.warn(
82
+ "`--save_predictions` is deprecated, please use `--prediction-folder` instead.",
83
+ DeprecationWarning,
81
84
  )
82
85
  prediction_folder = args.output_folder
83
86
 
@@ -279,7 +282,9 @@ def _create_meta(args: argparse.Namespace) -> None:
279
282
  from_existing = Path(from_existing)
280
283
 
281
284
  if output_path.exists() and overwrite:
282
- logger.warning("Output path already exists, overwriting.")
285
+ msg = "Output path already exists, overwriting."
286
+ logger.warning(msg)
287
+ warnings.warn(msg)
283
288
  elif output_path.exists():
284
289
  raise FileExistsError(
285
290
  "Output path already exists, use --overwrite to overwrite."
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import warnings
2
3
  from pathlib import Path
3
4
 
4
5
  from huggingface_hub import ModelCard, ModelCardData, repo_exists
@@ -92,9 +93,9 @@ def generate_model_card(
92
93
  if repo_exists(existing_model_card_id_or_path):
93
94
  existing_model_card.push_to_hub(existing_model_card_id_or_path, token=token)
94
95
  else:
95
- logger.warning(
96
- f"Repository {existing_model_card_id_or_path} does not exist on the Hub. Skipping push to hub."
97
- )
96
+ msg = f"Repository {existing_model_card_id_or_path} does not exist on the Hub. Skipping push to hub."
97
+ logger.warning(msg)
98
+ warnings.warn(msg)
98
99
  existing_model_card.save(output_path)
99
100
 
100
101
 
@@ -5,6 +5,7 @@ import logging
5
5
  import os
6
6
  import sys
7
7
  import traceback
8
+ import warnings
8
9
  from collections.abc import Iterable
9
10
  from copy import deepcopy
10
11
  from datetime import datetime
@@ -470,9 +471,9 @@ class MTEB:
470
471
  raise ImportError(
471
472
  "codecarbon is not installed. Please install it using `pip install 'mteb[codecarbon]'` to track CO₂ emissions."
472
473
  )
473
- logger.warning(
474
- "Evaluating multiple MTEB runs simultaneously will produce incorrect CO₂ results"
475
- )
474
+ msg = "Evaluating multiple MTEB runs simultaneously will produce incorrect CO₂ results"
475
+ logger.warning(msg)
476
+ warnings.warn(msg)
476
477
  with EmissionsTracker(
477
478
  save_to_file=False,
478
479
  save_to_api=False,
mteb/evaluate.py CHANGED
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
+ import warnings
4
5
  from collections.abc import Iterable
5
6
  from pathlib import Path
6
7
  from time import time
@@ -136,10 +137,12 @@ def _evaluate_task(
136
137
  task.load_data()
137
138
  except DatasetNotFoundError as e:
138
139
  if not task.metadata.is_public and public_only is None:
139
- logger.warning(
140
+ msg = (
140
141
  f"Dataset for private task '{task.metadata.name}' not found. "
141
142
  "Make sure you have access to the dataset and that you have set up the authentication correctly. To disable this warning set `public_only=False`"
142
143
  )
144
+ logger.warning(msg)
145
+ warnings.warn(msg)
143
146
  return TaskError(
144
147
  task_name=task.metadata.name,
145
148
  exception=str(e),
mteb/get_tasks.py CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import difflib
4
4
  import logging
5
+ import warnings
5
6
  from collections import Counter, defaultdict
6
7
  from collections.abc import Sequence
7
8
  from typing import Any
@@ -340,9 +341,9 @@ def get_task(
340
341
  """
341
342
  if task_name in _TASK_RENAMES:
342
343
  _task_name = _TASK_RENAMES[task_name]
343
- logger.warning(
344
- f"The task with the given name '{task_name}' has been renamed to '{_task_name}'. To prevent this warning use the new name."
345
- )
344
+ msg = f"The task with the given name '{task_name}' has been renamed to '{_task_name}'. To prevent this warning use the new name."
345
+ logger.warning(msg)
346
+ warnings.warn(msg)
346
347
 
347
348
  if task_name not in _TASKS_REGISTRY:
348
349
  close_matches = difflib.get_close_matches(task_name, _TASKS_REGISTRY.keys())
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import warnings
2
3
  from abc import ABC, abstractmethod
3
4
  from collections.abc import Callable, Sequence
4
5
  from typing import Any, Literal, cast, get_args, overload
@@ -187,6 +188,7 @@ class AbsEncoder(ABC):
187
188
  except KeyError:
188
189
  msg = f"Task name {task_name} is not valid. {valid_keys_msg}"
189
190
  logger.warning(msg)
191
+ warnings.warn(msg)
190
192
  invalid_task_messages.add(msg)
191
193
  invalid_keys.add(task_key)
192
194
 
@@ -232,9 +234,9 @@ class AbsEncoder(ABC):
232
234
  if isinstance(prompt, dict) and prompt_type:
233
235
  if prompt.get(prompt_type.value):
234
236
  return prompt[prompt_type.value]
235
- logger.warning(
236
- f"Prompt type '{prompt_type}' not found in task metadata for task '{task_metadata.name}'."
237
- )
237
+ msg = f"Prompt type '{prompt_type}' not found in task metadata for task '{task_metadata.name}'."
238
+ logger.warning(msg)
239
+ warnings.warn(msg)
238
240
  return ""
239
241
 
240
242
  if prompt:
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import logging
3
+ import warnings
3
4
  from pathlib import Path
4
5
 
5
6
  import numpy as np
@@ -71,7 +72,9 @@ class FaissCache:
71
72
  try:
72
73
  return self.index.reconstruct(idx)
73
74
  except Exception:
74
- logger.warning(f"Vector id {idx} missing for hash {item_hash}")
75
+ msg = f"Vector id {idx} missing for hash {item_hash}"
76
+ logger.warning(msg)
77
+ warnings.warn(msg)
75
78
  return None
76
79
 
77
80
  def save(self) -> None:
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import logging
3
+ import warnings
3
4
  from pathlib import Path
4
5
 
5
6
  import numpy as np
@@ -41,9 +42,9 @@ class NumpyCache:
41
42
  for item, vec in zip(item, vectors):
42
43
  item_hash = _hash_item(item)
43
44
  if item_hash in self.hash_to_index:
44
- logger.warning(
45
- "Hash collision or duplicate item. Overwriting existing vector."
46
- )
45
+ msg = f"Hash collision or duplicate item for hash {item_hash}. Overwriting existing vector."
46
+ logger.warning(msg)
47
+ warnings.warn(msg)
47
48
  index = self.hash_to_index[item_hash]
48
49
  else:
49
50
  index = len(self.hash_to_index)
@@ -107,9 +108,9 @@ class NumpyCache:
107
108
  f"Loaded vector dimension {self.vector_dim} from {self.dimension_file}"
108
109
  )
109
110
  else:
110
- logger.warning(
111
- "Dimension file not found. Vector dimension remains uninitialized."
112
- )
111
+ msg = "Dimension file not found. Vector dimension remains uninitialized."
112
+ logger.warning(msg)
113
+ warnings.warn(msg)
113
114
 
114
115
  def save(self) -> None:
115
116
  """Persist VectorCacheMap to disk."""
@@ -151,14 +152,14 @@ class NumpyCache:
151
152
  self.vectors = self.vectors.reshape(-1, self.vector_dim)
152
153
  logger.info(f"Loaded vectors file with shape: {self.vectors.shape}")
153
154
  else:
154
- logger.warning(
155
- "Vector dimension not set. Unable to load vectors file."
156
- )
155
+ msg = "Vector dimension not set. Unable to load vectors file."
156
+ logger.warning(msg)
157
+ warnings.warn(msg)
157
158
  logger.info(f"Loaded VectorCacheMap from {self.directory}")
158
159
  else:
159
- logger.warning(
160
- "No existing files found. Initialized empty VectorCacheMap."
161
- )
160
+ msg = "No existing files found. Initialized empty VectorCacheMap."
161
+ logger.warning(msg)
162
+ warnings.warn(msg)
162
163
  except Exception as e:
163
164
  logger.error(f"Error loading VectorCacheMap: {str(e)}")
164
165
  raise
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import logging
4
4
  import math
5
+ import warnings
5
6
  from typing import TYPE_CHECKING, Any
6
7
 
7
8
  import torch
@@ -261,9 +262,9 @@ def smart_resize(
261
262
  w_bar = ceil_by_factor(width * beta, factor)
262
263
 
263
264
  if max(h_bar, w_bar) / min(h_bar, w_bar) > MAX_RATIO:
264
- logger.warning(
265
- f"Absolute aspect ratio must be smaller than {MAX_RATIO}, got {max(h_bar, w_bar) / min(h_bar, w_bar)}"
266
- )
265
+ msg = f"Absolute aspect ratio must be smaller than {MAX_RATIO}, got {max(h_bar, w_bar) / min(h_bar, w_bar)}"
266
+ logger.warning(msg)
267
+ warnings.warn(msg)
267
268
  if h_bar > w_bar:
268
269
  h_bar = w_bar * MAX_RATIO
269
270
  else:
@@ -1,6 +1,7 @@
1
1
  import logging
2
2
  import os
3
3
  import time
4
+ import warnings
4
5
  from typing import Any
5
6
 
6
7
  import numpy as np
@@ -246,7 +247,9 @@ class HakimModelWrapper(AbsEncoder):
246
247
  task_prompt, task_id = DATASET_TASKS.get(task_name, (None, None))
247
248
 
248
249
  if not task_prompt:
249
- logger.warning(f"Unknown dataset: {task_name}, no preprocessing applied.")
250
+ msg = f"Unknown dataset: {task_name}, no preprocessing applied."
251
+ logger.warning(msg)
252
+ warnings.warn(msg)
250
253
  return sample
251
254
 
252
255
  task_prompt = f"مسئله : {task_prompt}"
mteb/models/model_meta.py CHANGED
@@ -511,7 +511,9 @@ class ModelMeta(BaseModel):
511
511
  if adapted_training_datasets is not None:
512
512
  training_datasets |= adapted_training_datasets
513
513
  except (ValueError, KeyError) as e:
514
- logger.warning(f"Could not get source model: {e} in MTEB")
514
+ msg = f"Could not get source model: {e} in MTEB"
515
+ logger.warning(msg)
516
+ warnings.warn(msg)
515
517
 
516
518
  return_dataset = training_datasets.copy()
517
519
  visited = set()
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import warnings
2
3
  from collections.abc import Callable
3
4
 
4
5
  import numpy as np
@@ -127,7 +128,9 @@ class FaissSearchIndex:
127
128
  query_id = query_idx_to_id[query_idx]
128
129
  ranked_ids = top_ranked.get(query_id)
129
130
  if not ranked_ids:
130
- logger.warning(f"No top-ranked documents for query {query_id}")
131
+ msg = f"No top-ranked documents for query {query_id}"
132
+ logger.warning(msg)
133
+ warnings.warn(msg)
131
134
  scores_all.append([])
132
135
  idxs_all.append([])
133
136
  continue
@@ -340,7 +340,8 @@ class SearchEncoderWrapper:
340
340
  for query_idx, query_embedding in enumerate(query_embeddings):
341
341
  query_id = query_idx_to_id[query_idx]
342
342
  if query_id not in top_ranked:
343
- logger.warning(f"No pre-ranked documents found for query {query_id}")
343
+ msg = f"No pre-ranked documents found for query {query_id}"
344
+ logger.warning(msg)
344
345
  continue
345
346
 
346
347
  ranked_ids = top_ranked[query_id]
@@ -511,7 +512,8 @@ class SearchCrossEncoderWrapper:
511
512
  doc_pairs_ids: list[tuple[str, str]] = []
512
513
  for query_id, corpus_ids in top_ranked.items():
513
514
  if query_id not in top_ranked:
514
- logger.warning(f"No pre-ranked documents found for query {query_id}")
515
+ msg = f"No pre-ranked documents found for query {query_id}"
516
+ logger.warning(msg)
515
517
  continue
516
518
 
517
519
  query_idx = query_id_to_idx[query_id]
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
+ import warnings
4
5
  from typing import TYPE_CHECKING, Any
5
6
 
6
7
  import numpy as np
@@ -75,9 +76,9 @@ class SentenceTransformerEncoderWrapper(AbsEncoder):
75
76
  if built_in_prompts and not model_prompts:
76
77
  model_prompts = built_in_prompts
77
78
  elif model_prompts and built_in_prompts:
78
- logger.warning(
79
- f"Model prompts specified, these will overwrite the default model prompts. Current prompts will be:\n {model_prompts}"
80
- )
79
+ msg = f"Model prompts specified, these will overwrite the default model prompts. Current prompts will be:\n {model_prompts}"
80
+ logger.warning(msg)
81
+ warnings.warn(msg)
81
82
  self.model.prompts = model_prompts
82
83
 
83
84
  self.model_prompts, invalid_prompts = self.validate_task_to_prompt_name(
@@ -86,9 +87,9 @@ class SentenceTransformerEncoderWrapper(AbsEncoder):
86
87
 
87
88
  if invalid_prompts:
88
89
  invalid_prompts = "\n".join(invalid_prompts)
89
- logger.warning(
90
- f"Some prompts are not in the expected format and will be ignored. Problems:\n\n{invalid_prompts}"
91
- )
90
+ msg = f"Some prompts are not in the expected format and will be ignored. Problems:\n\n{invalid_prompts}"
91
+ logger.warning(msg)
92
+ warnings.warn(msg)
92
93
 
93
94
  if (
94
95
  self.model_prompts
@@ -98,10 +99,9 @@ class SentenceTransformerEncoderWrapper(AbsEncoder):
98
99
  or PromptType.document.value not in self.model_prompts
99
100
  )
100
101
  ):
101
- logger.warning(
102
- "SentenceTransformers that use prompts most often need to be configured with at least 'query' and"
103
- f" 'document' prompts to ensure optimal performance. Received {self.model_prompts}"
104
- )
102
+ msg = f"SentenceTransformers that use prompts most often need to be configured with at least 'query' and 'document' prompts to ensure optimal performance. Received {self.model_prompts}"
103
+ logger.warning(msg)
104
+ warnings.warn(msg)
105
105
 
106
106
  if hasattr(self.model, "similarity") and callable(self.model.similarity):
107
107
  self.similarity = self.model.similarity
@@ -364,7 +364,9 @@ class BenchmarkResults(BaseModel):
364
364
  scores_data.extend(model_result._get_score_for_table())
365
365
 
366
366
  if not scores_data:
367
- logger.warning("No scores data available. Returning empty DataFrame.")
367
+ msg = "No scores data available. Returning empty DataFrame."
368
+ logger.warning(msg)
369
+ warnings.warn(msg)
368
370
  return pd.DataFrame()
369
371
 
370
372
  # Create DataFrame
@@ -292,7 +292,9 @@ class ModelResult(BaseModel):
292
292
  scores_data = self._get_score_for_table()
293
293
 
294
294
  if not scores_data:
295
- logger.warning("No scores data available. Returning empty DataFrame.")
295
+ msg = "No scores data available. Returning empty DataFrame."
296
+ logger.warning(msg)
297
+ warnings.warn(msg)
296
298
  return pd.DataFrame()
297
299
 
298
300
  # Create DataFrame
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import json
4
4
  import logging
5
+ import warnings
5
6
  from argparse import Namespace
6
7
  from collections import defaultdict
7
8
  from collections.abc import Callable, Iterable
@@ -462,7 +463,9 @@ class TaskResult(BaseModel):
462
463
  if main_score in hf_subset_scores:
463
464
  hf_subset_scores["main_score"] = hf_subset_scores[main_score]
464
465
  else:
465
- logger.warning(f"Main score {main_score} not found in scores")
466
+ msg = f"Main score {main_score} not found in scores"
467
+ logger.warning(msg)
468
+ warnings.warn(msg)
466
469
  hf_subset_scores["main_score"] = None
467
470
 
468
471
  # specific fixes:
@@ -658,14 +661,14 @@ class TaskResult(BaseModel):
658
661
  else:
659
662
  missing_subsets_str = str(missing_subsets)
660
663
 
661
- logger.warning(
662
- f"{task.metadata.name}: Missing subsets {missing_subsets_str} for split {split}"
663
- )
664
+ msg = f"{task.metadata.name}: Missing subsets {missing_subsets_str} for split {split}"
665
+ logger.warning(msg)
666
+ warnings.warn(msg)
664
667
  seen_splits.add(split)
665
668
  if seen_splits != set(splits):
666
- logger.warning(
667
- f"{task.metadata.name}: Missing splits {set(splits) - seen_splits}"
668
- )
669
+ msg = f"{task.metadata.name}: Missing splits {set(splits) - seen_splits}"
670
+ logger.warning(msg)
671
+ warnings.warn(msg)
669
672
  data = self.model_dump()
670
673
  data["scores"] = new_scores
671
674
  return type(self).model_construct(**data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mteb
3
- Version: 2.5.2
3
+ Version: 2.5.3
4
4
  Summary: Massive Text Embedding Benchmark
5
5
  Author-email: MTEB Contributors <niklas@huggingface.co>, Kenneth Enevoldsen <kenneth.enevoldsen@cas.au.dk>, Nouamane Tazi <nouamane@huggingface.co>, Nils Reimers <info@nils-reimers.de>
6
6
  Maintainer-email: Kenneth Enevoldsen <kenneth.enevoldsen@cas.au.dk>, Roman Solomatin <risolomatin@gmail.com>, Isaac Chung <chungisaac1217@gmail.com>
@@ -5,11 +5,11 @@ mteb/_helpful_enum.py,sha256=jh73N1jlcpg7RGz4bj8UpctiMNvqvHpp9wrB7SYEzIU,510
5
5
  mteb/_log_once.py,sha256=-tUKzxGQzf2LZSuQXi97oYFXMta1B6GEYXd7BPqssvY,1095
6
6
  mteb/_requires_package.py,sha256=eHg_TD9BVZRzNCcQQrUP17d8M1DF_vOd_tVx54AmAnM,3017
7
7
  mteb/_set_seed.py,sha256=HPlPRl__Pe6IG-4UgJqTfplcivJ_wA2kaClbXoHQedM,1178
8
- mteb/cache.py,sha256=EogjsGZjoD6wZmVr4R3Lrc25C0x50Oie_i29K_4iHwo,21236
9
- mteb/deprecated_evaluator.py,sha256=9cJIahJHNZphoqo6KZfp30LLhIdyiR3SSLcut4FR_Ek,26778
10
- mteb/evaluate.py,sha256=IcaNu3VQwoeH7F1m8_7qJ6_lffHPujRcjKOBo4A7JBI,18631
8
+ mteb/cache.py,sha256=y_FJ-tcjmAs-2OIow8-5UqTbXJR4HaPZ_YEjhsB8OxY,21338
9
+ mteb/deprecated_evaluator.py,sha256=IcM_Y1eR4h2DmvCOFuB7baBRGZZ7WRDNsov7ZmyM5Fc,26817
10
+ mteb/evaluate.py,sha256=o2_aJ03CKXxky9rIWfjxeKGl5KDTRHa5SJIgsHHZU94,18710
11
11
  mteb/filter_tasks.py,sha256=5XE1OYmgDDoJYnXwFf4ma_PIT_Lekzs420sQF_kpCiY,7240
12
- mteb/get_tasks.py,sha256=6Gc18a2bZoLQV1Ms_qdr2KieAqIXg8TDg4l7ZN8rW2I,14218
12
+ mteb/get_tasks.py,sha256=q-J2CfZX39rVAyTDAlKLegKd3CLpVYl0hsF5ZtPFil0,14257
13
13
  mteb/load_results.py,sha256=Xw2ZX7BToU92WwUTQUQKPAgPhX7ucyRRdoCrxAoPHdI,6414
14
14
  mteb/similarity_functions.py,sha256=ySSnrKl4cSKOWfyIKQPVTJtxuy2ZNfcv0COXDp22QlQ,10630
15
15
  mteb/_evaluators/__init__.py,sha256=Ag1_RWpxBGMpujzd3FZjI40gY_KQKIpY31tJPuk-hFg,1013
@@ -31,9 +31,9 @@ mteb/_evaluators/text/summarization_evaluator.py,sha256=l0AwjVO594mtzPV9Kcqf_xtH
31
31
  mteb/abstasks/__init__.py,sha256=1iAwpYTWX7U-goak2KMmacPFCzxPchLQAmZ_uI0t-p0,1130
32
32
  mteb/abstasks/_statistics_calculation.py,sha256=UP2H2Cy8yqwtqeimTWfe4unmZ4iyyr5qiBNZzzFjy9o,5669
33
33
  mteb/abstasks/_stratification.py,sha256=zfwkIVmD7Aq7mR2Yt8jTeW1j5ZVV7CIweW842VzcfXc,14364
34
- mteb/abstasks/abstask.py,sha256=nZwiY_5d0VVtUrlCATngpFLG3JAovO5AvmD0nkkWsLE,25118
34
+ mteb/abstasks/abstask.py,sha256=d6k6lMXdUkUJSgO_OhVKEa54gnAGjJ2p2DZp3eBuzZ0,25295
35
35
  mteb/abstasks/aggregate_task_metadata.py,sha256=vzt1z2wDl0sXD7ErZFwKojYwmFUBPAnGlXLuqLA_-6Q,5992
36
- mteb/abstasks/aggregated_task.py,sha256=puY6-EAqbL5ehKvFHTMriIdy3rAuqqYHF3ezog1eYxw,6671
36
+ mteb/abstasks/aggregated_task.py,sha256=ognE64TIQ7ljahSsT_ezDt5a9A2R2tCYe3ET0c0EXSE,6410
37
37
  mteb/abstasks/classification.py,sha256=k_wrM1rq2XcVEK97RpU_uEcqhiWWbV7sm3B0dtvP5yY,13376
38
38
  mteb/abstasks/clustering.py,sha256=4KcaU8_sNLmLvMhwDpNmcY2nD3BNyx_LcM-ddSv-wtY,14410
39
39
  mteb/abstasks/clustering_legacy.py,sha256=zkibXenniqmSfFr8B8KvGGLoALkuxNZo_vJkeu_7GWQ,8803
@@ -44,7 +44,7 @@ mteb/abstasks/regression.py,sha256=SeacOErZUXGLGOcwqAvht6BlbD8fcsn9QhNiFIuJGyc,8
44
44
  mteb/abstasks/retrieval.py,sha256=7QTKYlGaGvF1lOQkB_B4qj8Vm2FxxFXNVTHhfwZO8Bw,26439
45
45
  mteb/abstasks/retrieval_dataset_loaders.py,sha256=WukcFAn54rUpXULCG43eysHozXHAxo2CaPhQyL_2Yg8,9401
46
46
  mteb/abstasks/sts.py,sha256=aKTivjvDtAaoYb1hz1NBv2o3UpDR-3AaeHgkDFHMBGI,9077
47
- mteb/abstasks/task_metadata.py,sha256=7CzYK1y-vwLUiWaEGPgU3HiolpW3UCul8Y2KJ-WSpeE,26892
47
+ mteb/abstasks/task_metadata.py,sha256=UYn8IZaz6qp2MDSupfLsvCuhvVnXGok23GvMTwqzyIs,26880
48
48
  mteb/abstasks/zeroshot_classification.py,sha256=4UxBIZ1e1iRK8PRAhCWnnSDirK2vi5-w2N5ZomCnaIM,5882
49
49
  mteb/abstasks/_data_filter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  mteb/abstasks/_data_filter/filters.py,sha256=p1QLy7V9jYVFicef61fwzCpbSpTA6rOv8CxkwEUTMvc,4585
@@ -64,8 +64,8 @@ mteb/benchmarks/benchmarks/benchmarks.py,sha256=_8zds06sQj41JzR6BHGWk33DZE2VGvab
64
64
  mteb/benchmarks/benchmarks/rteb_benchmarks.py,sha256=QnCSrTTaBfcRlAQp2Nu81tgv1idMXqiM16Fp2zKJ5Ys,10607
65
65
  mteb/cli/__init__.py,sha256=v-csUr3eUZElIvrGB6QGtaIdndDfNWEe9oZchsGsJpg,64
66
66
  mteb/cli/_display_tasks.py,sha256=7A06dT9sSoTz6shyMvskPxuc5eHY_H7PGPlROzMP0yw,2196
67
- mteb/cli/build_cli.py,sha256=SzYrKEdbtfyA08ATPPL4_Z5REzNKp5965R_ANEKc3ug,12408
68
- mteb/cli/generate_model_card.py,sha256=IZ7C96xvtBcqERm1goTynwo8A9fpI_KDUxGiyZeLfGE,4053
67
+ mteb/cli/build_cli.py,sha256=aZ3XWkH-2NH25vjYUDnJY1Q558RxCzmHYCJ8nYTPlDo,12533
68
+ mteb/cli/generate_model_card.py,sha256=34w3E0betglTs60LBlRlNsOJxJnyq0SNRMlXz-c96m8,4092
69
69
  mteb/descriptive_stats/BitextMining/BUCC.json,sha256=7zXoJaZacNdqMSG60jPZGIDJ1is_bxbVlcrVyImPRxw,3745
70
70
  mteb/descriptive_stats/BitextMining/BUCC.v2.json,sha256=IRPOKaIaUD31okNe12nQV2E1JeYK_Fo25Tz7d-utATM,3716
71
71
  mteb/descriptive_stats/BitextMining/BibleNLPBitextMining.json,sha256=BxzjiVoeXrSKaeBIVytLKMf2yx_6ksZ4GddPtTU8MWY,1248649
@@ -1444,20 +1444,20 @@ mteb/leaderboard/figures.py,sha256=cfOK82rRf-7sCjyP7GBxh4ezhOIt0OhD0_86mKtzLrg,7
1444
1444
  mteb/leaderboard/table.py,sha256=KqU8aAbZ_tDp1O_qXRGWR32QnB7v_lsF6k5jxLcQVN0,10366
1445
1445
  mteb/leaderboard/text_segments.py,sha256=iMIkS04QQjPbT-SkU0x6fOcS8xRbUYevryu9HydipKM,6570
1446
1446
  mteb/models/__init__.py,sha256=ABTuoqiBjBtBWW3LYY7ItBHdylR6jWoy06HH0g6j6fU,910
1447
- mteb/models/abs_encoder.py,sha256=XblcGJYJlbTwhX43wvRft_XqnSq2WpzjFcNIwOyRjYo,16443
1447
+ mteb/models/abs_encoder.py,sha256=zboYqEnpYTwyluTPTTbGV1yVqbYBuH_yExhY1ZxYmfo,16521
1448
1448
  mteb/models/get_model_meta.py,sha256=BMzlqTuzzhIFmfzmtshnRu2KCWxw9mCPyClJfe4oGdQ,5396
1449
1449
  mteb/models/instruct_wrapper.py,sha256=G4dMcmD5A4M3hmKATf5OYezmZv8-Ie189BrdmipBo7Y,9091
1450
- mteb/models/model_meta.py,sha256=FkAgijAyfDBUK9Dn00o3zPVNtj2NPZ1717G0iO2Z3tU,29740
1450
+ mteb/models/model_meta.py,sha256=c2N4e5lWqX1ofEmHyFhbqxOK_tAHvW5Fcv6ekzpFsXw,29801
1451
1451
  mteb/models/models_protocols.py,sha256=D2hYWn_UBGMaKtRwBx3u0B0ni6lHJjSzTxX21XFNwIc,8917
1452
- mteb/models/search_wrappers.py,sha256=zpCvxUVNQWekyC4Fiz7mvlI0VPdSrFq41A0GrCDvBK4,20331
1453
- mteb/models/sentence_transformer_wrapper.py,sha256=xSkFcw6EiCmPJeeMPYm0A0jONRIi0lQc0jBSEhUgXN8,12144
1452
+ mteb/models/search_wrappers.py,sha256=Vlg1iEYWrzRv7TElxwizOYP3mB95pUrTCMJBeuvENnI,20383
1453
+ mteb/models/sentence_transformer_wrapper.py,sha256=8zMPeO78kc3rccjPYFpOnk6npdEPPZIvitQxd1XUu8U,12210
1454
1454
  mteb/models/cache_wrappers/__init__.py,sha256=1w1TnMwulWJSzNkLXjbh5MY3sqgHWc6vUntYn49i9X8,169
1455
1455
  mteb/models/cache_wrappers/cache_backend_protocol.py,sha256=TR7kD7KbN1J4piszIecpegtLZYGy7sRHZt3SDWlImKk,1665
1456
1456
  mteb/models/cache_wrappers/cache_wrapper.py,sha256=KLDeOCe_ndQshbZa5ep2u3jovsl--tfpQzvt9EXyxCA,6589
1457
1457
  mteb/models/cache_wrappers/cache_backends/__init__.py,sha256=hN2Tq7cpTxoOYSCJ1Wnpvb8dEm-kQLfCCahT1N9Bacw,123
1458
1458
  mteb/models/cache_wrappers/cache_backends/_hash_utils.py,sha256=zAp7BDuYyGETn2kX58uk8_tn1G2B7bgcsItDDxgyn-w,488
1459
- mteb/models/cache_wrappers/cache_backends/faiss_cache.py,sha256=i9IfaCv1-_BvVokXFW1UZ9hMLCuM6rZ0tI-ZesoBkt4,3734
1460
- mteb/models/cache_wrappers/cache_backends/numpy_cache.py,sha256=GyTVC5DLph3EeRnDMO1EEQzBDoOgk2J1hPqpl07lefM,7442
1459
+ mteb/models/cache_wrappers/cache_backends/faiss_cache.py,sha256=WWDSvXgClQr6XqzJ6sIfiHOwbyfBErjNoeZ9VMzphNw,3803
1460
+ mteb/models/cache_wrappers/cache_backends/numpy_cache.py,sha256=K3iKuOI7Cq3jB4gmm7hqJqcQtdYDssDxLcA4OXaxVlU,7572
1461
1461
  mteb/models/model_implementations/__init__.py,sha256=BZDdde6ajKv-yroy9mqE2YS3Hw1KBdKoxBPg8aPTZEs,1164
1462
1462
  mteb/models/model_implementations/align_models.py,sha256=hKnheWaRqpAcPo1SJa_c2vBbB1ayrKjWmSjbZ5bwGAw,4544
1463
1463
  mteb/models/model_implementations/amazon_models.py,sha256=a9bLYQ1ZGWDo4RdyaPNsBqadMrBm550fLIFr1Zfp2Nk,720
@@ -1496,7 +1496,7 @@ mteb/models/model_implementations/evaclip_models.py,sha256=oEoHnKQ4W09EQUCnNwpEd
1496
1496
  mteb/models/model_implementations/fa_models.py,sha256=Hnw2E2D1ahleS15kkC0aGDIKW1Y-0wIMOlXtqEG6Bks,9818
1497
1497
  mteb/models/model_implementations/facebookai.py,sha256=0x2c8LmvIFg6kGXtmDa9cbJeTmG3tia12vyr7lgycI0,4886
1498
1498
  mteb/models/model_implementations/geogpt_models.py,sha256=X85_jeFzBZMjNRsyqwFbIQBgXXP7rZAr5PI-wbuy828,1949
1499
- mteb/models/model_implementations/gme_v_models.py,sha256=5hWzk2cuuxoQq6IbGbHu_BngVS4F7BT7epak3g6dHk0,13709
1499
+ mteb/models/model_implementations/gme_v_models.py,sha256=c5OAMnMsNamnjrSiOR9nAav7hXYLUWbe7mEksPJvL48,13748
1500
1500
  mteb/models/model_implementations/google_models.py,sha256=lEpk1pOkp30kg6xljw8Gtkf-QGXAe8oJVp7JZhzWlik,11143
1501
1501
  mteb/models/model_implementations/granite_vision_embedding_models.py,sha256=A9yWcQezu_2yVxSm3pv0Da76Hl_uNUfrDVtPK1uqYFo,7341
1502
1502
  mteb/models/model_implementations/gritlm_models.py,sha256=FKz9AHPaelomNMZP282F5vwsMjEBV3C2IuL3XTxXKCA,3057
@@ -1519,7 +1519,7 @@ mteb/models/model_implementations/linq_models.py,sha256=huy7c95uYmhmjf6VZtx30YtM
1519
1519
  mteb/models/model_implementations/listconranker.py,sha256=EwUAvWefDmx4x_YCIJRVsKI3j3konQIHOiJ4paG2lvY,4492
1520
1520
  mteb/models/model_implementations/llm2clip_models.py,sha256=BatYnh6y1w0zF24Fsp1z30kqmXf3FAKeq6_MEKdzEF8,9343
1521
1521
  mteb/models/model_implementations/llm2vec_models.py,sha256=0I_UydxopC41lKWcIpCMaKADXcFVUfPwKwk0vZFG2zY,12846
1522
- mteb/models/model_implementations/mcinext_models.py,sha256=tjDFnPpFjSeytcrvGmMeTjSV-vXxyNHgV1r33RsBmUk,19058
1522
+ mteb/models/model_implementations/mcinext_models.py,sha256=h-X9og2Cjj8DarHkaLOfqlIHpeCGnJZv0EuwYG61uzY,19127
1523
1523
  mteb/models/model_implementations/mdbr_models.py,sha256=knDaM_j_kL9uq1Ng5s6InsTEZ-Cu0jBux8zmrbDnrig,2561
1524
1524
  mteb/models/model_implementations/misc_models.py,sha256=djB2ySEBiCvxwWGZUXIwzeH9eaXtlqV7ttQEDUFlKQQ,70754
1525
1525
  mteb/models/model_implementations/mme5_models.py,sha256=Fuge1fqGbaWqw-Hbd75Xr31JTqJTL45yJ4DAw3QJuyE,1510
@@ -1587,11 +1587,11 @@ mteb/models/model_implementations/yuan_models_en.py,sha256=xliuxqPPiCPLdEDhs8OsB
1587
1587
  mteb/models/search_encoder_index/__init__.py,sha256=3QFacIuFyEiI7ocsSkb3Lp2S2L7MLkpHCMIJ201fowA,182
1588
1588
  mteb/models/search_encoder_index/search_backend_protocol.py,sha256=TSjlx88stJcMldbAeVqNCf8JsQvE-B5rf5SBRw90isY,1890
1589
1589
  mteb/models/search_encoder_index/search_indexes/__init__.py,sha256=Wm60_oUemUpFsvrCMW111dcPH2L2rt1iZrXMskXmG7o,88
1590
- mteb/models/search_encoder_index/search_indexes/faiss_search_index.py,sha256=WMs3QbbYV13fRuT3dakmdVMZLFdc_9ZzSupS3QxlbVQ,5555
1590
+ mteb/models/search_encoder_index/search_indexes/faiss_search_index.py,sha256=wl7pBU-zyjX3H1Tc93a6N5nKLBnRijWyb2CUEgKt0VI,5632
1591
1591
  mteb/results/__init__.py,sha256=EXQqK4Am5eIYzD52dpcGAFSdqnC38oE6JHN302oidHc,158
1592
- mteb/results/benchmark_results.py,sha256=yyZux1KMecHI9DE9Vya8bxr4IljxgkNoPiAFvrELbko,19846
1593
- mteb/results/model_result.py,sha256=Y6b_xfJlw8EFZq464ZVhyw0Rryv111hvMjnXbEZJpXk,14059
1594
- mteb/results/task_result.py,sha256=1ezwdxY9ibU4uIcaj6IxjSEkrTQn-2eO3e-hzLHgALQ,32339
1592
+ mteb/results/benchmark_results.py,sha256=whY2b9CYD8LJ4fzYfMfrvuYnDxJKZYW1Z0RBsMWq1ns,19899
1593
+ mteb/results/model_result.py,sha256=wY8Za1R4pumS0cq0ePJCNelFEs7LEIecZcBJ59vyQxU,14112
1594
+ mteb/results/task_result.py,sha256=GB1YTi_N9OXuzL4VRckaR5twz7F78UDLPbdqGWv8Z2Y,32478
1595
1595
  mteb/tasks/__init__.py,sha256=izAxU0ip1F_YUwx0dFCuN35BaktdmePh6vlDiHC0kLo,503
1596
1596
  mteb/tasks/aggregated_tasks/__init__.py,sha256=Ufgbh1AirxCQkojO3AUhUFWM8zQG10cfdVTkj_PeyLI,104
1597
1597
  mteb/tasks/aggregated_tasks/eng/__init__.py,sha256=HgaSyAX8Is5CGE006RgJkLQQVxrx2FmMnm6NHQBDi-4,358
@@ -2602,9 +2602,9 @@ mteb/types/_metadata.py,sha256=NN-W0S6a5TDV7UkpRx1pyWtGF4TyyCyoPUfHOwdeci8,2290
2602
2602
  mteb/types/_result.py,sha256=CRAUc5IvqI3_9SyXDwv-PWLCXwXdZem9RePeYESRtuw,996
2603
2603
  mteb/types/_string_validators.py,sha256=PY-dYq4E8O50VS3bLYdldPWp400fl_WzUjfVSkNWe8U,523
2604
2604
  mteb/types/statistics.py,sha256=YwJsxTf1eaCI_RE-J37a-gK5wDeGAsmkeZKoZCFihSo,3755
2605
- mteb-2.5.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
2606
- mteb-2.5.2.dist-info/METADATA,sha256=mhU8GVGbs-LZnxe-2EI1D_Y6Nq5Q83Tm8OxX1DnX3us,13990
2607
- mteb-2.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2608
- mteb-2.5.2.dist-info/entry_points.txt,sha256=8IJoEJFKoDHmVnNev-qJ9pp4Ln7_1-ma9QsXnzVCzGU,39
2609
- mteb-2.5.2.dist-info/top_level.txt,sha256=OLVIjcQAlWBz0bdmutKlWHLF42FF0hp4uVAg3ZyiG4U,5
2610
- mteb-2.5.2.dist-info/RECORD,,
2605
+ mteb-2.5.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
2606
+ mteb-2.5.3.dist-info/METADATA,sha256=WNh8oN0eu2FuL94XKUX6qnIKcsfKGxJFdLCmbxWXoKU,13990
2607
+ mteb-2.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2608
+ mteb-2.5.3.dist-info/entry_points.txt,sha256=8IJoEJFKoDHmVnNev-qJ9pp4Ln7_1-ma9QsXnzVCzGU,39
2609
+ mteb-2.5.3.dist-info/top_level.txt,sha256=OLVIjcQAlWBz0bdmutKlWHLF42FF0hp4uVAg3ZyiG4U,5
2610
+ mteb-2.5.3.dist-info/RECORD,,
File without changes