Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -291,52 +291,48 @@ target_models = {
|
|
291 |
"sel303/llama3-diverce-ver1.6": "https://huggingface.co/sel303/llama3-diverce-ver1.6"
|
292 |
}
|
293 |
|
294 |
-
# all_models ๊ด๋ จ ์ฝ๋ ์ ๊ฑฐํ๊ณ get_models_data ํจ์ ๋ด๋ถ์์ ์ฒ๋ฆฌํ๋๋ก ์์
|
295 |
-
|
296 |
def get_models_data(progress=gr.Progress()):
|
297 |
"""๋ชจ๋ธ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ"""
|
298 |
def normalize_model_id(model_id):
|
299 |
"""๋ชจ๋ธ ID๋ฅผ ์ ๊ทํ"""
|
300 |
return model_id.strip().lower()
|
301 |
|
302 |
-
url = "https://huggingface.co/api/models"
|
303 |
|
304 |
try:
|
305 |
progress(0, desc="Fetching models data...")
|
|
|
|
|
|
|
|
|
306 |
|
307 |
-
|
308 |
-
all_found_models = []
|
309 |
-
sort_options = [
|
310 |
-
{'sort': 'downloads', 'direction': -1},
|
311 |
-
{'sort': 'lastModified', 'direction': -1},
|
312 |
-
{'sort': 'likes', 'direction': -1}
|
313 |
-
]
|
314 |
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
headers = {'Accept': 'application/json'}
|
323 |
-
|
324 |
-
response = requests.get(url, params=params, headers=headers)
|
325 |
-
if response.status_code == 200:
|
326 |
-
models = response.json()
|
327 |
-
all_found_models.extend(models)
|
328 |
|
329 |
-
#
|
330 |
-
seen_ids = set()
|
331 |
filtered_models = []
|
332 |
-
|
|
|
|
|
|
|
333 |
model_id = normalize_model_id(model.get('id', ''))
|
334 |
-
|
335 |
-
|
|
|
|
|
|
|
|
|
336 |
filtered_models.append(model)
|
337 |
|
338 |
-
#
|
339 |
-
filtered_models.sort(key=lambda x: x
|
340 |
|
341 |
# ์์ ํ ๋น
|
342 |
for idx, model in enumerate(filtered_models, 1):
|
|
|
291 |
"sel303/llama3-diverce-ver1.6": "https://huggingface.co/sel303/llama3-diverce-ver1.6"
|
292 |
}
|
293 |
|
|
|
|
|
294 |
def get_models_data(progress=gr.Progress()):
|
295 |
"""๋ชจ๋ธ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ"""
|
296 |
def normalize_model_id(model_id):
|
297 |
"""๋ชจ๋ธ ID๋ฅผ ์ ๊ทํ"""
|
298 |
return model_id.strip().lower()
|
299 |
|
300 |
+
url = "https://huggingface.co/api/models/trending" # trending API๋ก ๋ณ๊ฒฝ
|
301 |
|
302 |
try:
|
303 |
progress(0, desc="Fetching models data...")
|
304 |
+
params = {
|
305 |
+
'full': 'true',
|
306 |
+
'limit': 1000
|
307 |
+
}
|
308 |
|
309 |
+
headers = {'Accept': 'application/json'}
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
|
311 |
+
response = requests.get(url, params=params, headers=headers)
|
312 |
+
if response.status_code != 200:
|
313 |
+
print(f"API ์์ฒญ ์คํจ: {response.status_code}")
|
314 |
+
print(f"Response: {response.text}")
|
315 |
+
return create_error_plot(), "<div>๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์คํจํ์ต๋๋ค.</div>", pd.DataFrame()
|
316 |
+
|
317 |
+
models = response.json()
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
|
319 |
+
# target_models์ ๋งค์นญ
|
|
|
320 |
filtered_models = []
|
321 |
+
model_ranks = {}
|
322 |
+
|
323 |
+
# ์ ์ฒด ์์ ์ ๋ณด ์ ์ฅ
|
324 |
+
for idx, model in enumerate(models, 1):
|
325 |
model_id = normalize_model_id(model.get('id', ''))
|
326 |
+
model_ranks[model_id] = idx
|
327 |
+
|
328 |
+
# target_models ์ค ์์๊ถ ๋ด ๋ชจ๋ธ ํํฐ๋ง
|
329 |
+
for model in models:
|
330 |
+
if normalize_model_id(model.get('id', '')) in [normalize_model_id(tid) for tid in target_models.keys()]:
|
331 |
+
model['rank'] = model_ranks[normalize_model_id(model.get('id', ''))]
|
332 |
filtered_models.append(model)
|
333 |
|
334 |
+
# ์์๋ก ์ ๋ ฌ
|
335 |
+
filtered_models.sort(key=lambda x: x['rank'])
|
336 |
|
337 |
# ์์ ํ ๋น
|
338 |
for idx, model in enumerate(filtered_models, 1):
|