# File: src/display/formatting.py def model_hyperlink(link, model_name): return f'{model_name}' # 전역에서 MODEL_MAPPING을 먼저 정의합니다. MODEL_MAPPING = { "DeepSeek-R1": "deepseek-ai/DeepSeek-R1", "deepseek-r1": "deepseek-ai/DeepSeek-R1", # 소문자 버전도 추가 "OpenAI ChatGPT-4o": ("External Awesome Model", "https://chatgpt.com") } def make_clickable_model(model_name): """ 모델 이름을 받아서 클릭 가능한 하이퍼링크로 변환합니다. MODEL_MAPPING에 있는 모델은 매핑된 이름과 URL을 사용하고, 없는 모델은 기본 Hugging Face URL을 사용합니다. """ if model_name is None: return "N/A" # 문자열로 변환 (다른 타입이 전달될 경우) model_name_str = str(model_name).strip() # MODEL_MAPPING에서 찾기 (대소문자 구분 없이) for key, mapping_value in MODEL_MAPPING.items(): if model_name_str.lower() == key.lower(): if isinstance(mapping_value, tuple): # 튜플인 경우, (표시될 이름, 외부 URL)로 사용 new_name, new_url = mapping_value else: # 문자열인 경우, 내부 Hugging Face URL로 구성 new_name = mapping_value new_url = f"https://huggingface.co/{new_name}" return model_hyperlink(new_url, new_name) # 매핑이 없는 경우 기본 Hugging Face URL 사용 link = f"https://huggingface.co/{model_name_str}" return model_hyperlink(link, model_name_str) def styled_error(error): return f"

{error}

" def styled_warning(warn): return f"

{warn}

" def styled_message(message): return f"

{message}

" def has_no_nan_values(df, columns): return df[columns].notna().all(axis=1) def has_nan_values(df, columns): return df[columns].isna().any(axis=1)