Spaces:
Running
on
Zero
Running
on
Zero
update
Browse files
indiebot_arena/ui/leaderboard.py
CHANGED
@@ -10,6 +10,7 @@ DESCRIPTION = "### 🏆️ リーダーボード"
|
|
10 |
base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
|
11 |
docs_path = os.path.join(base_dir, "docs", "leaderboard_header.md")
|
12 |
|
|
|
13 |
def leaderboard_content(dao, language):
|
14 |
arena_service = ArenaService(dao)
|
15 |
|
@@ -27,6 +28,26 @@ def leaderboard_content(dao, language):
|
|
27 |
data = [["No data available", "", "", "", ""]]
|
28 |
df = pd.DataFrame(data, columns=["Model Name", "Elo Score", "File Size (GB)", "Description", "Last Updated"])
|
29 |
df.insert(0, "Rank", range(1, len(df) + 1))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
return df
|
31 |
|
32 |
initial_weight_class = "U-5GB"
|
@@ -38,7 +59,8 @@ def leaderboard_content(dao, language):
|
|
38 |
weight_class_radio = gr.Radio(choices=["U-5GB", "U-10GB"], label="階級", value=initial_weight_class)
|
39 |
leaderboard_table = gr.Dataframe(
|
40 |
headers=["Rank", "Model Name", "Elo Score", "File Size (GB)", "Description", "Last Updated"],
|
41 |
-
interactive=False
|
|
|
42 |
)
|
43 |
refresh_btn = gr.Button("更新", variant="primary")
|
44 |
refresh_btn.click(fn=fetch_leaderboard_data, inputs=weight_class_radio, outputs=leaderboard_table)
|
|
|
10 |
base_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
|
11 |
docs_path = os.path.join(base_dir, "docs", "leaderboard_header.md")
|
12 |
|
13 |
+
|
14 |
def leaderboard_content(dao, language):
|
15 |
arena_service = ArenaService(dao)
|
16 |
|
|
|
28 |
data = [["No data available", "", "", "", ""]]
|
29 |
df = pd.DataFrame(data, columns=["Model Name", "Elo Score", "File Size (GB)", "Description", "Last Updated"])
|
30 |
df.insert(0, "Rank", range(1, len(df) + 1))
|
31 |
+
|
32 |
+
def add_link(row):
|
33 |
+
raw_name = row["Model Name"]
|
34 |
+
if raw_name!="Unknown":
|
35 |
+
return f'<a href="https://huggingface.co/{raw_name}" target="_blank">{raw_name}</a>'
|
36 |
+
else:
|
37 |
+
return raw_name
|
38 |
+
|
39 |
+
df["Model Name"] = df.apply(add_link, axis=1)
|
40 |
+
|
41 |
+
def add_emoji(row):
|
42 |
+
rank = row["Rank"]
|
43 |
+
linked_name = row["Model Name"]
|
44 |
+
emoji = {1: "🥇", 2: "🥈", 3: "🥉"}.get(rank, "")
|
45 |
+
if emoji:
|
46 |
+
return f'{emoji} {linked_name}'
|
47 |
+
else:
|
48 |
+
return linked_name
|
49 |
+
|
50 |
+
df["Model Name"] = df.apply(add_emoji, axis=1)
|
51 |
return df
|
52 |
|
53 |
initial_weight_class = "U-5GB"
|
|
|
59 |
weight_class_radio = gr.Radio(choices=["U-5GB", "U-10GB"], label="階級", value=initial_weight_class)
|
60 |
leaderboard_table = gr.Dataframe(
|
61 |
headers=["Rank", "Model Name", "Elo Score", "File Size (GB)", "Description", "Last Updated"],
|
62 |
+
interactive=False,
|
63 |
+
datatype="markdown"
|
64 |
)
|
65 |
refresh_btn = gr.Button("更新", variant="primary")
|
66 |
refresh_btn.click(fn=fetch_leaderboard_data, inputs=weight_class_radio, outputs=leaderboard_table)
|