mteb 2.3.9__py3-none-any.whl → 2.3.11__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/_evaluators/image/imagetext_pairclassification_evaluator.py +7 -2
- mteb/abstasks/_statistics_calculation.py +6 -2
- mteb/abstasks/classification.py +0 -2
- mteb/benchmarks/_create_table.py +60 -0
- mteb/benchmarks/benchmark.py +26 -2
- mteb/benchmarks/benchmarks/benchmarks.py +31 -0
- mteb/leaderboard/app.py +34 -2
- mteb/leaderboard/table.py +62 -0
- mteb/models/cache_wrappers/cache_backends/_hash_utils.py +2 -2
- mteb/models/model_implementations/colpali_models.py +7 -2
- mteb/models/model_implementations/colqwen_models.py +1 -1
- mteb/models/model_implementations/gme_v_models.py +9 -5
- mteb/models/model_implementations/granite_vision_embedding_models.py +6 -2
- mteb/models/model_implementations/jasper_models.py +2 -2
- mteb/models/model_implementations/jina_models.py +1 -1
- mteb/models/model_implementations/nomic_models_vision.py +6 -2
- mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py +6 -2
- mteb/models/model_implementations/pawan_models.py +38 -0
- mteb/models/model_implementations/pylate_models.py +1 -4
- mteb/models/model_implementations/random_baseline.py +6 -2
- mteb/models/model_implementations/seed_1_6_embedding_models.py +7 -2
- mteb/models/model_implementations/voyage_v.py +6 -2
- mteb/results/benchmark_results.py +2 -1
- mteb/results/model_result.py +9 -3
- mteb/types/_encoder_io.py +7 -2
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/METADATA +2 -1
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/RECORD +31 -30
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/WHEEL +0 -0
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/entry_points.txt +0 -0
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/licenses/LICENSE +0 -0
- {mteb-2.3.9.dist-info → mteb-2.3.11.dist-info}/top_level.txt +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
|
-
from typing import Any
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
3
5
|
|
|
4
6
|
import torch
|
|
5
7
|
import torch.nn.functional as F
|
|
6
8
|
from datasets import Dataset
|
|
7
|
-
from PIL.Image import Image
|
|
8
9
|
from torch.utils.data import DataLoader
|
|
9
10
|
|
|
10
11
|
from mteb._create_dataloaders import (
|
|
@@ -15,6 +16,10 @@ from mteb._requires_package import requires_image_dependencies
|
|
|
15
16
|
from mteb.abstasks.task_metadata import TaskMetadata
|
|
16
17
|
from mteb.models.models_protocols import EncoderProtocol
|
|
17
18
|
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from PIL.Image import Image
|
|
21
|
+
|
|
22
|
+
|
|
18
23
|
logger = logging.getLogger(__name__)
|
|
19
24
|
|
|
20
25
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import hashlib
|
|
2
4
|
from collections import Counter
|
|
3
|
-
|
|
4
|
-
from PIL import Image
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
5
6
|
|
|
6
7
|
from mteb.types import TopRankedDocumentsType
|
|
7
8
|
from mteb.types.statistics import (
|
|
@@ -13,6 +14,9 @@ from mteb.types.statistics import (
|
|
|
13
14
|
TopRankedStatistics,
|
|
14
15
|
)
|
|
15
16
|
|
|
17
|
+
if TYPE_CHECKING:
|
|
18
|
+
from PIL import Image
|
|
19
|
+
|
|
16
20
|
|
|
17
21
|
def calculate_text_statistics(texts: list[str]) -> TextStatistics:
|
|
18
22
|
"""Calculate descriptive statistics for a list of texts.
|
mteb/abstasks/classification.py
CHANGED
|
@@ -5,7 +5,6 @@ from typing import Any, TypedDict
|
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
7
|
from datasets import Dataset, DatasetDict
|
|
8
|
-
from PIL import ImageFile
|
|
9
8
|
from sklearn.linear_model import LogisticRegression
|
|
10
9
|
from sklearn.metrics import (
|
|
11
10
|
accuracy_score,
|
|
@@ -32,7 +31,6 @@ from ._statistics_calculation import (
|
|
|
32
31
|
)
|
|
33
32
|
from .abstask import AbsTask
|
|
34
33
|
|
|
35
|
-
ImageFile.LOAD_TRUNCATED_IMAGES = True
|
|
36
34
|
logger = logging.getLogger(__name__)
|
|
37
35
|
|
|
38
36
|
|
mteb/benchmarks/_create_table.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import re
|
|
2
2
|
from collections import defaultdict
|
|
3
|
+
from typing import Literal
|
|
3
4
|
|
|
4
5
|
import numpy as np
|
|
5
6
|
import pandas as pd
|
|
@@ -241,6 +242,65 @@ def _create_per_task_table_from_benchmark_results(
|
|
|
241
242
|
return per_task
|
|
242
243
|
|
|
243
244
|
|
|
245
|
+
def _create_per_language_table_from_benchmark_results(
|
|
246
|
+
benchmark_results: BenchmarkResults,
|
|
247
|
+
language_view: list[str] | Literal["all"],
|
|
248
|
+
) -> pd.DataFrame:
|
|
249
|
+
"""Create per-language table from BenchmarkResults.
|
|
250
|
+
|
|
251
|
+
Returns a DataFrame with one row per model and one column per language.
|
|
252
|
+
|
|
253
|
+
Args:
|
|
254
|
+
benchmark_results: BenchmarkResults object containing model results
|
|
255
|
+
language_view: List of languages to include in the per-language table, or "all" for all languages present in the results
|
|
256
|
+
Returns:
|
|
257
|
+
DataFrame with per-language scores, ready for styling in the leaderboard
|
|
258
|
+
"""
|
|
259
|
+
if language_view != "all" and not isinstance(language_view, list):
|
|
260
|
+
raise ValueError("language_view must be a list of languages or 'all'")
|
|
261
|
+
|
|
262
|
+
data = benchmark_results.to_dataframe(aggregation_level="language", format="long")
|
|
263
|
+
|
|
264
|
+
if data.empty:
|
|
265
|
+
no_results_frame = pd.DataFrame(
|
|
266
|
+
{"No results": ["You can try relaxing your criteria"]}
|
|
267
|
+
)
|
|
268
|
+
return no_results_frame
|
|
269
|
+
|
|
270
|
+
if language_view != "all":
|
|
271
|
+
data = data[data["language"].isin(language_view)]
|
|
272
|
+
|
|
273
|
+
per_language = data.pivot_table(
|
|
274
|
+
index="model_name", columns="language", values="score", aggfunc="mean"
|
|
275
|
+
)
|
|
276
|
+
|
|
277
|
+
to_remove = per_language.isna().all(axis="columns")
|
|
278
|
+
if to_remove.all():
|
|
279
|
+
no_results_frame = pd.DataFrame(
|
|
280
|
+
{"No results": ["You can try relaxing your criteria"]}
|
|
281
|
+
)
|
|
282
|
+
return no_results_frame
|
|
283
|
+
|
|
284
|
+
models_to_remove = list(per_language[to_remove].index)
|
|
285
|
+
per_language = per_language.drop(models_to_remove, axis=0)
|
|
286
|
+
|
|
287
|
+
per_language["borda_rank"] = _get_borda_rank(per_language)
|
|
288
|
+
per_language = per_language.sort_values("borda_rank", ascending=True)
|
|
289
|
+
per_language = per_language.drop(columns=["borda_rank"])
|
|
290
|
+
per_language = per_language.reset_index()
|
|
291
|
+
|
|
292
|
+
per_language["model_name"] = per_language["model_name"].map(
|
|
293
|
+
lambda name: name.split("/")[-1]
|
|
294
|
+
)
|
|
295
|
+
per_language = per_language.rename(
|
|
296
|
+
columns={
|
|
297
|
+
"model_name": "Model",
|
|
298
|
+
}
|
|
299
|
+
)
|
|
300
|
+
|
|
301
|
+
return per_language
|
|
302
|
+
|
|
303
|
+
|
|
244
304
|
def _create_summary_table_mean_public_private(
|
|
245
305
|
benchmark_results: BenchmarkResults,
|
|
246
306
|
) -> pd.DataFrame:
|
mteb/benchmarks/benchmark.py
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from collections.abc import Iterable, Sequence
|
|
2
|
-
from dataclasses import dataclass
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
2
|
+
from dataclasses import dataclass, field
|
|
3
|
+
from typing import TYPE_CHECKING, Literal
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
|
|
7
7
|
from mteb.benchmarks._create_table import (
|
|
8
|
+
_create_per_language_table_from_benchmark_results,
|
|
8
9
|
_create_per_task_table_from_benchmark_results,
|
|
9
10
|
_create_summary_table_from_benchmark_results,
|
|
10
11
|
_create_summary_table_mean_public_private,
|
|
@@ -50,6 +51,7 @@ class Benchmark:
|
|
|
50
51
|
display_on_leaderboard: bool = True
|
|
51
52
|
icon: str | None = None
|
|
52
53
|
display_name: str | None = None
|
|
54
|
+
language_view: list[str] | Literal["all"] = field(default_factory=list)
|
|
53
55
|
|
|
54
56
|
def __iter__(self) -> Iterable["AbsTask"]:
|
|
55
57
|
return iter(self.tasks)
|
|
@@ -80,6 +82,28 @@ class Benchmark:
|
|
|
80
82
|
"""
|
|
81
83
|
return _create_per_task_table_from_benchmark_results(benchmark_results)
|
|
82
84
|
|
|
85
|
+
def _create_per_language_table(
|
|
86
|
+
self, benchmark_results: BenchmarkResults
|
|
87
|
+
) -> pd.DataFrame:
|
|
88
|
+
"""Create per-language table. Called by the leaderboard app.
|
|
89
|
+
|
|
90
|
+
Returns:
|
|
91
|
+
A pandas DataFrame representing the per-language results.
|
|
92
|
+
"""
|
|
93
|
+
if self.language_view == "all" or len(self.language_view) > 0:
|
|
94
|
+
return _create_per_language_table_from_benchmark_results(
|
|
95
|
+
benchmark_results, self.language_view
|
|
96
|
+
)
|
|
97
|
+
else:
|
|
98
|
+
no_results_frame = pd.DataFrame(
|
|
99
|
+
{
|
|
100
|
+
"No results": [
|
|
101
|
+
"The per-language table is not available for this benchmark."
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
return no_results_frame
|
|
106
|
+
|
|
83
107
|
|
|
84
108
|
class RtebBenchmark(Benchmark):
|
|
85
109
|
"""Wrapper for RTEB benchmark."""
|
|
@@ -471,6 +471,7 @@ SEB = Benchmark(
|
|
|
471
471
|
name="MTEB(Scandinavian, v1)",
|
|
472
472
|
display_name="Scandinavian",
|
|
473
473
|
icon="https://github.com/lipis/flag-icons/raw/260c91531be024944c6514130c5defb2ebb02b7d/flags/4x3/dk.svg",
|
|
474
|
+
language_view=["dan-Latn", "swe-Latn", "nno-Latn", "nob-Latn"],
|
|
474
475
|
tasks=get_tasks(
|
|
475
476
|
tasks=[
|
|
476
477
|
# Bitext
|
|
@@ -953,6 +954,28 @@ MTEB_multilingual_v1 = Benchmark(
|
|
|
953
954
|
MTEB_multilingual_v2 = Benchmark(
|
|
954
955
|
name="MTEB(Multilingual, v2)",
|
|
955
956
|
display_name="Multilingual",
|
|
957
|
+
language_view=[
|
|
958
|
+
"eng-Latn", # English
|
|
959
|
+
"zho-Hans", # Chinese (Simplified)
|
|
960
|
+
"hin-Deva", # Hindi
|
|
961
|
+
"spa-Latn", # Spanish
|
|
962
|
+
"fra-Latn", # French
|
|
963
|
+
"ara-Arab", # Arabic
|
|
964
|
+
"ben-Beng", # Bengali
|
|
965
|
+
"rus-Cyrl", # Russian
|
|
966
|
+
"por-Latn", # Portuguese
|
|
967
|
+
"urd-Arab", # Urdu
|
|
968
|
+
"ind-Latn", # Indonesian
|
|
969
|
+
"deu-Latn", # German
|
|
970
|
+
"jpn-Jpan", # Japanese
|
|
971
|
+
"swa-Latn", # Swahili
|
|
972
|
+
"mar-Deva", # Marathi
|
|
973
|
+
"tel-Telu", # Telugu
|
|
974
|
+
"tur-Latn", # Turkish
|
|
975
|
+
"tam-Taml", # Tamil
|
|
976
|
+
"vie-Latn", # Vietnamese
|
|
977
|
+
"kor-Hang", # Korean
|
|
978
|
+
],
|
|
956
979
|
icon="https://github.com/DennisSuitters/LibreICONS/raw/2d2172d15e3c6ca03c018629d60050e4b99e5c55/svg-color/libre-gui-globe.svg",
|
|
957
980
|
tasks=mteb_multilingual_tasks,
|
|
958
981
|
description="A large-scale multilingual expansion of MTEB, driven mainly by highly-curated community contributions covering 250+ languages. ",
|
|
@@ -2283,6 +2306,14 @@ VIDORE_V2 = Benchmark(
|
|
|
2283
2306
|
VIDORE_V3 = VidoreBenchmark(
|
|
2284
2307
|
name="ViDoRe(v3)",
|
|
2285
2308
|
display_name="ViDoRe V3",
|
|
2309
|
+
language_view=[
|
|
2310
|
+
"deu-Latn",
|
|
2311
|
+
"eng-Latn",
|
|
2312
|
+
"fra-Latn",
|
|
2313
|
+
"ita-Latn",
|
|
2314
|
+
"por-Latn",
|
|
2315
|
+
"spa-Latn",
|
|
2316
|
+
],
|
|
2286
2317
|
icon="https://cdn-uploads.huggingface.co/production/uploads/66e16a677c2eb2da5109fb5c/x99xqw__fl2UaPbiIdC_f.png",
|
|
2287
2318
|
tasks=get_tasks(
|
|
2288
2319
|
tasks=[
|
mteb/leaderboard/app.py
CHANGED
|
@@ -24,6 +24,7 @@ from mteb.leaderboard.benchmark_selector import (
|
|
|
24
24
|
)
|
|
25
25
|
from mteb.leaderboard.figures import _performance_size_plot, _radar_chart
|
|
26
26
|
from mteb.leaderboard.table import (
|
|
27
|
+
apply_per_language_styling_from_benchmark,
|
|
27
28
|
apply_per_task_styling_from_benchmark,
|
|
28
29
|
apply_summary_styling_from_benchmark,
|
|
29
30
|
)
|
|
@@ -361,6 +362,13 @@ def get_leaderboard_app(cache: ResultCache = ResultCache()) -> gr.Blocks:
|
|
|
361
362
|
per_task_table = apply_per_task_styling_from_benchmark(
|
|
362
363
|
default_benchmark, filtered_benchmark_results
|
|
363
364
|
)
|
|
365
|
+
per_language_table = apply_per_language_styling_from_benchmark(
|
|
366
|
+
default_benchmark,
|
|
367
|
+
filtered_benchmark_results,
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
# Check if this benchmark displays per-language results
|
|
371
|
+
display_language_table = len(default_benchmark.language_view) > 0
|
|
364
372
|
|
|
365
373
|
lang_select = gr.CheckboxGroup(
|
|
366
374
|
sorted(default_results.languages),
|
|
@@ -554,6 +562,16 @@ def get_leaderboard_app(cache: ResultCache = ResultCache()) -> gr.Blocks:
|
|
|
554
562
|
download_per_task.click(
|
|
555
563
|
_download_table, inputs=[per_task_table], outputs=[download_per_task]
|
|
556
564
|
)
|
|
565
|
+
with gr.Tab(
|
|
566
|
+
"Performance per language", visible=display_language_table
|
|
567
|
+
) as language_tab:
|
|
568
|
+
per_language_table.render()
|
|
569
|
+
download_per_language = gr.DownloadButton("Download Table")
|
|
570
|
+
download_per_language.click(
|
|
571
|
+
_download_table,
|
|
572
|
+
inputs=[per_language_table],
|
|
573
|
+
outputs=[download_per_language],
|
|
574
|
+
)
|
|
557
575
|
with gr.Tab("Task information"):
|
|
558
576
|
task_info_table = gr.DataFrame(_update_task_info, inputs=[task_select]) # noqa: F841
|
|
559
577
|
|
|
@@ -879,9 +897,18 @@ def get_leaderboard_app(cache: ResultCache = ResultCache()) -> gr.Blocks:
|
|
|
879
897
|
per_task = apply_per_task_styling_from_benchmark(
|
|
880
898
|
benchmark, filtered_benchmark_results
|
|
881
899
|
)
|
|
900
|
+
per_language = apply_per_language_styling_from_benchmark(
|
|
901
|
+
benchmark,
|
|
902
|
+
filtered_benchmark_results,
|
|
903
|
+
)
|
|
882
904
|
elapsed = time.time() - start_time
|
|
883
905
|
logger.debug(f"update_tables callback: {elapsed}s")
|
|
884
|
-
return
|
|
906
|
+
return (
|
|
907
|
+
summary,
|
|
908
|
+
per_task,
|
|
909
|
+
per_language,
|
|
910
|
+
gr.update(visible=len(benchmark.language_view) > 0),
|
|
911
|
+
)
|
|
885
912
|
|
|
886
913
|
# Only update tables when models change, not when scores/tasks change directly
|
|
887
914
|
# This avoids redundant updates since scores/tasks changes trigger update_models
|
|
@@ -890,7 +917,12 @@ def get_leaderboard_app(cache: ResultCache = ResultCache()) -> gr.Blocks:
|
|
|
890
917
|
item.change(
|
|
891
918
|
update_tables,
|
|
892
919
|
inputs=[scores, task_select, models, benchmark_select],
|
|
893
|
-
outputs=[
|
|
920
|
+
outputs=[
|
|
921
|
+
summary_table,
|
|
922
|
+
per_task_table,
|
|
923
|
+
per_language_table,
|
|
924
|
+
language_tab,
|
|
925
|
+
],
|
|
894
926
|
)
|
|
895
927
|
|
|
896
928
|
gr.Markdown(ACKNOWLEDGEMENT, elem_id="ack_markdown")
|
mteb/leaderboard/table.py
CHANGED
|
@@ -120,6 +120,31 @@ def apply_per_task_styling_from_benchmark(
|
|
|
120
120
|
return _apply_per_task_table_styling(per_task_df)
|
|
121
121
|
|
|
122
122
|
|
|
123
|
+
def apply_per_language_styling_from_benchmark(
|
|
124
|
+
benchmark_instance: Benchmark, benchmark_results: BenchmarkResults
|
|
125
|
+
) -> gr.DataFrame:
|
|
126
|
+
"""Apply styling to per-language table created by the benchmark instance's _create_per_language_table method.
|
|
127
|
+
|
|
128
|
+
This supports polymorphism - different benchmark classes can have different table generation logic.
|
|
129
|
+
|
|
130
|
+
Args:
|
|
131
|
+
benchmark_instance: The benchmark instance
|
|
132
|
+
benchmark_results: BenchmarkResults object containing model results (may be pre-filtered)
|
|
133
|
+
|
|
134
|
+
Returns:
|
|
135
|
+
Styled gr.DataFrame ready for display in the leaderboard
|
|
136
|
+
"""
|
|
137
|
+
# Use the instance method to support polymorphism
|
|
138
|
+
per_language_df = benchmark_instance._create_per_language_table(benchmark_results)
|
|
139
|
+
|
|
140
|
+
# If it's a no-results DataFrame, return it as-is
|
|
141
|
+
if "No results" in per_language_df.columns:
|
|
142
|
+
return gr.DataFrame(per_language_df)
|
|
143
|
+
|
|
144
|
+
# Apply the styling
|
|
145
|
+
return _apply_per_language_table_styling(per_language_df)
|
|
146
|
+
|
|
147
|
+
|
|
123
148
|
def _style_number_of_parameters(num_params: float) -> str:
|
|
124
149
|
"""Anything bigger than 1B is shown in billions with 1 decimal (e.g. 1.712 > 1.7) while anything smaller as 0.xxx B (e.g. 0.345 remains 0.345)"""
|
|
125
150
|
if num_params >= 1:
|
|
@@ -237,10 +262,47 @@ def _apply_per_task_table_styling(per_task: pd.DataFrame) -> gr.DataFrame:
|
|
|
237
262
|
"{:.2f}", subset=task_score_columns, na_rep=""
|
|
238
263
|
).highlight_max(subset=task_score_columns, props="font-weight: bold")
|
|
239
264
|
|
|
265
|
+
# setting task name column width to 250px
|
|
266
|
+
column_widths = _get_column_widths(per_task_style.data)
|
|
267
|
+
if len(column_widths) > 0:
|
|
268
|
+
column_widths[0] = "250px"
|
|
269
|
+
|
|
240
270
|
return gr.DataFrame(
|
|
241
271
|
per_task_style,
|
|
242
272
|
interactive=False,
|
|
243
273
|
pinned_columns=1,
|
|
274
|
+
column_widths=column_widths,
|
|
275
|
+
buttons=["copy", "fullscreen"],
|
|
276
|
+
show_search="filter",
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
def _apply_per_language_table_styling(per_language: pd.DataFrame) -> gr.DataFrame:
|
|
281
|
+
"""Apply styling to a raw per-task DataFrame
|
|
282
|
+
|
|
283
|
+
Returns:
|
|
284
|
+
Styled gr.DataFrame ready for display in the leaderboard
|
|
285
|
+
"""
|
|
286
|
+
language_score_columns = per_language.select_dtypes("number").columns
|
|
287
|
+
per_language[language_score_columns] *= 100
|
|
288
|
+
|
|
289
|
+
if len(per_language.columns) > 100: # Avoid gradio error on very wide tables
|
|
290
|
+
per_language_style = per_language.round(2)
|
|
291
|
+
else:
|
|
292
|
+
per_language_style = per_language.style.format(
|
|
293
|
+
"{:.2f}", subset=language_score_columns, na_rep=""
|
|
294
|
+
).highlight_max(subset=language_score_columns, props="font-weight: bold")
|
|
295
|
+
|
|
296
|
+
# setting task name column width to 250px
|
|
297
|
+
column_widths = _get_column_widths(per_language_style.data)
|
|
298
|
+
if len(column_widths) > 0:
|
|
299
|
+
column_widths[0] = "250px"
|
|
300
|
+
|
|
301
|
+
return gr.DataFrame(
|
|
302
|
+
per_language_style,
|
|
303
|
+
interactive=False,
|
|
304
|
+
pinned_columns=1,
|
|
305
|
+
column_widths=column_widths,
|
|
244
306
|
buttons=["copy", "fullscreen"],
|
|
245
307
|
show_search="filter",
|
|
246
308
|
)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import hashlib
|
|
2
2
|
|
|
3
|
-
from PIL import Image
|
|
4
|
-
|
|
5
3
|
from mteb.types import BatchedInput
|
|
6
4
|
|
|
7
5
|
|
|
@@ -11,6 +9,8 @@ def _hash_item(item: BatchedInput) -> str:
|
|
|
11
9
|
item_hash = hashlib.sha256(item["text"].encode()).hexdigest()
|
|
12
10
|
|
|
13
11
|
if "image" in item:
|
|
12
|
+
from PIL import Image
|
|
13
|
+
|
|
14
14
|
image: Image.Image = item["image"]
|
|
15
15
|
item_hash += hashlib.sha256(image.tobytes()).hexdigest()
|
|
16
16
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
|
-
from typing import Any
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
3
5
|
|
|
4
6
|
import torch
|
|
5
|
-
from PIL import Image
|
|
6
7
|
from torch.utils.data import DataLoader
|
|
7
8
|
from tqdm.auto import tqdm
|
|
8
9
|
|
|
@@ -15,6 +16,9 @@ from mteb.models.abs_encoder import AbsEncoder
|
|
|
15
16
|
from mteb.models.model_meta import ModelMeta, ScoringFunction
|
|
16
17
|
from mteb.types import Array, BatchedInput, PromptType
|
|
17
18
|
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from PIL import Image
|
|
21
|
+
|
|
18
22
|
logger = logging.getLogger(__name__)
|
|
19
23
|
|
|
20
24
|
|
|
@@ -89,6 +93,7 @@ class ColPaliEngineWrapper(AbsEncoder):
|
|
|
89
93
|
**kwargs,
|
|
90
94
|
):
|
|
91
95
|
import torchvision.transforms.functional as F
|
|
96
|
+
from PIL import Image
|
|
92
97
|
|
|
93
98
|
all_embeds = []
|
|
94
99
|
|
|
@@ -2,7 +2,6 @@ import logging
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
import torch
|
|
5
|
-
from PIL import Image
|
|
6
5
|
from torch.utils.data import DataLoader
|
|
7
6
|
from tqdm.auto import tqdm
|
|
8
7
|
|
|
@@ -154,6 +153,7 @@ class ColQwen3Wrapper(AbsEncoder):
|
|
|
154
153
|
**kwargs: Any,
|
|
155
154
|
):
|
|
156
155
|
import torchvision.transforms.functional as F
|
|
156
|
+
from PIL import Image
|
|
157
157
|
|
|
158
158
|
contains_image = "image" in image_texts_pairs.dataset.features
|
|
159
159
|
contains_text = "text" in image_texts_pairs.dataset.features
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
4
|
import math
|
|
3
|
-
from typing import Any
|
|
5
|
+
from typing import TYPE_CHECKING, Any
|
|
4
6
|
|
|
5
7
|
import torch
|
|
6
|
-
from PIL import Image
|
|
7
8
|
from torch.utils.data import DataLoader
|
|
8
9
|
from tqdm.autonotebook import tqdm
|
|
9
10
|
|
|
@@ -12,6 +13,9 @@ from mteb.models.abs_encoder import AbsEncoder
|
|
|
12
13
|
from mteb.models.model_meta import ModelMeta, ScoringFunction
|
|
13
14
|
from mteb.types import Array, BatchedInput, PromptType
|
|
14
15
|
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from PIL import Image
|
|
18
|
+
|
|
15
19
|
logger = logging.getLogger(__name__)
|
|
16
20
|
|
|
17
21
|
GME_CITATION = """@misc{zhang2024gme,
|
|
@@ -267,9 +271,9 @@ def smart_resize(
|
|
|
267
271
|
return h_bar, w_bar
|
|
268
272
|
|
|
269
273
|
|
|
270
|
-
def fetch_image(
|
|
271
|
-
|
|
272
|
-
|
|
274
|
+
def fetch_image(image: Image.Image, size_factor: int = IMAGE_FACTOR) -> Image.Image:
|
|
275
|
+
from PIL import Image
|
|
276
|
+
|
|
273
277
|
image_obj = None
|
|
274
278
|
if isinstance(image, Image.Image):
|
|
275
279
|
image_obj = image
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
|
-
from typing import Any
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
3
5
|
|
|
4
6
|
import torch
|
|
5
|
-
from PIL import Image
|
|
6
7
|
from torch.utils.data import DataLoader
|
|
7
8
|
from tqdm.auto import tqdm
|
|
8
9
|
|
|
@@ -15,6 +16,9 @@ from mteb.types import Array, BatchedInput, PromptType
|
|
|
15
16
|
|
|
16
17
|
logger = logging.getLogger(__name__)
|
|
17
18
|
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from PIL import Image
|
|
21
|
+
|
|
18
22
|
|
|
19
23
|
class GraniteVisionEmbeddingWrapper:
|
|
20
24
|
def __init__(
|
|
@@ -355,13 +355,13 @@ Jasper_Token_Compression_600M = ModelMeta(
|
|
|
355
355
|
| qzhou_training_data,
|
|
356
356
|
citation="""
|
|
357
357
|
@misc{zhang2025jaspertokencompression600mtechnicalreport,
|
|
358
|
-
title={Jasper-Token-Compression-600M Technical Report},
|
|
358
|
+
title={Jasper-Token-Compression-600M Technical Report},
|
|
359
359
|
author={Dun Zhang and Ziyang Zeng and Yudong Zhou and Shuyang Lu},
|
|
360
360
|
year={2025},
|
|
361
361
|
eprint={2511.14405},
|
|
362
362
|
archivePrefix={arXiv},
|
|
363
363
|
primaryClass={cs.IR},
|
|
364
|
-
url={https://arxiv.org/abs/2511.14405},
|
|
364
|
+
url={https://arxiv.org/abs/2511.14405},
|
|
365
365
|
}
|
|
366
366
|
""",
|
|
367
367
|
)
|
|
@@ -740,7 +740,7 @@ jina_reranker_v3 = ModelMeta(
|
|
|
740
740
|
training_datasets=JINARerankerV3_TRAINING_DATA,
|
|
741
741
|
adapted_from="Qwen/Qwen3-0.6B",
|
|
742
742
|
citation="""@misc{wang2025jinarerankerv3lateinteractionlistwise,
|
|
743
|
-
title={jina-reranker-v3: Last but Not Late Interaction for Listwise Document Reranking},
|
|
743
|
+
title={jina-reranker-v3: Last but Not Late Interaction for Listwise Document Reranking},
|
|
744
744
|
author={Feng Wang and Yuqing Li and Han Xiao},
|
|
745
745
|
year={2025},
|
|
746
746
|
eprint={2509.25085},
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING, Any
|
|
2
4
|
|
|
3
5
|
import torch
|
|
4
6
|
import torch.nn.functional as F
|
|
5
|
-
from PIL import Image
|
|
6
7
|
from torch.utils.data import DataLoader
|
|
7
8
|
from tqdm.auto import tqdm
|
|
8
9
|
|
|
@@ -12,6 +13,9 @@ from mteb.models.abs_encoder import AbsEncoder
|
|
|
12
13
|
from mteb.models.model_meta import ModelMeta, ScoringFunction
|
|
13
14
|
from mteb.types import Array, BatchedInput, PromptType
|
|
14
15
|
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from PIL import Image
|
|
18
|
+
|
|
15
19
|
NOMIC_EMBED_VISION_CITATION = """@article{nussbaum2024nomicembedvision,
|
|
16
20
|
title={Nomic Embed Vision: Expanding the Latent Space},
|
|
17
21
|
author={Nussbaum, Zach and Duderstadt, Brandon and Mulyar, Andriy},
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
from typing import Any
|
|
1
|
+
from typing import TYPE_CHECKING, Any
|
|
2
2
|
|
|
3
3
|
import torch
|
|
4
|
-
from PIL import Image
|
|
5
4
|
from torch.utils.data import DataLoader
|
|
6
5
|
|
|
7
6
|
from mteb.abstasks.task_metadata import TaskMetadata
|
|
@@ -9,6 +8,10 @@ from mteb.models.abs_encoder import AbsEncoder
|
|
|
9
8
|
from mteb.models.model_meta import ModelMeta
|
|
10
9
|
from mteb.types import Array, BatchedInput, PromptType
|
|
11
10
|
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
pass
|
|
13
|
+
|
|
14
|
+
|
|
12
15
|
LLAMA_NEMORETRIEVER_CITATION = """@misc{xu2025llamanemoretrievercolembedtopperforming,
|
|
13
16
|
title={Llama Nemoretriever Colembed: Top-Performing Text-Image Retrieval Model},
|
|
14
17
|
author={Mengyao Xu and Gabriel Moreira and Ronay Ak and Radek Osmulski and Yauhen Babakhin and Zhiding Yu and Benedikt Schifferer and Even Oldridge},
|
|
@@ -53,6 +56,7 @@ class LlamaNemoretrieverColembed(AbsEncoder):
|
|
|
53
56
|
**kwargs,
|
|
54
57
|
):
|
|
55
58
|
import torchvision.transforms.functional as F
|
|
59
|
+
from PIL import Image
|
|
56
60
|
|
|
57
61
|
all_images = []
|
|
58
62
|
if isinstance(images, DataLoader):
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
from mteb.models.model_meta import (
|
|
2
|
+
ModelMeta,
|
|
3
|
+
ScoringFunction,
|
|
4
|
+
)
|
|
5
|
+
from mteb.models.sentence_transformer_wrapper import sentence_transformers_loader
|
|
6
|
+
|
|
7
|
+
PAWAN_EMBD_CITATION = """@misc{medhi2025pawanembd,
|
|
8
|
+
title={PawanEmbd-68M: Distilled Embedding Model},
|
|
9
|
+
author={Medhi, D.},
|
|
10
|
+
year={2025},
|
|
11
|
+
url={https://huggingface.co/dmedhi/PawanEmbd-68M}
|
|
12
|
+
}"""
|
|
13
|
+
|
|
14
|
+
pawan_embd_68m = ModelMeta(
|
|
15
|
+
loader=sentence_transformers_loader,
|
|
16
|
+
name="dmedhi/PawanEmbd-68M",
|
|
17
|
+
languages=["eng-Latn"],
|
|
18
|
+
open_weights=True,
|
|
19
|
+
revision="32f295145802bdbd65699ad65fd27d2a5b69a909",
|
|
20
|
+
release_date="2025-12-08",
|
|
21
|
+
n_parameters=68_000_000,
|
|
22
|
+
memory_usage_mb=260,
|
|
23
|
+
embed_dim=768,
|
|
24
|
+
license="apache-2.0",
|
|
25
|
+
max_tokens=512,
|
|
26
|
+
reference="https://huggingface.co/dmedhi/PawanEmbd-68M",
|
|
27
|
+
similarity_fn_name=ScoringFunction.COSINE,
|
|
28
|
+
framework=["Sentence Transformers", "PyTorch"],
|
|
29
|
+
adapted_from="ibm-granite/granite-embedding-278m-multilingual",
|
|
30
|
+
superseded_by=None,
|
|
31
|
+
public_training_code=None,
|
|
32
|
+
public_training_data=None,
|
|
33
|
+
use_instructions=False,
|
|
34
|
+
training_datasets={
|
|
35
|
+
"AllNLI",
|
|
36
|
+
},
|
|
37
|
+
citation=PAWAN_EMBD_CITATION,
|
|
38
|
+
)
|
|
@@ -328,13 +328,10 @@ class MultiVectorModel(AbsEncoder, PylateSearchEncoder):
|
|
|
328
328
|
inputs,
|
|
329
329
|
prompt_name=prompt_name,
|
|
330
330
|
is_query=prompt_type == PromptType.query,
|
|
331
|
-
convert_to_tensor=True,
|
|
332
331
|
**kwargs,
|
|
333
332
|
)
|
|
334
333
|
|
|
335
|
-
|
|
336
|
-
pred = torch.nn.utils.rnn.pad_sequence(pred, batch_first=True, padding_value=0)
|
|
337
|
-
return pred.cpu().numpy()
|
|
334
|
+
return pred
|
|
338
335
|
|
|
339
336
|
|
|
340
337
|
colbert_v2 = ModelMeta(
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import hashlib
|
|
2
|
-
from typing import Any, Literal
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Literal
|
|
3
5
|
|
|
4
6
|
import numpy as np
|
|
5
7
|
import torch
|
|
6
|
-
from PIL import Image
|
|
7
8
|
from torch.utils.data import DataLoader
|
|
8
9
|
|
|
9
10
|
from mteb.abstasks.task_metadata import TaskMetadata
|
|
@@ -14,6 +15,9 @@ from mteb.similarity_functions import (
|
|
|
14
15
|
)
|
|
15
16
|
from mteb.types._encoder_io import Array, BatchedInput, PromptType
|
|
16
17
|
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from PIL import Image
|
|
20
|
+
|
|
17
21
|
|
|
18
22
|
def _string_to_vector(text: str | None, size: int) -> np.ndarray:
|
|
19
23
|
"""Generate a deterministic random vector based on a string.
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import base64
|
|
2
4
|
import logging
|
|
3
5
|
import os
|
|
4
6
|
import time
|
|
5
7
|
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
6
8
|
from io import BytesIO
|
|
7
|
-
from typing import Any
|
|
9
|
+
from typing import TYPE_CHECKING, Any
|
|
8
10
|
|
|
9
11
|
import requests
|
|
10
12
|
import torch
|
|
11
|
-
from PIL import Image
|
|
12
13
|
from torch.utils.data import DataLoader
|
|
13
14
|
|
|
14
15
|
from mteb._requires_package import requires_package
|
|
@@ -19,6 +20,10 @@ from mteb.models.model_implementations.nvidia_models import nvidia_training_data
|
|
|
19
20
|
from mteb.models.model_meta import ModelMeta
|
|
20
21
|
from mteb.types import Array, BatchedInput, PromptType
|
|
21
22
|
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
from PIL import Image
|
|
25
|
+
|
|
26
|
+
|
|
22
27
|
logger = logging.getLogger(__name__)
|
|
23
28
|
|
|
24
29
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
import logging
|
|
2
|
-
from typing import Any, Literal
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Literal
|
|
3
5
|
|
|
4
6
|
import torch
|
|
5
|
-
from PIL import Image
|
|
6
7
|
from torch.utils.data import DataLoader
|
|
7
8
|
from tqdm.auto import tqdm
|
|
8
9
|
|
|
@@ -12,6 +13,9 @@ from mteb.models.abs_encoder import AbsEncoder
|
|
|
12
13
|
from mteb.models.model_meta import ModelMeta, ScoringFunction
|
|
13
14
|
from mteb.types import Array, BatchedInput, PromptType
|
|
14
15
|
|
|
16
|
+
if TYPE_CHECKING:
|
|
17
|
+
from PIL import Image
|
|
18
|
+
|
|
15
19
|
|
|
16
20
|
def _downsample_image(
|
|
17
21
|
image: Image.Image, max_pixels: int = 16000000, target_longest_side: int = 4000
|
|
@@ -296,7 +296,7 @@ class BenchmarkResults(BaseModel):
|
|
|
296
296
|
|
|
297
297
|
def to_dataframe(
|
|
298
298
|
self,
|
|
299
|
-
aggregation_level: Literal["subset", "split", "task"] = "task",
|
|
299
|
+
aggregation_level: Literal["subset", "split", "task", "language"] = "task",
|
|
300
300
|
aggregation_fn: Callable[[list[Score]], Any] | None = None,
|
|
301
301
|
include_model_revision: bool = False,
|
|
302
302
|
format: Literal["wide", "long"] = "wide",
|
|
@@ -321,6 +321,7 @@ class BenchmarkResults(BaseModel):
|
|
|
321
321
|
- "subset"/None: No aggregation will be done. The DataFrame will have one row per model, task, split and subset.
|
|
322
322
|
- "split": Aggregates the scores by split. The DataFrame will have one row per model, task and split.
|
|
323
323
|
- "task": Aggregates the scores by task. The DataFrame will have one row per model and task.
|
|
324
|
+
- "language": Aggregates the scores by language. The DataFrame will have one row per model and language.
|
|
324
325
|
aggregation_fn: The function to use for aggregation. If None, the mean will be used.
|
|
325
326
|
include_model_revision: If True, the model revision will be included in the DataFrame. If False, it will be excluded.
|
|
326
327
|
If there are multiple revisions for the same model, they will be joined using the `join_revisions` method.
|
mteb/results/model_result.py
CHANGED
|
@@ -30,7 +30,7 @@ logger = logging.getLogger(__name__)
|
|
|
30
30
|
def _aggregate_and_pivot(
|
|
31
31
|
df: pd.DataFrame,
|
|
32
32
|
columns: list[str],
|
|
33
|
-
aggregation_level: Literal["subset", "split", "task"],
|
|
33
|
+
aggregation_level: Literal["subset", "split", "task", "language"],
|
|
34
34
|
format: Literal["wide", "long"],
|
|
35
35
|
aggregation_fn: Callable[[list[Score]], Any] | None,
|
|
36
36
|
) -> pd.DataFrame:
|
|
@@ -43,6 +43,12 @@ def _aggregate_and_pivot(
|
|
|
43
43
|
elif aggregation_level == "task":
|
|
44
44
|
index_columns = ["task_name"]
|
|
45
45
|
|
|
46
|
+
elif aggregation_level == "language":
|
|
47
|
+
index_columns = ["language"]
|
|
48
|
+
df = df.explode("language").reset_index(
|
|
49
|
+
drop=True
|
|
50
|
+
) # each language in its own row before aggregation
|
|
51
|
+
|
|
46
52
|
# perform aggregation
|
|
47
53
|
if aggregation_fn is None:
|
|
48
54
|
aggregation_fn = np.mean
|
|
@@ -227,7 +233,7 @@ class ModelResult(BaseModel):
|
|
|
227
233
|
)
|
|
228
234
|
return entries
|
|
229
235
|
|
|
230
|
-
def _get_score_for_table(self) -> list[dict[str, str | float]]:
|
|
236
|
+
def _get_score_for_table(self) -> list[dict[str, str | float | list[str]]]:
|
|
231
237
|
scores_data = []
|
|
232
238
|
model_name = self.model_name
|
|
233
239
|
for task_result in self.task_results:
|
|
@@ -239,10 +245,10 @@ class ModelResult(BaseModel):
|
|
|
239
245
|
"model_revision": self.model_revision,
|
|
240
246
|
"task_name": task_name,
|
|
241
247
|
"split": split,
|
|
248
|
+
"language": score_item.get("languages", ["Unknown"]),
|
|
242
249
|
"subset": score_item.get("hf_subset", "default"),
|
|
243
250
|
"score": score_item.get("main_score", None),
|
|
244
251
|
}
|
|
245
|
-
|
|
246
252
|
scores_data.append(row)
|
|
247
253
|
|
|
248
254
|
return scores_data
|
mteb/types/_encoder_io.py
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
from collections.abc import Mapping
|
|
2
4
|
from enum import Enum
|
|
3
|
-
from typing import TypedDict
|
|
5
|
+
from typing import TYPE_CHECKING, TypedDict
|
|
4
6
|
|
|
5
7
|
import numpy as np
|
|
6
8
|
import torch
|
|
7
9
|
from datasets import Dataset
|
|
8
|
-
from PIL import Image
|
|
9
10
|
from typing_extensions import NotRequired
|
|
10
11
|
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from PIL import Image
|
|
14
|
+
|
|
15
|
+
|
|
11
16
|
# --- Output types ---
|
|
12
17
|
Array = np.ndarray | torch.Tensor
|
|
13
18
|
"""General array type, can be a numpy array or a torch tensor."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mteb
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.11
|
|
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>
|
|
@@ -34,6 +34,7 @@ Requires-Dist: pydantic>=2.0.0
|
|
|
34
34
|
Requires-Dist: polars>=0.20.22
|
|
35
35
|
Provides-Extra: image
|
|
36
36
|
Requires-Dist: torchvision>0.2.1; extra == "image"
|
|
37
|
+
Requires-Dist: transformers[torch-vision,vision]; extra == "image"
|
|
37
38
|
Provides-Extra: codecarbon
|
|
38
39
|
Requires-Dist: codecarbon<3.0.0,>=2.0.0; extra == "codecarbon"
|
|
39
40
|
Provides-Extra: leaderboard
|
|
@@ -24,17 +24,17 @@ mteb/_evaluators/retrieval_metrics.py,sha256=we0damQCJrdaRUD6JlU2MM7Ls9xERP_OBS5
|
|
|
24
24
|
mteb/_evaluators/sklearn_evaluator.py,sha256=f9SgBbvgCrkltdTebQTixT7KmIagGkjQ_cNnKuHTb3w,3772
|
|
25
25
|
mteb/_evaluators/zeroshot_classification_evaluator.py,sha256=dQq6g9my-0xn_0fLJXSnhN9Qu6PuJtWCKGIDrlkeyJk,2282
|
|
26
26
|
mteb/_evaluators/image/__init__.py,sha256=CsQd7OMkeV2Phun7paPWjayZ5qRnvj8H0TYBFeqMxag,148
|
|
27
|
-
mteb/_evaluators/image/imagetext_pairclassification_evaluator.py,sha256=
|
|
27
|
+
mteb/_evaluators/image/imagetext_pairclassification_evaluator.py,sha256=lVizL_11s0yFAZzuGqv-wtkBbMaK7cArD1eUkxwG4uU,4883
|
|
28
28
|
mteb/_evaluators/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
mteb/_evaluators/text/bitext_mining_evaluator.py,sha256=XS7AVml5-BpQWtG1XFHf6fx8VMVPRwibg-9si4b-A_U,6308
|
|
30
30
|
mteb/_evaluators/text/summarization_evaluator.py,sha256=l0AwjVO594mtzPV9Kcqf_xtHHpkx6uhDJ61KnolcVAo,10461
|
|
31
31
|
mteb/abstasks/__init__.py,sha256=1iAwpYTWX7U-goak2KMmacPFCzxPchLQAmZ_uI0t-p0,1130
|
|
32
|
-
mteb/abstasks/_statistics_calculation.py,sha256=
|
|
32
|
+
mteb/abstasks/_statistics_calculation.py,sha256=UP2H2Cy8yqwtqeimTWfe4unmZ4iyyr5qiBNZzzFjy9o,5669
|
|
33
33
|
mteb/abstasks/_stratification.py,sha256=zfwkIVmD7Aq7mR2Yt8jTeW1j5ZVV7CIweW842VzcfXc,14364
|
|
34
34
|
mteb/abstasks/abstask.py,sha256=nZwiY_5d0VVtUrlCATngpFLG3JAovO5AvmD0nkkWsLE,25118
|
|
35
35
|
mteb/abstasks/aggregate_task_metadata.py,sha256=vzt1z2wDl0sXD7ErZFwKojYwmFUBPAnGlXLuqLA_-6Q,5992
|
|
36
36
|
mteb/abstasks/aggregated_task.py,sha256=puY6-EAqbL5ehKvFHTMriIdy3rAuqqYHF3ezog1eYxw,6671
|
|
37
|
-
mteb/abstasks/classification.py,sha256=
|
|
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=HZY8zgBgqqs5urF_to9wzqm3MnjFivs59hU6P3NrzcI,8684
|
|
40
40
|
mteb/abstasks/dataset_card_template.md,sha256=aD6l8qc3_jxwoIGJNYLzse-jpRa8hu92AxpnUtNgges,5122
|
|
@@ -56,11 +56,11 @@ mteb/abstasks/text/bitext_mining.py,sha256=8m86XHJ3TxguC9itxZRq2Bt_p0NYojojS2Btk
|
|
|
56
56
|
mteb/abstasks/text/reranking.py,sha256=rfRGRBeSjZLgkh8pneMgRm-vd9NHr5jSFH92YfOHfmU,7776
|
|
57
57
|
mteb/abstasks/text/summarization.py,sha256=KYEb8gh4JjpSsrvGUmQ2VlrVdzzVxIWcitXOJUaHhO4,6954
|
|
58
58
|
mteb/benchmarks/__init__.py,sha256=MQEVeli-zLaJ7Xg0z7RhXQwsdmm7Ht_W2Ln0rZo1Szc,225
|
|
59
|
-
mteb/benchmarks/_create_table.py,sha256=
|
|
60
|
-
mteb/benchmarks/benchmark.py,sha256=
|
|
59
|
+
mteb/benchmarks/_create_table.py,sha256=b2RqGqi0ZonKbHecEcZiF4pkfE96smFRIzxOI82ETA8,22304
|
|
60
|
+
mteb/benchmarks/benchmark.py,sha256=UEllUtZQ0L10SNnxRyKbiv4wLCMcNF2nUPhBDKY3nz8,5097
|
|
61
61
|
mteb/benchmarks/get_benchmark.py,sha256=-n_O-gitRKZi48gJKNgGuI36hsP7yLVSiwulnMHN7Gw,3935
|
|
62
62
|
mteb/benchmarks/benchmarks/__init__.py,sha256=Ig5dSFunzI-F-OamruuKJVSstbG3xQNkXCxRY3Bj_Ck,2180
|
|
63
|
-
mteb/benchmarks/benchmarks/benchmarks.py,sha256=
|
|
63
|
+
mteb/benchmarks/benchmarks/benchmarks.py,sha256=mZQ56KBQwnBj2qLSQFOv39Av0HBNpH9HXYsDoFmqvu4,95640
|
|
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
|
|
@@ -1430,10 +1430,10 @@ mteb/languages/language_family.json,sha256=OUGcHeOIPcZPb2FWmYLhxTS0JxjK5y3Fo6x0P
|
|
|
1430
1430
|
mteb/languages/language_scripts.py,sha256=5wix9HTYolNIpTiS5oXf2pGJyL7ftdGKs_m432w81V8,3998
|
|
1431
1431
|
mteb/languages/programming_languages.py,sha256=zxAakT3OSUnAuTnQ34VyeFIECnNXMlleZmAake6jsZE,211
|
|
1432
1432
|
mteb/leaderboard/__init__.py,sha256=991roXmtRwEQysV-37hWEzWpkvPgMCGRqZTHR-hm2io,88
|
|
1433
|
-
mteb/leaderboard/app.py,sha256
|
|
1433
|
+
mteb/leaderboard/app.py,sha256=-sBAkZ9JTr9czhsYEbSm92MfTmB8BOQ17WDkQ1dsP90,34282
|
|
1434
1434
|
mteb/leaderboard/benchmark_selector.py,sha256=qd-2L20RQ4ACke01UlytkhZok1dkWgfUlXzfET52kGc,7956
|
|
1435
1435
|
mteb/leaderboard/figures.py,sha256=mPO0go_23QEhAm1RJdLiBxPFCoUiA74_ztyl6yimc7k,7553
|
|
1436
|
-
mteb/leaderboard/table.py,sha256=
|
|
1436
|
+
mteb/leaderboard/table.py,sha256=NxXAUkQRWtxjJwfIiO9yvdvw9do3ogzqmAn6az01SSc,10609
|
|
1437
1437
|
mteb/leaderboard/text_segments.py,sha256=iMIkS04QQjPbT-SkU0x6fOcS8xRbUYevryu9HydipKM,6570
|
|
1438
1438
|
mteb/models/__init__.py,sha256=ABTuoqiBjBtBWW3LYY7ItBHdylR6jWoy06HH0g6j6fU,910
|
|
1439
1439
|
mteb/models/abs_encoder.py,sha256=m0JkRfRPMYadDgBR9eozRloI31ZSWkSzDFINpwbfLZk,16533
|
|
@@ -1447,7 +1447,7 @@ mteb/models/cache_wrappers/__init__.py,sha256=1w1TnMwulWJSzNkLXjbh5MY3sqgHWc6vUn
|
|
|
1447
1447
|
mteb/models/cache_wrappers/cache_backend_protocol.py,sha256=TR7kD7KbN1J4piszIecpegtLZYGy7sRHZt3SDWlImKk,1665
|
|
1448
1448
|
mteb/models/cache_wrappers/cache_wrapper.py,sha256=KLDeOCe_ndQshbZa5ep2u3jovsl--tfpQzvt9EXyxCA,6589
|
|
1449
1449
|
mteb/models/cache_wrappers/cache_backends/__init__.py,sha256=hN2Tq7cpTxoOYSCJ1Wnpvb8dEm-kQLfCCahT1N9Bacw,123
|
|
1450
|
-
mteb/models/cache_wrappers/cache_backends/_hash_utils.py,sha256=
|
|
1450
|
+
mteb/models/cache_wrappers/cache_backends/_hash_utils.py,sha256=zAp7BDuYyGETn2kX58uk8_tn1G2B7bgcsItDDxgyn-w,488
|
|
1451
1451
|
mteb/models/cache_wrappers/cache_backends/faiss_cache.py,sha256=i9IfaCv1-_BvVokXFW1UZ9hMLCuM6rZ0tI-ZesoBkt4,3734
|
|
1452
1452
|
mteb/models/cache_wrappers/cache_backends/numpy_cache.py,sha256=GyTVC5DLph3EeRnDMO1EEQzBDoOgk2J1hPqpl07lefM,7442
|
|
1453
1453
|
mteb/models/model_implementations/__init__.py,sha256=BZDdde6ajKv-yroy9mqE2YS3Hw1KBdKoxBPg8aPTZEs,1164
|
|
@@ -1471,8 +1471,8 @@ mteb/models/model_implementations/codefuse_models.py,sha256=19Y-d_qetVU64quzEvuU
|
|
|
1471
1471
|
mteb/models/model_implementations/codesage_models.py,sha256=D4CdISGyv5f2GMYq4_efgm5qNq80SWAX5R2u5mjEiXM,2998
|
|
1472
1472
|
mteb/models/model_implementations/cohere_models.py,sha256=OWFClVAN4phjBoxfGGDyGDmzMu-t2VrjCGFyAIWmz4w,13832
|
|
1473
1473
|
mteb/models/model_implementations/cohere_v.py,sha256=K6VEw1NkyM2PuMd18kHE6aqPrcByYSwEmAKjvLods_w,15760
|
|
1474
|
-
mteb/models/model_implementations/colpali_models.py,sha256=
|
|
1475
|
-
mteb/models/model_implementations/colqwen_models.py,sha256=
|
|
1474
|
+
mteb/models/model_implementations/colpali_models.py,sha256=l-0A3J5rt1bhhTKFPQ3Ti0qvWf2qXYkiv3j1si04R8I,9108
|
|
1475
|
+
mteb/models/model_implementations/colqwen_models.py,sha256=wxR3sqyzObuXMlm1QLoFopJK3ZpQTzd3ZB5IrkzPfZk,15553
|
|
1476
1476
|
mteb/models/model_implementations/colsmol_models.py,sha256=O2M7Ksydh94M_Iax4KytHb-wOL18N0BIYLKSsLF8BFs,2967
|
|
1477
1477
|
mteb/models/model_implementations/conan_models.py,sha256=G-s7xo9VtNX-f7lWKtYVGHHiMMN0Xp44PlNIp7E0LAo,6502
|
|
1478
1478
|
mteb/models/model_implementations/dino_models.py,sha256=QFgaFHR5YKrylqJGSljXCBn2W7qHhmF6KdXkvHrQNEI,16380
|
|
@@ -1487,18 +1487,18 @@ mteb/models/model_implementations/evaclip_models.py,sha256=cPMGYLDIq4s8zJxb4vPXq
|
|
|
1487
1487
|
mteb/models/model_implementations/fa_models.py,sha256=WGal70_ezITWoNdjcMdbOCTSCtoaXzuPadYstLVXxhg,7478
|
|
1488
1488
|
mteb/models/model_implementations/facebookai.py,sha256=uhE6rB1YgxE0SIc7u8heE1U62qRFFA23IMgpjxBq_Ok,3116
|
|
1489
1489
|
mteb/models/model_implementations/geogpt_models.py,sha256=Juv86SwhgQX80lVLjAFtim2aSiJT1AcgjniyyiKyk1Q,1923
|
|
1490
|
-
mteb/models/model_implementations/gme_v_models.py,sha256=
|
|
1490
|
+
mteb/models/model_implementations/gme_v_models.py,sha256=GEu1wl5q77RMM3BwtKMjkMwm38KX_r0qWxD_IEMVC2U,13657
|
|
1491
1491
|
mteb/models/model_implementations/google_models.py,sha256=7QfsaJ5JNDRQxFl7Zh2AtiR2PR7PZcfeCBgviuOFBCo,9130
|
|
1492
|
-
mteb/models/model_implementations/granite_vision_embedding_models.py,sha256=
|
|
1492
|
+
mteb/models/model_implementations/granite_vision_embedding_models.py,sha256=cvG5NliPwDVMvGuJTo8rk5yL3m6cuJZ_fMLEc0ESNfc,7315
|
|
1493
1493
|
mteb/models/model_implementations/gritlm_models.py,sha256=aS_CuioL95JAQMYiaKlGuAWU9wZjabn268Xut3bD8-w,3005
|
|
1494
1494
|
mteb/models/model_implementations/gte_models.py,sha256=o26Xyu_tucUlP435Q_jB4-bl0xckgj4wtbutTwhYgIo,10073
|
|
1495
1495
|
mteb/models/model_implementations/hinvec_models.py,sha256=I_d_dSNVaGIwMIwyvTlaPAzGMpwh_PzvsfE4y47GFyg,1575
|
|
1496
1496
|
mteb/models/model_implementations/human.py,sha256=klMpuMAtYH92EIEwNMEhne_Baf9fNiTg1DNWYD11P44,532
|
|
1497
1497
|
mteb/models/model_implementations/ibm_granite_models.py,sha256=YCT0jbgawy19ps5l8QlxpQoJLjq8Nh-3R-e6yxS0DRM,7902
|
|
1498
1498
|
mteb/models/model_implementations/inf_models.py,sha256=lvXUFhAYDltq2_Xa9MHcwfhh1V20rbJLSgON76tkj6w,2906
|
|
1499
|
-
mteb/models/model_implementations/jasper_models.py,sha256=
|
|
1499
|
+
mteb/models/model_implementations/jasper_models.py,sha256=onX_ipI-UZbaZrjcHpZtk34tpy6DcT6Yvq6X3RMSmYA,16211
|
|
1500
1500
|
mteb/models/model_implementations/jina_clip.py,sha256=CfiIxbhKspjQajNtObCfGPHOWPk6uLn4cuwydQHFTMo,5118
|
|
1501
|
-
mteb/models/model_implementations/jina_models.py,sha256=
|
|
1501
|
+
mteb/models/model_implementations/jina_models.py,sha256=1bkGwIaRNIun2ghkWb4FG-7js4lJ39s97Q9KAW3wkXo,34858
|
|
1502
1502
|
mteb/models/model_implementations/kalm_models.py,sha256=FmW7Z5Qs6WYBLuKvql3u4IJW36kj4k-Ypah8qTBEBkg,59837
|
|
1503
1503
|
mteb/models/model_implementations/kblab.py,sha256=DDh8gDEI6YPjS4_yGYWC4HatE0mFf7vhGDU83zzV7V0,866
|
|
1504
1504
|
mteb/models/model_implementations/kennethenevoldsen_models.py,sha256=DF-9nmsewYO9ikZ0kV81ujKGr7Ot36-9iPoxN7KX2mY,2993
|
|
@@ -1521,22 +1521,23 @@ mteb/models/model_implementations/mxbai_models.py,sha256=33ta2BnhvKYBUgE89wFgPNf
|
|
|
1521
1521
|
mteb/models/model_implementations/nbailab.py,sha256=bqqR0qs10IH2g5HC6K962tDMBciw8qFsNVHADNS72jk,2396
|
|
1522
1522
|
mteb/models/model_implementations/no_instruct_sentence_models.py,sha256=6i-xbLRRNKuDpU-hwklwdQjgu1wnz5CecLSoc6kyd7Q,3976
|
|
1523
1523
|
mteb/models/model_implementations/nomic_models.py,sha256=mT-v5Gs5-sRH8-ziCw_CtxB9ox3C6FtwWJjNghNrunw,11334
|
|
1524
|
-
mteb/models/model_implementations/nomic_models_vision.py,sha256=
|
|
1525
|
-
mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py,sha256=
|
|
1524
|
+
mteb/models/model_implementations/nomic_models_vision.py,sha256=6aca0XVLXnkGk6GW8jVCIbbjPGq98lKq4c9Az4jbEkE,6805
|
|
1525
|
+
mteb/models/model_implementations/nvidia_llama_nemoretriever_colemb.py,sha256=OEhVrvA-zfX2PSm76VcCDPkRyAArSFkVeweyLyzpqPI,6255
|
|
1526
1526
|
mteb/models/model_implementations/nvidia_models.py,sha256=acVverAt77lURkILCVkCdXsWgY1BJoG1-ugB7yIhlIM,21555
|
|
1527
1527
|
mteb/models/model_implementations/openai_models.py,sha256=loU6JByNUwRidq7lmcu8iGOtUQvzejw6HVLaF_IKCR0,9352
|
|
1528
1528
|
mteb/models/model_implementations/openclip_models.py,sha256=W8XcokgLU1nSmMaWpYXkWWizVd3sQezcP02YtF2fXpo,11436
|
|
1529
1529
|
mteb/models/model_implementations/opensearch_neural_sparse_models.py,sha256=fuxIjOx_kPoDps5C7LW3JllG-AZj4ktqeTNgJESHZh4,8351
|
|
1530
1530
|
mteb/models/model_implementations/ops_moa_models.py,sha256=luWw1j2iTMx1z1ydLCjvCI89E9Yvge7ruEawivJTmfE,2413
|
|
1531
1531
|
mteb/models/model_implementations/ordalietech_solon_embeddings_mini_beta_1_1.py,sha256=qGXv71qRjNCIFluZOwvfBlFlKKyN2bXBokwUPk4KHmM,1066
|
|
1532
|
+
mteb/models/model_implementations/pawan_models.py,sha256=rV2ePGIuYroocvwqDXm4VU369Y_Vr67CyAE-08K5B9c,1151
|
|
1532
1533
|
mteb/models/model_implementations/piccolo_models.py,sha256=d8Dtkv_ZTUOCmJLLOuwquq-gX-2UfKvAtl_LvAS0Xi0,2113
|
|
1533
1534
|
mteb/models/model_implementations/promptriever_models.py,sha256=S7uWes_P74p3OZR_KBJHJN_ezlvvRx2__46DMCWqV5M,6328
|
|
1534
|
-
mteb/models/model_implementations/pylate_models.py,sha256=
|
|
1535
|
+
mteb/models/model_implementations/pylate_models.py,sha256=oNoPndZuiJahSd-ikR4dE4vL9261btXYiJbF3bk3Dco,14546
|
|
1535
1536
|
mteb/models/model_implementations/qodo_models.py,sha256=JDqffDlQiOEariyheybOIf3iNkqot2gTkEIHWDnRbUE,2037
|
|
1536
1537
|
mteb/models/model_implementations/qtack_models.py,sha256=biZLH5E3UWIcMZXIZNGgBZFEUvovPpAo6vUyL776W1w,1224
|
|
1537
1538
|
mteb/models/model_implementations/qwen3_models.py,sha256=F_o6ciD-6gLFfIlQYD9MsNvcbkmGzJ39eKpFlEog1rM,5132
|
|
1538
1539
|
mteb/models/model_implementations/qzhou_models.py,sha256=7KaZpHdap-YyK0QxOMHxU0W2aGismx7GZv_bNXkEOcI,3536
|
|
1539
|
-
mteb/models/model_implementations/random_baseline.py,sha256=
|
|
1540
|
+
mteb/models/model_implementations/random_baseline.py,sha256=z4xNs5fbH1HUZhtf3Ry5AKa264SWk2Y4eobRu8rmPKM,7563
|
|
1540
1541
|
mteb/models/model_implementations/rasgaard_models.py,sha256=a8F3kDSBWHH0UR7wRioOrWGQUxtloD5mU7EG27iM-68,1260
|
|
1541
1542
|
mteb/models/model_implementations/reasonir_model.py,sha256=wSCcJpUgZ0pG2g3vTEzYNmPlPG_CVn_rR0ENVCines0,2218
|
|
1542
1543
|
mteb/models/model_implementations/repllama_models.py,sha256=89HoqEpzkNysHeuf_-YhU8WETamHTogSRztGIRo6G1s,7321
|
|
@@ -1549,7 +1550,7 @@ mteb/models/model_implementations/salesforce_models.py,sha256=KslTK-IKeLvNG-vQir
|
|
|
1549
1550
|
mteb/models/model_implementations/samilpwc_models.py,sha256=oMwKNwCxoH1jZgCy04oo2oVlBZWu253QMpnEEC6emz8,2021
|
|
1550
1551
|
mteb/models/model_implementations/sarashina_embedding_models.py,sha256=TSmr2FEX79mJTA9mbEV3meEZYSelGv58Veiw__TTGFM,8415
|
|
1551
1552
|
mteb/models/model_implementations/searchmap_models.py,sha256=XvVl99emIgnNUCxkTuFQXW6py2R8vgsArfpyHveCugw,1904
|
|
1552
|
-
mteb/models/model_implementations/seed_1_6_embedding_models.py,sha256=
|
|
1553
|
+
mteb/models/model_implementations/seed_1_6_embedding_models.py,sha256=Q8JTW2fjePR9dq4spuwK2lyVeL3mn1bl-H5wkQuEV_E,18609
|
|
1553
1554
|
mteb/models/model_implementations/seed_models.py,sha256=SgK4kPVO6V33G3F1zSq06zSkWarPLEwBt1SWp4TUoVw,14142
|
|
1554
1555
|
mteb/models/model_implementations/sentence_transformers_models.py,sha256=EtEaXg1yFFp3DQEOxu6am8bcVQR-ypcHj6DCqJGHOVU,21160
|
|
1555
1556
|
mteb/models/model_implementations/shuu_model.py,sha256=KkcuVYjIzoha3Fvxh8ppqHQ9BfNMWeqDqn9dGCRKUjg,1167
|
|
@@ -1566,7 +1567,7 @@ mteb/models/model_implementations/vi_vn_models.py,sha256=quWmd3JT2J6SlAsFrV2gcnc
|
|
|
1566
1567
|
mteb/models/model_implementations/vista_models.py,sha256=Q3I01kRtIPaoke0iMIcH4CLcCDTnMSIBFNCof7LPTX4,10832
|
|
1567
1568
|
mteb/models/model_implementations/vlm2vec_models.py,sha256=HGGy_-z9Wc99xOKum71rBNipCPqWcM1efmmXgy5Rvxc,11724
|
|
1568
1569
|
mteb/models/model_implementations/voyage_models.py,sha256=dOCccOQlloGrg0q44PxMQzx8dHuQ8VgkDUD01EydpJ0,19824
|
|
1569
|
-
mteb/models/model_implementations/voyage_v.py,sha256=
|
|
1570
|
+
mteb/models/model_implementations/voyage_v.py,sha256=vT1MXCt6-_PWA9U7lNz-Qj2zyGHwm_79WqxH4elMm90,8162
|
|
1570
1571
|
mteb/models/model_implementations/xyz_models.py,sha256=TePlrH6EHwRPO87U_J3Yce9-XHCn_X7I2cJ_6BZ2fUY,1296
|
|
1571
1572
|
mteb/models/model_implementations/youtu_models.py,sha256=NB74E6z-_36HyXb8GXKn8CrmRLN68uX9eH4xcS57zl0,5938
|
|
1572
1573
|
mteb/models/model_implementations/yuan_models.py,sha256=yZ6ki6YFaoVrJ_2pPSRQaMKOsIOUo3GtmhPx1qeUl2w,939
|
|
@@ -1576,8 +1577,8 @@ mteb/models/search_encoder_index/search_backend_protocol.py,sha256=TSjlx88stJcMl
|
|
|
1576
1577
|
mteb/models/search_encoder_index/search_indexes/__init__.py,sha256=Wm60_oUemUpFsvrCMW111dcPH2L2rt1iZrXMskXmG7o,88
|
|
1577
1578
|
mteb/models/search_encoder_index/search_indexes/faiss_search_index.py,sha256=WMs3QbbYV13fRuT3dakmdVMZLFdc_9ZzSupS3QxlbVQ,5555
|
|
1578
1579
|
mteb/results/__init__.py,sha256=EXQqK4Am5eIYzD52dpcGAFSdqnC38oE6JHN302oidHc,158
|
|
1579
|
-
mteb/results/benchmark_results.py,sha256=
|
|
1580
|
-
mteb/results/model_result.py,sha256=
|
|
1580
|
+
mteb/results/benchmark_results.py,sha256=b_g0QmTbwue9ZpWTtyPfgf_nyavckZHUgTVE6zqqtzM,18342
|
|
1581
|
+
mteb/results/model_result.py,sha256=Y6b_xfJlw8EFZq464ZVhyw0Rryv111hvMjnXbEZJpXk,14059
|
|
1581
1582
|
mteb/results/task_result.py,sha256=DgmAw6akotjp8m8E6gE8QP9mQMxUvyzu1hnZ5o01GkU,32303
|
|
1582
1583
|
mteb/tasks/__init__.py,sha256=izAxU0ip1F_YUwx0dFCuN35BaktdmePh6vlDiHC0kLo,503
|
|
1583
1584
|
mteb/tasks/aggregated_tasks/__init__.py,sha256=Ufgbh1AirxCQkojO3AUhUFWM8zQG10cfdVTkj_PeyLI,104
|
|
@@ -2576,14 +2577,14 @@ mteb/tasks/zeroshot_classification/eng/sun397.py,sha256=Nls7tXM2Svu008MmAUjt-o_N
|
|
|
2576
2577
|
mteb/tasks/zeroshot_classification/eng/ucf101.py,sha256=kwNRYks-_Oe4VE3GyoHIvN-2OJ6zhkwFr76WDNL9ymU,1884
|
|
2577
2578
|
mteb/tasks/zeroshot_classification/eng/templates/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
|
|
2578
2579
|
mteb/types/__init__.py,sha256=7_q6_84RvMuHeZK51GbLc5gbpTb3C1WmnqDHm6bnCzw,1104
|
|
2579
|
-
mteb/types/_encoder_io.py,sha256=
|
|
2580
|
+
mteb/types/_encoder_io.py,sha256=Q7llxv3FfiExFKiQGHtATvbSk4_DwdJolLMPTnAPrrI,5536
|
|
2580
2581
|
mteb/types/_metadata.py,sha256=NN-W0S6a5TDV7UkpRx1pyWtGF4TyyCyoPUfHOwdeci8,2290
|
|
2581
2582
|
mteb/types/_result.py,sha256=CRAUc5IvqI3_9SyXDwv-PWLCXwXdZem9RePeYESRtuw,996
|
|
2582
2583
|
mteb/types/_string_validators.py,sha256=PY-dYq4E8O50VS3bLYdldPWp400fl_WzUjfVSkNWe8U,523
|
|
2583
2584
|
mteb/types/statistics.py,sha256=YwJsxTf1eaCI_RE-J37a-gK5wDeGAsmkeZKoZCFihSo,3755
|
|
2584
|
-
mteb-2.3.
|
|
2585
|
-
mteb-2.3.
|
|
2586
|
-
mteb-2.3.
|
|
2587
|
-
mteb-2.3.
|
|
2588
|
-
mteb-2.3.
|
|
2589
|
-
mteb-2.3.
|
|
2585
|
+
mteb-2.3.11.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
2586
|
+
mteb-2.3.11.dist-info/METADATA,sha256=zK0XHgO0btF1XS2eXGROlNeh8jCSj6dQV4NAT3N_Hn8,13991
|
|
2587
|
+
mteb-2.3.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
2588
|
+
mteb-2.3.11.dist-info/entry_points.txt,sha256=8IJoEJFKoDHmVnNev-qJ9pp4Ln7_1-ma9QsXnzVCzGU,39
|
|
2589
|
+
mteb-2.3.11.dist-info/top_level.txt,sha256=OLVIjcQAlWBz0bdmutKlWHLF42FF0hp4uVAg3ZyiG4U,5
|
|
2590
|
+
mteb-2.3.11.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|