Spaces:
Building
Building
Update app.py
Browse files
app.py
CHANGED
@@ -141,10 +141,12 @@ target_models = {
|
|
141 |
|
142 |
def get_models_data(progress=gr.Progress()):
|
143 |
"""모델 데이터 가져오기"""
|
144 |
-
url = "https://huggingface.co/api/models
|
145 |
params = {
|
146 |
'full': 'true',
|
147 |
-
'limit': 1000 # 1000위까지 가져오기
|
|
|
|
|
148 |
}
|
149 |
|
150 |
try:
|
@@ -155,24 +157,28 @@ def get_models_data(progress=gr.Progress()):
|
|
155 |
print(f"API 요청 실패: {response.status_code}")
|
156 |
print(f"Response: {response.text}")
|
157 |
print(f"URL: {url}")
|
|
|
158 |
return create_error_plot(), "<div>모델 데이터를 가져오는데 실패했습니다.</div>", pd.DataFrame()
|
159 |
|
160 |
all_models = response.json()
|
|
|
161 |
|
162 |
-
# 전체 모델의 순위 정보 저장
|
163 |
model_ranks = {model['id']: idx + 1 for idx, model in enumerate(all_models)}
|
164 |
|
165 |
# target_models에 있는 모델만 필터링하고 실제 순위 포함
|
166 |
filtered_models = []
|
167 |
for model in all_models:
|
168 |
if model.get('id', '') in target_models:
|
169 |
-
model['rank'] = model_ranks[model['id']]
|
170 |
filtered_models.append(model)
|
|
|
171 |
|
172 |
# 순위로 정렬
|
173 |
filtered_models.sort(key=lambda x: x['rank'])
|
174 |
|
175 |
if not filtered_models:
|
|
|
176 |
return create_error_plot(), "<div>선택된 모델의 데이터를 찾을 수 없습니다.</div>", pd.DataFrame()
|
177 |
|
178 |
progress(0.3, desc="Creating visualization...")
|
@@ -323,6 +329,9 @@ def get_models_data(progress=gr.Progress()):
|
|
323 |
except Exception as e:
|
324 |
print(f"Error in get_models_data: {str(e)}")
|
325 |
return create_error_plot(), f"<div>에러 발생: {str(e)}</div>", pd.DataFrame()
|
|
|
|
|
|
|
326 |
|
327 |
# 관심 스페이스 URL 리스트와 정보
|
328 |
target_spaces = {
|
|
|
141 |
|
142 |
def get_models_data(progress=gr.Progress()):
|
143 |
"""모델 데이터 가져오기"""
|
144 |
+
url = "https://huggingface.co/api/models" # 기본 API 엔드포인트
|
145 |
params = {
|
146 |
'full': 'true',
|
147 |
+
'limit': 1000, # 1000위까지 가져오기
|
148 |
+
'sort': 'trending', # trending으로 정렬
|
149 |
+
'direction': -1
|
150 |
}
|
151 |
|
152 |
try:
|
|
|
157 |
print(f"API 요청 실패: {response.status_code}")
|
158 |
print(f"Response: {response.text}")
|
159 |
print(f"URL: {url}")
|
160 |
+
print(f"Params: {params}")
|
161 |
return create_error_plot(), "<div>모델 데이터를 가져오는데 실패했습니다.</div>", pd.DataFrame()
|
162 |
|
163 |
all_models = response.json()
|
164 |
+
print(f"Total models fetched: {len(all_models)}") # 디버깅용
|
165 |
|
166 |
+
# 전체 모델의 순위 정보 저장
|
167 |
model_ranks = {model['id']: idx + 1 for idx, model in enumerate(all_models)}
|
168 |
|
169 |
# target_models에 있는 모델만 필터링하고 실제 순위 포함
|
170 |
filtered_models = []
|
171 |
for model in all_models:
|
172 |
if model.get('id', '') in target_models:
|
173 |
+
model['rank'] = model_ranks[model['id']]
|
174 |
filtered_models.append(model)
|
175 |
+
print(f"Found model: {model['id']} at rank {model['rank']}") # 디버깅용
|
176 |
|
177 |
# 순위로 정렬
|
178 |
filtered_models.sort(key=lambda x: x['rank'])
|
179 |
|
180 |
if not filtered_models:
|
181 |
+
print("No matching models found in the response") # 디버깅용
|
182 |
return create_error_plot(), "<div>선택된 모델의 데이터를 찾을 수 없습니다.</div>", pd.DataFrame()
|
183 |
|
184 |
progress(0.3, desc="Creating visualization...")
|
|
|
329 |
except Exception as e:
|
330 |
print(f"Error in get_models_data: {str(e)}")
|
331 |
return create_error_plot(), f"<div>에러 발생: {str(e)}</div>", pd.DataFrame()
|
332 |
+
|
333 |
+
|
334 |
+
|
335 |
|
336 |
# 관심 스페이스 URL 리스트와 정보
|
337 |
target_spaces = {
|