openfree commited on
Commit
b0bbfbb
·
verified ·
1 Parent(s): bd3bf25

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -19
app.py CHANGED
@@ -293,29 +293,22 @@ target_models = {
293
 
294
  def get_models_data(progress=gr.Progress()):
295
  """모델 데이터 가져오기"""
296
- url = "https://huggingface.co/api/models" # 기본 API 엔드포인트
297
- params = {
298
- 'full': 'true',
299
- 'limit': 1000, # 1000위까지 가져오기
300
- 'sort': 'trending', # trending으로 정렬
301
- 'direction': -1
302
- }
303
 
304
  try:
305
  progress(0, desc="Fetching models data...")
306
- response = requests.get(url, params=params)
307
-
308
- if response.status_code != 200:
309
- print(f"API 요청 실패: {response.status_code}")
310
- print(f"Response: {response.text}")
311
- print(f"URL: {url}")
312
- print(f"Params: {params}")
313
- return create_error_plot(), "<div>모델 데이터를 가져오는데 실패했습니다.</div>", pd.DataFrame()
314
 
 
 
315
  all_models = response.json()
316
- print(f"Total models fetched: {len(all_models)}") # 디버깅용
317
 
318
- # 전체 모델의 순위 정보 저장
319
  model_ranks = {model['id']: idx + 1 for idx, model in enumerate(all_models)}
320
 
321
  # target_models에 있는 모델만 필터링하고 실제 순위 포함
@@ -324,13 +317,13 @@ def get_models_data(progress=gr.Progress()):
324
  if model.get('id', '') in target_models:
325
  model['rank'] = model_ranks[model['id']]
326
  filtered_models.append(model)
327
- print(f"Found model: {model['id']} at rank {model['rank']}") # 디버깅용
328
 
329
  # 순위로 정렬
330
  filtered_models.sort(key=lambda x: x['rank'])
331
 
332
  if not filtered_models:
333
- print("No matching models found in the response") # 디버깅용
334
  return create_error_plot(), "<div>선택된 모델의 데이터를 찾을 수 없습니다.</div>", pd.DataFrame()
335
 
336
  progress(0.3, desc="Creating visualization...")
@@ -421,6 +414,8 @@ def get_models_data(progress=gr.Progress()):
421
  </a>
422
  </div>
423
  """
 
 
424
 
425
  # 순위권 밖 모델 카드 생성
426
  for model_id in target_models:
 
293
 
294
  def get_models_data(progress=gr.Progress()):
295
  """모델 데이터 가져오기"""
296
+ url = "https://huggingface.co/api/models/trending" # trending 전용 엔드포인트
 
 
 
 
 
 
297
 
298
  try:
299
  progress(0, desc="Fetching models data...")
300
+ params = {
301
+ 'full': 'true',
302
+ 'limit': 1000, # 1000위까지 가져오기
303
+ 'interval': 'day' # 일간 트렌딩
304
+ }
 
 
 
305
 
306
+ response = requests.get(url, params=params)
307
+ response.raise_for_status()
308
  all_models = response.json()
309
+ print(f"Total models fetched: {len(all_models)}")
310
 
311
+ # 전체 모델의 순위 정보 저장 (1000위까지)
312
  model_ranks = {model['id']: idx + 1 for idx, model in enumerate(all_models)}
313
 
314
  # target_models에 있는 모델만 필터링하고 실제 순위 포함
 
317
  if model.get('id', '') in target_models:
318
  model['rank'] = model_ranks[model['id']]
319
  filtered_models.append(model)
320
+ print(f"Found model: {model['id']} at rank {model['rank']}")
321
 
322
  # 순위로 정렬
323
  filtered_models.sort(key=lambda x: x['rank'])
324
 
325
  if not filtered_models:
326
+ print("No matching models found in the response")
327
  return create_error_plot(), "<div>선택된 모델의 데이터를 찾을 수 없습니다.</div>", pd.DataFrame()
328
 
329
  progress(0.3, desc="Creating visualization...")
 
414
  </a>
415
  </div>
416
  """
417
+ progress((0.6 + 0.3 * filtered_models.index(model)/len(filtered_models)),
418
+ desc=f"Loading model {filtered_models.index(model)+1}/{len(filtered_models)}...")
419
 
420
  # 순위권 밖 모델 카드 생성
421
  for model_id in target_models: