Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -2,14 +2,10 @@ import os
|
|
2 |
import re
|
3 |
import time
|
4 |
import spaces
|
5 |
-
import torch
|
6 |
import requests
|
7 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer
|
8 |
import gradio as gr
|
9 |
-
from huggingface_hub import HfApi,
|
10 |
from threading import Thread
|
11 |
-
import math
|
12 |
-
import base64
|
13 |
|
14 |
HF_TOKEN = os.environ.get("HF_TOKEN", None)
|
15 |
|
@@ -168,14 +164,18 @@ def generate_leaderboard_data(num_models=100, model_type="all"):
|
|
168 |
"""Generate leaderboard data by analyzing model cards"""
|
169 |
api = HfApi(token=HF_TOKEN)
|
170 |
|
171 |
-
# Define filter based on model type
|
172 |
if model_type == "llm":
|
173 |
-
|
|
|
|
|
|
|
|
|
174 |
else:
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
|
180 |
leaderboard_data = []
|
181 |
count = 0
|
@@ -207,6 +207,9 @@ def generate_leaderboard_data(num_models=100, model_type="all"):
|
|
207 |
})
|
208 |
|
209 |
count += 1
|
|
|
|
|
|
|
210 |
|
211 |
# Sort by combined rating in descending order
|
212 |
leaderboard_data.sort(key=lambda x: x["combined_rating"], reverse=True)
|
@@ -305,9 +308,15 @@ def create_leaderboard_html(leaderboard_data):
|
|
305 |
@spaces.GPU()
|
306 |
def update_leaderboard(num_models, model_type):
|
307 |
"""Update leaderboard with new data"""
|
308 |
-
|
309 |
-
|
310 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
|
312 |
with gr.Blocks(css=CSS, theme="soft") as demo:
|
313 |
gr.HTML(TITLE)
|
@@ -339,5 +348,12 @@ with gr.Blocks(css=CSS, theme="soft") as demo:
|
|
339 |
outputs=[leaderboard_html],
|
340 |
)
|
341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
if __name__ == "__main__":
|
343 |
demo.launch()
|
|
|
2 |
import re
|
3 |
import time
|
4 |
import spaces
|
|
|
5 |
import requests
|
|
|
6 |
import gradio as gr
|
7 |
+
from huggingface_hub import HfApi, list_models
|
8 |
from threading import Thread
|
|
|
|
|
9 |
|
10 |
HF_TOKEN = os.environ.get("HF_TOKEN", None)
|
11 |
|
|
|
164 |
"""Generate leaderboard data by analyzing model cards"""
|
165 |
api = HfApi(token=HF_TOKEN)
|
166 |
|
167 |
+
# Define filter parameters based on model type
|
168 |
if model_type == "llm":
|
169 |
+
# Filter to text-generation models using API parameters
|
170 |
+
models = list_models(
|
171 |
+
task="text-generation",
|
172 |
+
limit=num_models * 5 # Get more models than needed to account for ones without READMEs
|
173 |
+
)
|
174 |
else:
|
175 |
+
# Get all models
|
176 |
+
models = list_models(
|
177 |
+
limit=num_models * 5 # Get more models than needed to account for ones without READMEs
|
178 |
+
)
|
179 |
|
180 |
leaderboard_data = []
|
181 |
count = 0
|
|
|
207 |
})
|
208 |
|
209 |
count += 1
|
210 |
+
|
211 |
+
# Status update
|
212 |
+
print(f"Processed {count}/{num_models} models")
|
213 |
|
214 |
# Sort by combined rating in descending order
|
215 |
leaderboard_data.sort(key=lambda x: x["combined_rating"], reverse=True)
|
|
|
308 |
@spaces.GPU()
|
309 |
def update_leaderboard(num_models, model_type):
|
310 |
"""Update leaderboard with new data"""
|
311 |
+
# Show loading message
|
312 |
+
yield "Loading models and analyzing Schizo ratings... This may take a few minutes."
|
313 |
+
|
314 |
+
try:
|
315 |
+
leaderboard_data = generate_leaderboard_data(num_models, model_type)
|
316 |
+
leaderboard_html = create_leaderboard_html(leaderboard_data)
|
317 |
+
yield leaderboard_html
|
318 |
+
except Exception as e:
|
319 |
+
yield f"<p>Error generating leaderboard: {str(e)}</p>"
|
320 |
|
321 |
with gr.Blocks(css=CSS, theme="soft") as demo:
|
322 |
gr.HTML(TITLE)
|
|
|
348 |
outputs=[leaderboard_html],
|
349 |
)
|
350 |
|
351 |
+
# Add a default leaderboard with a few example entries for initial display
|
352 |
+
default_leaderboard = [
|
353 |
+
{"model_id": "example/model-1", "combined_rating": 150.0, "word_rating": 100.0, "wordiness_rating": 25.0, "visual_rating": 25.0},
|
354 |
+
{"model_id": "example/model-2", "combined_rating": 100.0, "word_rating": 80.0, "wordiness_rating": 10.0, "visual_rating": 10.0},
|
355 |
+
{"model_id": "example/model-3", "combined_rating": 75.0, "word_rating": 50.0, "wordiness_rating": 12.5, "visual_rating": 12.5}
|
356 |
+
]
|
357 |
+
|
358 |
if __name__ == "__main__":
|
359 |
demo.launch()
|