openfree commited on
Commit
6b3e108
ยท
verified ยท
1 Parent(s): fc52526

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -30
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
- for sort_params in sort_options:
316
- params = {
317
- 'full': 'true',
318
- 'limit': 1000,
319
- **sort_params
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
- for model in all_found_models:
 
 
 
333
  model_id = normalize_model_id(model.get('id', ''))
334
- if model_id not in seen_ids and model_id in [normalize_model_id(tid) for tid in target_models.keys()]:
335
- seen_ids.add(model_id)
 
 
 
 
336
  filtered_models.append(model)
337
 
338
- # ๋‹ค์šด๋กœ๋“œ ์ˆ˜๋กœ ์ •๋ ฌ
339
- filtered_models.sort(key=lambda x: x.get('downloads', 0), reverse=True)
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):