Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
fix/pyaudioop
#31
by Mosaic-glasses - opened
- .github/workflows/main.yaml +1 -1
- app.py +0 -52
- requirements.txt +1 -1
- src/columns.py +26 -35
- src/models.py +5 -5
.github/workflows/main.yaml
CHANGED
|
@@ -17,4 +17,4 @@ jobs:
|
|
| 17 |
- name: Push to hub
|
| 18 |
env:
|
| 19 |
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
| 20 |
-
run: git push
|
|
|
|
| 17 |
- name: Push to hub
|
| 18 |
env:
|
| 19 |
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
| 20 |
+
run: git push https://hanhainebula:$HF_TOKEN@huggingface.co/spaces/AIR-Bench/leaderboard main
|
app.py
CHANGED
|
@@ -1,55 +1,3 @@
|
|
| 1 |
-
import sys
|
| 2 |
-
import types
|
| 3 |
-
|
| 4 |
-
# Python 3.13 removed audioop from stdlib; pydub (a gradio dep) needs it.
|
| 5 |
-
# Provide minimal stubs so the import doesn't crash the leaderboard.
|
| 6 |
-
try:
|
| 7 |
-
import audioop # noqa: F811
|
| 8 |
-
except ModuleNotFoundError:
|
| 9 |
-
_audioop = types.ModuleType("audioop")
|
| 10 |
-
_func_names = [
|
| 11 |
-
"add", "adpcm2lin", "alaw2lin", "avg", "avgpp", "bias",
|
| 12 |
-
"byteswap", "cross", "findfactor", "findfit", "findmax",
|
| 13 |
-
"getsample", "lin2adpcm", "lin2alaw", "lin2lin", "lin2ulaw",
|
| 14 |
-
"max", "maxpp", "minmax", "mul", "ratecv", "reverse", "rms",
|
| 15 |
-
"tomono", "tostereo", "ulaw2lin",
|
| 16 |
-
]
|
| 17 |
-
|
| 18 |
-
def _make_stub(name):
|
| 19 |
-
def stub(*args, **kwargs):
|
| 20 |
-
raise NotImplementedError(f"audioop.{name} is not available on Python 3.13")
|
| 21 |
-
|
| 22 |
-
return stub
|
| 23 |
-
|
| 24 |
-
for _name in _func_names:
|
| 25 |
-
setattr(_audioop, _name, _make_stub(_name))
|
| 26 |
-
_audioop.error = Exception
|
| 27 |
-
sys.modules["audioop"] = _audioop
|
| 28 |
-
|
| 29 |
-
# huggingface_hub >= 1.0 removed HfFolder (gradio 4.29.0 oauth.py imports it)
|
| 30 |
-
import huggingface_hub
|
| 31 |
-
|
| 32 |
-
if not hasattr(huggingface_hub, "HfFolder"):
|
| 33 |
-
|
| 34 |
-
class _HfFolder:
|
| 35 |
-
path = "/root/.huggingface/token"
|
| 36 |
-
|
| 37 |
-
@staticmethod
|
| 38 |
-
def get_token():
|
| 39 |
-
import os as _os
|
| 40 |
-
|
| 41 |
-
return _os.environ.get("HF_TOKEN")
|
| 42 |
-
|
| 43 |
-
@staticmethod
|
| 44 |
-
def save_token(token):
|
| 45 |
-
pass
|
| 46 |
-
|
| 47 |
-
@staticmethod
|
| 48 |
-
def delete_token():
|
| 49 |
-
pass
|
| 50 |
-
|
| 51 |
-
huggingface_hub.HfFolder = _HfFolder
|
| 52 |
-
|
| 53 |
import os
|
| 54 |
|
| 55 |
import gradio as gr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import os
|
| 2 |
|
| 3 |
import gradio as gr
|
requirements.txt
CHANGED
|
@@ -4,7 +4,7 @@ click>=8.1.3
|
|
| 4 |
datasets>=2.14.5
|
| 5 |
gradio<5.0.0
|
| 6 |
gradio_client>=0.16.1
|
| 7 |
-
huggingface-hub>=0.18.0
|
| 8 |
numpy>=1.24.2
|
| 9 |
pandas>=2.0.0
|
| 10 |
python-dateutil>=2.8.2
|
|
|
|
| 4 |
datasets>=2.14.5
|
| 5 |
gradio<5.0.0
|
| 6 |
gradio_client>=0.16.1
|
| 7 |
+
huggingface-hub>=0.18.0
|
| 8 |
numpy>=1.24.2
|
| 9 |
pandas>=2.0.0
|
| 10 |
python-dateutil>=2.8.2
|
src/columns.py
CHANGED
|
@@ -1,4 +1,8 @@
|
|
| 1 |
-
from dataclasses import dataclass,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
|
| 4 |
# These classes are for user facing column names,
|
|
@@ -15,43 +19,37 @@ class ColumnContent:
|
|
| 15 |
|
| 16 |
def get_default_auto_eval_column_dict():
|
| 17 |
auto_eval_column_dict = []
|
| 18 |
-
auto_eval_column_dict.append(
|
| 19 |
-
["rank", ColumnContent, field(default_factory=lambda: ColumnContent(COL_NAME_RANK, "number", True))]
|
| 20 |
-
)
|
| 21 |
auto_eval_column_dict.append(
|
| 22 |
[
|
| 23 |
"retrieval_model",
|
| 24 |
ColumnContent,
|
| 25 |
-
|
| 26 |
]
|
| 27 |
)
|
| 28 |
auto_eval_column_dict.append(
|
| 29 |
[
|
| 30 |
"reranking_model",
|
| 31 |
ColumnContent,
|
| 32 |
-
|
| 33 |
]
|
| 34 |
)
|
| 35 |
auto_eval_column_dict.append(
|
| 36 |
-
["revision", ColumnContent,
|
| 37 |
-
)
|
| 38 |
-
auto_eval_column_dict.append(
|
| 39 |
-
["timestamp", ColumnContent, field(default_factory=lambda: ColumnContent(COL_NAME_TIMESTAMP, "date", True, never_hidden=True))]
|
| 40 |
)
|
| 41 |
auto_eval_column_dict.append(
|
| 42 |
-
["
|
| 43 |
)
|
|
|
|
| 44 |
auto_eval_column_dict.append(
|
| 45 |
[
|
| 46 |
"retrieval_model_link",
|
| 47 |
ColumnContent,
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
hidden=True,
|
| 54 |
-
)
|
| 55 |
),
|
| 56 |
]
|
| 57 |
)
|
|
@@ -59,18 +57,16 @@ def get_default_auto_eval_column_dict():
|
|
| 59 |
[
|
| 60 |
"reranking_model_link",
|
| 61 |
ColumnContent,
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
hidden=True,
|
| 68 |
-
)
|
| 69 |
),
|
| 70 |
]
|
| 71 |
)
|
| 72 |
auto_eval_column_dict.append(
|
| 73 |
-
["is_anonymous", ColumnContent,
|
| 74 |
)
|
| 75 |
return auto_eval_column_dict
|
| 76 |
|
|
@@ -80,7 +76,7 @@ def make_autoevalcolumn(cls_name, benchmarks):
|
|
| 80 |
# Leaderboard columns
|
| 81 |
for benchmark in list(benchmarks.value):
|
| 82 |
auto_eval_column_dict.append(
|
| 83 |
-
[benchmark.name, ColumnContent,
|
| 84 |
)
|
| 85 |
|
| 86 |
# We use make dataclass to dynamically fill the scores from Tasks
|
|
@@ -89,19 +85,14 @@ def make_autoevalcolumn(cls_name, benchmarks):
|
|
| 89 |
|
| 90 |
def get_default_col_names_and_types(benchmarks):
|
| 91 |
AutoEvalColumn = make_autoevalcolumn("AutoEvalColumn", benchmarks)
|
| 92 |
-
col_names = []
|
| 93 |
-
col_types = []
|
| 94 |
-
for f in AutoEvalColumn.__dataclass_fields__.values():
|
| 95 |
-
col = f.default_factory()
|
| 96 |
-
if not col.hidden:
|
| 97 |
-
col_names.append(col.name)
|
| 98 |
-
col_types.append(col.type)
|
| 99 |
return col_names, col_types
|
| 100 |
|
| 101 |
|
| 102 |
def get_fixed_col_names_and_types():
|
| 103 |
fixed_cols = get_default_auto_eval_column_dict()[:-3]
|
| 104 |
-
return [c.
|
| 105 |
|
| 106 |
|
| 107 |
COL_NAME_AVG = "Average ⬆️"
|
|
|
|
| 1 |
+
from dataclasses import dataclass, make_dataclass
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
def _fields(raw_class):
|
| 5 |
+
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
|
| 6 |
|
| 7 |
|
| 8 |
# These classes are for user facing column names,
|
|
|
|
| 19 |
|
| 20 |
def get_default_auto_eval_column_dict():
|
| 21 |
auto_eval_column_dict = []
|
| 22 |
+
auto_eval_column_dict.append(["rank", ColumnContent, ColumnContent(COL_NAME_RANK, "number", True)])
|
|
|
|
|
|
|
| 23 |
auto_eval_column_dict.append(
|
| 24 |
[
|
| 25 |
"retrieval_model",
|
| 26 |
ColumnContent,
|
| 27 |
+
ColumnContent(COL_NAME_RETRIEVAL_MODEL, "markdown", True, never_hidden=True),
|
| 28 |
]
|
| 29 |
)
|
| 30 |
auto_eval_column_dict.append(
|
| 31 |
[
|
| 32 |
"reranking_model",
|
| 33 |
ColumnContent,
|
| 34 |
+
ColumnContent(COL_NAME_RERANKING_MODEL, "markdown", True, never_hidden=True),
|
| 35 |
]
|
| 36 |
)
|
| 37 |
auto_eval_column_dict.append(
|
| 38 |
+
["revision", ColumnContent, ColumnContent(COL_NAME_REVISION, "markdown", True, never_hidden=True)]
|
|
|
|
|
|
|
|
|
|
| 39 |
)
|
| 40 |
auto_eval_column_dict.append(
|
| 41 |
+
["timestamp", ColumnContent, ColumnContent(COL_NAME_TIMESTAMP, "date", True, never_hidden=True)]
|
| 42 |
)
|
| 43 |
+
auto_eval_column_dict.append(["average", ColumnContent, ColumnContent(COL_NAME_AVG, "number", True)])
|
| 44 |
auto_eval_column_dict.append(
|
| 45 |
[
|
| 46 |
"retrieval_model_link",
|
| 47 |
ColumnContent,
|
| 48 |
+
ColumnContent(
|
| 49 |
+
COL_NAME_RETRIEVAL_MODEL_LINK,
|
| 50 |
+
"markdown",
|
| 51 |
+
False,
|
| 52 |
+
hidden=True,
|
|
|
|
|
|
|
| 53 |
),
|
| 54 |
]
|
| 55 |
)
|
|
|
|
| 57 |
[
|
| 58 |
"reranking_model_link",
|
| 59 |
ColumnContent,
|
| 60 |
+
ColumnContent(
|
| 61 |
+
COL_NAME_RERANKING_MODEL_LINK,
|
| 62 |
+
"markdown",
|
| 63 |
+
False,
|
| 64 |
+
hidden=True,
|
|
|
|
|
|
|
| 65 |
),
|
| 66 |
]
|
| 67 |
)
|
| 68 |
auto_eval_column_dict.append(
|
| 69 |
+
["is_anonymous", ColumnContent, ColumnContent(COL_NAME_IS_ANONYMOUS, "bool", False, hidden=True)]
|
| 70 |
)
|
| 71 |
return auto_eval_column_dict
|
| 72 |
|
|
|
|
| 76 |
# Leaderboard columns
|
| 77 |
for benchmark in list(benchmarks.value):
|
| 78 |
auto_eval_column_dict.append(
|
| 79 |
+
[benchmark.name, ColumnContent, ColumnContent(benchmark.value.col_name, "number", True)]
|
| 80 |
)
|
| 81 |
|
| 82 |
# We use make dataclass to dynamically fill the scores from Tasks
|
|
|
|
| 85 |
|
| 86 |
def get_default_col_names_and_types(benchmarks):
|
| 87 |
AutoEvalColumn = make_autoevalcolumn("AutoEvalColumn", benchmarks)
|
| 88 |
+
col_names = [c.name for c in _fields(AutoEvalColumn) if not c.hidden]
|
| 89 |
+
col_types = [c.type for c in _fields(AutoEvalColumn) if not c.hidden]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
return col_names, col_types
|
| 91 |
|
| 92 |
|
| 93 |
def get_fixed_col_names_and_types():
|
| 94 |
fixed_cols = get_default_auto_eval_column_dict()[:-3]
|
| 95 |
+
return [c.name for _, _, c in fixed_cols], [c.type for _, _, c in fixed_cols]
|
| 96 |
|
| 97 |
|
| 98 |
COL_NAME_AVG = "Average ⬆️"
|
src/models.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
import json
|
| 2 |
from collections import defaultdict
|
| 3 |
-
from dataclasses import dataclass
|
| 4 |
from enum import Enum
|
| 5 |
from typing import List
|
| 6 |
|
|
@@ -142,10 +142,10 @@ class LeaderboardDataStore:
|
|
| 142 |
version: str
|
| 143 |
slug: str
|
| 144 |
raw_data: list = None
|
| 145 |
-
qa_raw_df: pd.DataFrame =
|
| 146 |
-
doc_raw_df: pd.DataFrame =
|
| 147 |
-
qa_fmt_df: pd.DataFrame =
|
| 148 |
-
doc_fmt_df: pd.DataFrame =
|
| 149 |
reranking_models: list = None
|
| 150 |
qa_types: list = None
|
| 151 |
doc_types: list = None
|
|
|
|
| 1 |
import json
|
| 2 |
from collections import defaultdict
|
| 3 |
+
from dataclasses import dataclass
|
| 4 |
from enum import Enum
|
| 5 |
from typing import List
|
| 6 |
|
|
|
|
| 142 |
version: str
|
| 143 |
slug: str
|
| 144 |
raw_data: list = None
|
| 145 |
+
qa_raw_df: pd.DataFrame = pd.DataFrame()
|
| 146 |
+
doc_raw_df: pd.DataFrame = pd.DataFrame()
|
| 147 |
+
qa_fmt_df: pd.DataFrame = pd.DataFrame()
|
| 148 |
+
doc_fmt_df: pd.DataFrame = pd.DataFrame()
|
| 149 |
reranking_models: list = None
|
| 150 |
qa_types: list = None
|
| 151 |
doc_types: list = None
|