diff --git "a/app.py" "b/app.py"
--- "a/app.py"
+++ "b/app.py"
@@ -1,4 +1,3 @@
-import ast #추가 삽입, requirements: albumentations 추가
import gradio as gr
import requests
import pandas as pd
@@ -8,14 +7,1716 @@ import os
import asyncio
import aiohttp
+HF_TOKEN = os.getenv("HF_TOKEN")
-script_repr = os.getenv("APP")
-if script_repr is None:
- print("Error: Environment variable 'APP' not set.")
- sys.exit(1)
+target_models = {
+
-try:
- exec(script_repr)
-except Exception as e:
- print(f"Error executing script: {e}")
- sys.exit(1)
\ No newline at end of file
+ "K-intelligence/Midm-2.0-Mini-Instruct": "https://huggingface.co/K-intelligence/Midm-2.0-Mini-Instruct",
+ "K-intelligence/Midm-2.0-Base-Instruct": "https://huggingface.co/K-intelligence/Midm-2.0-Base-Instruct",
+
+ "VIDraft/Qwen3-R1984-30B-A3B": "https://huggingface.co/VIDraft/Qwen3-R1984-30B-A3B",
+ "VIDraft/Gemma-3-R1984-1B": "https://huggingface.co/VIDraft/Gemma-3-R1984-1B",
+ "VIDraft/Qwen3-R1984-0.6B": "https://huggingface.co/VIDraft/Qwen3-R1984-0.6B",
+ "VIDraft/Qwen3-R1984-4B": "https://huggingface.co/VIDraft/Qwen3-R1984-4B",
+
+ "seawolf2357/kim-korea": "https://huggingface.co/seawolf2357/kim-korea",
+ "seawolf2357/audrey-hepburn": "https://huggingface.co/seawolf2357/audrey-hepburn",
+ "seawolf2357/test-bag4": "https://huggingface.co/seawolf2357/test-bag4",
+ "seawolf2357/blingone-lani": "https://huggingface.co/seawolf2357/blingone-lani",
+ "seawolf2357/test-hood": "https://huggingface.co/seawolf2357/test-hood",
+ "seawolf2357/shinyoonbok": "https://huggingface.co/seawolf2357/shinyoonbok",
+ "openfree/lee-min-ho": "https://huggingface.co/openfree/lee-min-ho",
+ "openfree/bruce-lee": "https://huggingface.co/openfree/bruce-lee",
+ "openfree/leonardo-dicaprio": "https://huggingface.co/openfree/leonardo-dicaprio",
+ "seawolf2357/nsfw-detection": "https://huggingface.co/seawolf2357/nsfw-detection",
+ "Heartsync/Flux-NSFW-uncensored": "https://huggingface.co/Heartsync/Flux-NSFW-uncensored",
+ "Heartsync/NSFW-Uncensored": "https://huggingface.co/Heartsync/NSFW-Uncensored",
+
+ "ginipick/QwQ-32B-NF4": "https://huggingface.co/ginipick/QwQ-32B-NF4",
+ "openfree/winslow-homer": "https://huggingface.co/openfree/winslow-homer",
+ "openfree/van-gogh": "https://huggingface.co/openfree/van-gogh",
+ "openfree/paul-cezanne": "https://huggingface.co/openfree/paul-cezanne",
+ "openfree/pierre-auguste-renoir": "https://huggingface.co/openfree/pierre-auguste-renoir",
+ "fantos/QwQ-32B-bnb-4bit": "https://huggingface.co/fantos/QwQ-32B-bnb-4bit",
+ "openfree/myt-flux-fantasy": "https://huggingface.co/openfree/myt-flux-fantasy",
+ "ginipick/Gemma-3-R1984-4B": "https://huggingface.co/ginipick/Gemma-3-R1984-4B",
+ "VIDraft/Gemma-3-R1984-4B": "https://huggingface.co/VIDraft/Gemma-3-R1984-4B",
+ "ginigen/Private-BitSix-Mistral-Small-3.1-24B-Instruct-2503": "https://huggingface.co/ginigen/Private-BitSix-Mistral-Small-3.1-24B-Instruct-2503",
+ "openfree/QwQ-R1984-32B-Q4_K_M-GGUF": "https://huggingface.co/openfree/QwQ-R1984-32B-Q4_K_M-GGUF",
+ "openfree/QwQ-R1984-32B-Q8_0-GGUF": "https://huggingface.co/openfree/QwQ-R1984-32B-Q8_0-GGUF",
+ "VIDraft/QwQ-R1984-32B": "https://huggingface.co/VIDraft/QwQ-R1984-32B",
+ "openfree/QwQ-32B-Q8_0-GGUF": "https://huggingface.co/openfree/QwQ-32B-Q8_0-GGUF",
+ "openfree/QwQ-32B-Q4_K_M-GGUF": "https://huggingface.co/openfree/QwQ-32B-Q4_K_M-GGUF",
+ "openfree/Llama-3_3-Nemotron-Super-49B-v1-Q4_K_M-GGUF": "https://huggingface.co/openfree/Llama-3_3-Nemotron-Super-49B-v1-Q4_K_M-GGUF",
+ "openfree/Llama-3_3-Nemotron-Super-49B-v1-Q6_K-GGUF": "https://huggingface.co/openfree/Llama-3_3-Nemotron-Super-49B-v1-Q6_K-GGUF",
+ "openfree/Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M-GGUF": "https://huggingface.co/openfree/Mistral-Small-3.1-24B-Instruct-2503-Q4_K_M-GGUF",
+ "openfree/Mistral-Small-3.1-24B-Instruct-2503-Q6_K-GGUF": "https://huggingface.co/openfree/Mistral-Small-3.1-24B-Instruct-2503-Q6_K-GGUF",
+ "openfree/Mistral-Small-3.1-24B-Instruct-2503-Q8_0-GGUF": "https://huggingface.co/openfree/Mistral-Small-3.1-24B-Instruct-2503-Q8_0-GGUF",
+ "openfree/Qwen2.5-VL-32B-Instruct-Q4_K_M-GGUF": "https://huggingface.co/openfree/Qwen2.5-VL-32B-Instruct-Q4_K_M-GGUF",
+ "openfree/Qwen2.5-VL-32B-Instruct-Q8_0-GGUF": "https://huggingface.co/openfree/Qwen2.5-VL-32B-Instruct-Q8_0-GGUF",
+ "openfree/morgenster": "https://huggingface.co/openfree/morgenstern",
+ "openfree/Gemma-3-R1984-27B-Q4_K_M-GGUF": "https://huggingface.co/openfree/Gemma-3-R1984-27B-Q4_K_M-GGUF",
+ "VIDraft/Gemma-3-R1984-12B": "https://huggingface.co/VIDraft/Gemma-3-R1984-12B",
+ "openfree/Gemma-3-R1984-12B-Q8_0-GGUF": "https://huggingface.co/openfree/Gemma-3-R1984-12B-Q8_0-GGUF",
+ "openfree/Gemma-3-R1984-12B-Q6_K-GGUF": "https://huggingface.co/openfree/Gemma-3-R1984-12B-Q6_K-GGUF",
+ "openfree/Gemma-3-R1984-27B-Q8_0-GGUF": "https://huggingface.co/openfree/Gemma-3-R1984-27B-Q8_0-GGUF",
+ "openfree/Gemma-3-R1984-27B-Q6_K-GGUF": "https://huggingface.co/openfree/Gemma-3-R1984-27B-Q6_K-GGUF",
+ "openfree/flux-chatgpt-ghibli-lora": "https://huggingface.co/openfree/flux-chatgpt-ghibli-lora",
+ "openfree/string-sandal": "https://huggingface.co/openfree/string-sandal",
+ "openfree/voice-crown-necklace": "https://huggingface.co/openfree/voice-crown-necklace",
+ "openfree/boris-yeltsin": "https://huggingface.co/openfree/boris-yeltsin",
+ "VIDraft/Gemma-3-R1984-27B": "https://huggingface.co/VIDraft/Gemma-3-R1984-27B",
+ "openfree/president-k-dj": "https://huggingface.co/openfree/president-k-dj",
+ "openfree/president-pjh": "https://huggingface.co/openfree/president-pjh",
+ "openfree/flux-lora-korea-palace": "https://huggingface.co/openfree/flux-lora-korea-palace",
+ "seawolf2357/hanbok": "https://huggingface.co/seawolf2357/hanbok",
+ "seawolf2357/ntower": "https://huggingface.co/seawolf2357/ntower",
+ "openfree/pepe": "https://huggingface.co/openfree/pepe",
+ "openfree/korea-president-yoon": "https://huggingface.co/openfree/korea-president-yoon",
+ "seawolf2357/flux-lora-military-artillery-k9": "https://huggingface.co/seawolf2357/flux-lora-military-artillery-k9",
+ "openfree/claude-monet": "https://huggingface.co/openfree/claude-monet",
+ "ginipick/flux-lora-eric-cat": "https://huggingface.co/ginipick/flux-lora-eric-cat",
+ "seawolf2357/flux-lora-car-rolls-royce": "https://huggingface.co/seawolf2357/flux-lora-car-rolls-royce",
+
+ "kanana-nano-2.1b-embedding": "https://huggingface.co/kakaocorp/kanana-nano-2.1b-embedding",
+ "kakaocorp/kanana-nano-2.1b-base": "https://huggingface.co/kakaocorp/kanana-nano-2.1b-base",
+ "kakaocorp/kanana-nano-2.1b-instruct": "https://huggingface.co/kakaocorp/kanana-nano-2.1b-instruct",
+ "JungZoona/T3Q-qwen2.5-14b-v1.0-e3": "https://huggingface.co/JungZoona/T3Q-qwen2.5-14b-v1.0-e3",
+ "OnomaAIResearch/Illustrious-XL-v2.0": "https://huggingface.co/OnomaAIResearch/Illustrious-XL-v2.0",
+ "OnomaAIResearch/Illustrious-Lumina-v0.03": "https://huggingface.co/OnomaAIResearch/Illustrious-Lumina-v0.03",
+ "naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-0.5B": "https://huggingface.co/naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-0.5B",
+ "naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-1.5B": "https://huggingface.co/naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-1.5B",
+ "naver-hyperclovax/HyperCLOVAX-SEED-Vision-Instruct-3B": "https://huggingface.co/naver-hyperclovax/HyperCLOVAX-SEED-Vision-Instruct-3B",
+ "dnotitia/DNA-R1": "https://huggingface.co/dnotitia/DNA-R1 ",
+ "LGAI-EXAONE/EXAONE-3.5-32B-Instruct": "https://huggingface.co/LGAI-EXAONE/EXAONE-3.5-32B-Instruct",
+ "LGAI-EXAONE/EXAONE-3.5-2.4B-Instruct": "https://huggingface.co/LGAI-EXAONE/EXAONE-3.5-2.4B-Instruct",
+ "LGAI-EXAONE/EXAONE-3.5-7.8B-Instruct": "https://huggingface.co/LGAI-EXAONE/EXAONE-3.5-7.8B-Instruct",
+ "moreh/Llama-3-Motif-102B-Instruct": "https://huggingface.co/moreh/Llama-3-Motif-102B-Instruct",
+ "OnomaAIResearch/Illustrious-xl-early-release-v0": "https://huggingface.co/OnomaAIResearch/Illustrious-xl-early-release-v0",
+ "upstage/solar-pro-preview-instruct": "https://huggingface.co/upstage/solar-pro-preview-instruct",
+ "NCSOFT/VARCO-VISION-14B": "https://huggingface.co/NCSOFT/VARCO-VISION-14B",
+ "NCSOFT/Llama-VARCO-8B-Instruct": "https://huggingface.co/NCSOFT/Llama-VARCO-8B-Instruct",
+ "NCSOFT/VARCO-VISION-14B-HF": "https://huggingface.co/NCSOFT/VARCO-VISION-14B-HF",
+ "KAERI-MLP/llama-3.1-Korean-AtomicGPT-Bllossom-8B": "https://huggingface.co/KAERI-MLP/llama-3.1-Korean-AtomicGPT-Bllossom-8B",
+ "dnotitia/Llama-DNA-1.0-8B-Instruct": "https://huggingface.co/dnotitia/Llama-DNA-1.0-8B-Instruct",
+ "Bllossom/llama-3.2-Korean-Bllossom-3B": "https://huggingface.co/Bllossom/llama-3.2-Korean-Bllossom-3B",
+ "kakaocorp/kanana-nano-2.1b-base": "https://huggingface.co/kakaocorp/kanana-nano-2.1b-base",
+ "LGAI-EXAONE/EXAONE-Deep-32B": "https://huggingface.co/LGAI-EXAONE/EXAONE-Deep-32B",
+ "LGAI-EXAONE/EXAONE-Deep-2.4B": "https://huggingface.co/LGAI-EXAONE/EXAONE-Deep-2.4B",
+ "LGAI-EXAONE/EXAONE-Deep-7.8B": "https://huggingface.co/LGAI-EXAONE/EXAONE-Deep-7.8B",
+ "OLAResearch/OLAF2-14B": "https://huggingface.co/OLAResearch/OLAF2-14B",
+ "moreh/Llama-3-Motif-102B": "https://huggingface.co/moreh/Llama-3-Motif-102B",
+ "moreh/MoMo-72B-lora-1.8.7-DPO": "https://huggingface.co/moreh/MoMo-72B-lora-1.8.7-DPO",
+ "moreh/Llama-3-Motif-102B-Instruct": "https://huggingface.co/moreh/Llama-3-Motif-102B-Instruct",
+ "OnomaAIResearch/Illustrious-xl-early-release-v0": "https://huggingface.co/OnomaAIResearch/Illustrious-xl-early-release-v0",
+ "OnomaAIResearch/Illustrious-XL-v1.0": "https://huggingface.co/OnomaAIResearch/Illustrious-XL-v1.0",
+ "OnomaAIResearch/Illustrious-XL-v1.1": "https://huggingface.co/OnomaAIResearch/Illustrious-XL-v1.1",
+ "unidocs/llama-3.1-8b-komedic-instruct": "https://huggingface.co/unidocs/llama-3.1-8b-komedic-instruct",
+ "unidocs/llama-3.2-3b-komedic-instruct": "https://huggingface.co/unidocs/llama-3.2-3b-komedic-instruct",
+ "etri-lirs/eagle-3b-preview": "https://huggingface.co/etri-lirs/eagle-3b-preview",
+ "kakaobrain/kogpt": "https://huggingface.co/kakaobrain/kogpt",
+
+
+ "nari-labs/Dia-1.6B": "https://huggingface.co/nari-labs/Dia-1.6B",
+ "Saxo/Linkbricks-Horizon-AI-Korean-Gemma-2-sft-dpo-27B": "https://huggingface.co/Saxo/Linkbricks-Horizon-AI-Korean-Gemma-2-sft-dpo-27B",
+ "AALF/gemma-2-27b-it-SimPO-37K": "https://huggingface.co/AALF/gemma-2-27b-it-SimPO-37K",
+ "nbeerbower/mistral-nemo-wissenschaft-12B": "https://huggingface.co/nbeerbower/mistral-nemo-wissenschaft-12B",
+ "Saxo/Linkbricks-Horizon-AI-Korean-Mistral-Nemo-sft-dpo-12B": "https://huggingface.co/Saxo/Linkbricks-Horizon-AI-Korean-Mistral-Nemo-sft-dpo-12B",
+ "princeton-nlp/gemma-2-9b-it-SimPO": "https://huggingface.co/princeton-nlp/gemma-2-9b-it-SimPO",
+ "migtissera/Tess-v2.5-Gemma-2-27B-alpha": "https://huggingface.co/migtissera/Tess-v2.5-Gemma-2-27B-alpha",
+ "DeepMount00/Llama-3.1-8b-Ita": "https://huggingface.co/DeepMount00/Llama-3.1-8b-Ita",
+ "cognitivecomputations/dolphin-2.9.3-mistral-nemo-12b": "https://huggingface.co/cognitivecomputations/dolphin-2.9.3-mistral-nemo-12b",
+ "ai-human-lab/EEVE-Korean_Instruct-10.8B-expo": "https://huggingface.co/ai-human-lab/EEVE-Korean_Instruct-10.8B-expo",
+ "VAGOsolutions/Llama-3.1-SauerkrautLM-8b-Instruct": "https://huggingface.co/VAGOsolutions/Llama-3.1-SauerkrautLM-8b-Instruct",
+ "Saxo/Linkbricks-Horizon-AI-Korean-llama-3.1-sft-dpo-8B": "https://huggingface.co/Saxo/Linkbricks-Horizon-AI-Korean-llama-3.1-sft-dpo-8B",
+ "AIDX-ktds/ktdsbaseLM-v0.12-based-on-openchat3.5": "https://huggingface.co/AIDX-ktds/ktdsbaseLM-v0.12-based-on-openchat3.5",
+ "mlabonne/Daredevil-8B-abliterated": "https://huggingface.co/mlabonne/Daredevil-8B-abliterated",
+ "ENERGY-DRINK-LOVE/eeve_dpo-v3": "https://huggingface.co/ENERGY-DRINK-LOVE/eeve_dpo-v3",
+ "migtissera/Trinity-2-Codestral-22B": "https://huggingface.co/migtissera/Trinity-2-Codestral-22B",
+ "Saxo/Linkbricks-Horizon-AI-Korean-llama3.1-sft-rlhf-dpo-8B": "https://huggingface.co/Saxo/Linkbricks-Horizon-AI-Korean-llama3.1-sft-rlhf-dpo-8B",
+ "mlabonne/Daredevil-8B-abliterated-dpomix": "https://huggingface.co/mlabonne/Daredevil-8B-abliterated-dpomix",
+ "yanolja/EEVE-Korean-Instruct-10.8B-v1.0": "https://huggingface.co/yanolja/EEVE-Korean-Instruct-10.8B-v1.0",
+ "vicgalle/Configurable-Llama-3.1-8B-Instruct": "https://huggingface.co/vicgalle/Configurable-Llama-3.1-8B-Instruct",
+ "T3Q-LLM/T3Q-LLM1-sft1.0-dpo1.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM1-sft1.0-dpo1.0",
+ "Eurdem/Defne-llama3.1-8B": "https://huggingface.co/Eurdem/Defne-llama3.1-8B",
+ "BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B": "https://huggingface.co/BAAI/Infinity-Instruct-7M-Gen-Llama3_1-8B",
+ "BAAI/Infinity-Instruct-3M-0625-Llama3-8B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0625-Llama3-8B",
+ "T3Q-LLM/T3Q-LLM-sft1.0-dpo1.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM-sft1.0-dpo1.0",
+ "BAAI/Infinity-Instruct-7M-0729-Llama3_1-8B": "https://huggingface.co/BAAI/Infinity-Instruct-7M-0729-Llama3_1-8B",
+ "mightbe/EEVE-10.8B-Multiturn": "https://huggingface.co/mightbe/EEVE-10.8B-Multiturn",
+ "hyemijo/omed-llama3.1-8b": "https://huggingface.co/hyemijo/omed-llama3.1-8b",
+ "yanolja/Bookworm-10.7B-v0.4-DPO": "https://huggingface.co/yanolja/Bookworm-10.7B-v0.4-DPO",
+ "algograp-Inc/algograpV4": "https://huggingface.co/algograp-Inc/algograpV4",
+ "lightblue/suzume-llama-3-8B-multilingual-orpo-borda-top75": "https://huggingface.co/lightblue/suzume-llama-3-8B-multilingual-orpo-borda-top75",
+ "chihoonlee10/T3Q-LLM-MG-DPO-v1.0": "https://huggingface.co/chihoonlee10/T3Q-LLM-MG-DPO-v1.0",
+ "vicgalle/Configurable-Hermes-2-Pro-Llama-3-8B": "https://huggingface.co/vicgalle/Configurable-Hermes-2-Pro-Llama-3-8B",
+ "RLHFlow/LLaMA3-iterative-DPO-final": "https://huggingface.co/RLHFlow/LLaMA3-iterative-DPO-final",
+ "SEOKDONG/llama3.1_korean_v0.1_sft_by_aidx": "https://huggingface.co/SEOKDONG/llama3.1_korean_v0.1_sft_by_aidx",
+ "spow12/Ko-Qwen2-7B-Instruct": "https://huggingface.co/spow12/Ko-Qwen2-7B-Instruct",
+ "BAAI/Infinity-Instruct-3M-0625-Qwen2-7B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0625-Qwen2-7B",
+ "lightblue/suzume-llama-3-8B-multilingual-orpo-borda-half": "https://huggingface.co/lightblue/suzume-llama-3-8B-multilingual-orpo-borda-half",
+ "T3Q-LLM/T3Q-LLM1-CV-v2.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM1-CV-v2.0",
+ "migtissera/Trinity-2-Codestral-22B-v0.2": "https://huggingface.co/migtissera/Trinity-2-Codestral-22B-v0.2",
+ "sinjy1203/EEVE-Korean-Instruct-10.8B-v1.0-Grade-Retrieval": "https://huggingface.co/sinjy1203/EEVE-Korean-Instruct-10.8B-v1.0-Grade-Retrieval",
+ "MaziyarPanahi/Llama-3-8B-Instruct-v0.10": "https://huggingface.co/MaziyarPanahi/Llama-3-8B-Instruct-v0.10",
+ "MaziyarPanahi/Llama-3-8B-Instruct-v0.9": "https://huggingface.co/MaziyarPanahi/Llama-3-8B-Instruct-v0.9",
+ "zhengr/MixTAO-7Bx2-MoE-v8.1": "https://huggingface.co/zhengr/MixTAO-7Bx2-MoE-v8.1",
+ "TIGER-Lab/MAmmoTH2-8B-Plus": "https://huggingface.co/TIGER-Lab/MAmmoTH2-8B-Plus",
+ "OpenBuddy/openbuddy-qwen1.5-14b-v21.1-32k": "https://huggingface.co/OpenBuddy/openbuddy-qwen1.5-14b-v21.1-32k",
+ "haoranxu/Llama-3-Instruct-8B-CPO-SimPO": "https://huggingface.co/haoranxu/Llama-3-Instruct-8B-CPO-SimPO",
+ "Weyaxi/Einstein-v7-Qwen2-7B": "https://huggingface.co/Weyaxi/Einstein-v7-Qwen2-7B",
+ "DKYoon/kosolar-hermes-test": "https://huggingface.co/DKYoon/kosolar-hermes-test",
+ "vilm/Quyen-Pro-v0.1": "https://huggingface.co/vilm/Quyen-Pro-v0.1",
+ "chihoonlee10/T3Q-LLM-MG-v1.0": "https://huggingface.co/chihoonlee10/T3Q-LLM-MG-v1.0",
+ "lightblue/suzume-llama-3-8B-multilingual-orpo-borda-top25": "https://huggingface.co/lightblue/suzume-llama-3-8B-multilingual-orpo-borda-top25",
+ "ai-human-lab/EEVE-Korean-10.8B-RAFT": "https://huggingface.co/ai-human-lab/EEVE-Korean-10.8B-RAFT",
+ "princeton-nlp/Llama-3-Base-8B-SFT-RDPO": "https://huggingface.co/princeton-nlp/Llama-3-Base-8B-SFT-RDPO",
+ "MaziyarPanahi/Llama-3-8B-Instruct-v0.8": "https://huggingface.co/MaziyarPanahi/Llama-3-8B-Instruct-v0.8",
+ "chihoonlee10/T3Q-ko-solar-dpo-v7.0": "https://huggingface.co/chihoonlee10/T3Q-ko-solar-dpo-v7.0",
+ "jondurbin/bagel-8b-v1.0": "https://huggingface.co/jondurbin/bagel-8b-v1.0",
+ "DeepMount00/Llama-3-8b-Ita": "https://huggingface.co/DeepMount00/Llama-3-8b-Ita",
+ "VAGOsolutions/Llama-3-SauerkrautLM-8b-Instruct": "https://huggingface.co/VAGOsolutions/Llama-3-SauerkrautLM-8b-Instruct",
+ "princeton-nlp/Llama-3-Instruct-8B-ORPO-v0.2": "https://huggingface.co/princeton-nlp/Llama-3-Instruct-8B-ORPO-v0.2",
+ "AIDX-ktds/ktdsbaseLM-v0.11-based-on-openchat3.5": "https://huggingface.co/AIDX-ktds/ktdsbaseLM-v0.11-based-on-openchat3.5",
+ "princeton-nlp/Llama-3-Base-8B-SFT-KTO": "https://huggingface.co/princeton-nlp/Llama-3-Base-8B-SFT-KTO",
+ "maywell/Mini_Synatra_SFT": "https://huggingface.co/maywell/Mini_Synatra_SFT",
+ "princeton-nlp/Llama-3-Base-8B-SFT-ORPO": "https://huggingface.co/princeton-nlp/Llama-3-Base-8B-SFT-ORPO",
+ "princeton-nlp/Llama-3-Instruct-8B-CPO-v0.2": "https://huggingface.co/princeton-nlp/Llama-3-Instruct-8B-CPO-v0.2",
+ "spow12/Qwen2-7B-ko-Instruct-orpo-ver_2.0_wo_chat": "https://huggingface.co/spow12/Qwen2-7B-ko-Instruct-orpo-ver_2.0_wo_chat",
+ "princeton-nlp/Llama-3-Base-8B-SFT-DPO": "https://huggingface.co/princeton-nlp/Llama-3-Base-8B-SFT-DPO",
+ "princeton-nlp/Llama-3-Instruct-8B-ORPO": "https://huggingface.co/princeton-nlp/Llama-3-Instruct-8B-ORPO",
+ "lcw99/llama-3-10b-it-kor-extented-chang": "https://huggingface.co/lcw99/llama-3-10b-it-kor-extented-chang",
+ "migtissera/Llama-3-8B-Synthia-v3.5": "https://huggingface.co/migtissera/Llama-3-8B-Synthia-v3.5",
+ "megastudyedu/M-SOLAR-10.7B-v1.4-dpo": "https://huggingface.co/megastudyedu/M-SOLAR-10.7B-v1.4-dpo",
+ "T3Q-LLM/T3Q-LLM-solar10.8-sft-v1.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM-solar10.8-sft-v1.0",
+ "maywell/Synatra-10.7B-v0.4": "https://huggingface.co/maywell/Synatra-10.7B-v0.4",
+ "nlpai-lab/KULLM3": "https://huggingface.co/nlpai-lab/KULLM3",
+ "abacusai/Llama-3-Smaug-8B": "https://huggingface.co/abacusai/Llama-3-Smaug-8B",
+ "gwonny/nox-solar-10.7b-v4-kolon-ITD-5-v2.1": "https://huggingface.co/gwonny/nox-solar-10.7b-v4-kolon-ITD-5-v2.1",
+ "BAAI/Infinity-Instruct-3M-0625-Mistral-7B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0625-Mistral-7B",
+ "openchat/openchat_3.5": "https://huggingface.co/openchat/openchat_3.5",
+ "T3Q-LLM/T3Q-LLM1-v2.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM1-v2.0",
+ "T3Q-LLM/T3Q-LLM1-CV-v1.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM1-CV-v1.0",
+ "ONS-AI-RESEARCH/ONS-SOLAR-10.7B-v1.1": "https://huggingface.co/ONS-AI-RESEARCH/ONS-SOLAR-10.7B-v1.1",
+ "macadeliccc/Samantha-Qwen-2-7B": "https://huggingface.co/macadeliccc/Samantha-Qwen-2-7B",
+ "openchat/openchat-3.5-0106": "https://huggingface.co/openchat/openchat-3.5-0106",
+ "NousResearch/Nous-Hermes-2-SOLAR-10.7B": "https://huggingface.co/NousResearch/Nous-Hermes-2-SOLAR-10.7B",
+ "UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter1": "https://huggingface.co/UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter1",
+ "MTSAIR/multi_verse_model": "https://huggingface.co/MTSAIR/multi_verse_model",
+ "gwonny/nox-solar-10.7b-v4-kolon-ITD-5-v2.0": "https://huggingface.co/gwonny/nox-solar-10.7b-v4-kolon-ITD-5-v2.0",
+ "VIRNECT/llama-3-Korean-8B": "https://huggingface.co/VIRNECT/llama-3-Korean-8B",
+ "ENERGY-DRINK-LOVE/SOLAR_merge_DPOv3": "https://huggingface.co/ENERGY-DRINK-LOVE/SOLAR_merge_DPOv3",
+ "SeaLLMs/SeaLLMs-v3-7B-Chat": "https://huggingface.co/SeaLLMs/SeaLLMs-v3-7B-Chat",
+ "VIRNECT/llama-3-Korean-8B-V2": "https://huggingface.co/VIRNECT/llama-3-Korean-8B-V2",
+ "MLP-KTLim/llama-3-Korean-Bllossom-8B": "https://huggingface.co/MLP-KTLim/llama-3-Korean-Bllossom-8B",
+ "Magpie-Align/Llama-3-8B-Magpie-Align-v0.3": "https://huggingface.co/Magpie-Align/Llama-3-8B-Magpie-Align-v0.3",
+ "cognitivecomputations/Llama-3-8B-Instruct-abliterated-v2": "https://huggingface.co/cognitivecomputations/Llama-3-8B-Instruct-abliterated-v2",
+ "SkyOrbis/SKY-Ko-Llama3-8B-lora": "https://huggingface.co/SkyOrbis/SKY-Ko-Llama3-8B-lora",
+ "4yo1/llama3-eng-ko-8b-sl5": "https://huggingface.co/4yo1/llama3-eng-ko-8b-sl5",
+ "kimwooglae/WebSquareAI-Instruct-llama-3-8B-v0.5.39": "https://huggingface.co/kimwooglae/WebSquareAI-Instruct-llama-3-8B-v0.5.39",
+ "ONS-AI-RESEARCH/ONS-SOLAR-10.7B-v1.2": "https://huggingface.co/ONS-AI-RESEARCH/ONS-SOLAR-10.7B-v1.2",
+ "lcw99/llama-3-10b-it-kor-extented-chang-pro8": "https://huggingface.co/lcw99/llama-3-10b-it-kor-extented-chang-pro8",
+ "BAAI/Infinity-Instruct-3M-0625-Yi-1.5-9B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0625-Yi-1.5-9B",
+ "migtissera/Tess-2.0-Llama-3-8B": "https://huggingface.co/migtissera/Tess-2.0-Llama-3-8B",
+ "BAAI/Infinity-Instruct-3M-0613-Mistral-7B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0613-Mistral-7B",
+ "yeonwoo780/cydinfo-llama3-8b-lora-v01": "https://huggingface.co/yeonwoo780/cydinfo-llama3-8b-lora-v01",
+ "vicgalle/ConfigurableSOLAR-10.7B": "https://huggingface.co/vicgalle/ConfigurableSOLAR-10.7B",
+ "chihoonlee10/T3Q-ko-solar-jo-v1.0": "https://huggingface.co/chihoonlee10/T3Q-ko-solar-jo-v1.0",
+ "Kukedlc/NeuralLLaMa-3-8b-ORPO-v0.4": "https://huggingface.co/Kukedlc/NeuralLLaMa-3-8b-ORPO-v0.4",
+ "Edentns/DataVortexS-10.7B-dpo-v1.0": "https://huggingface.co/Edentns/DataVortexS-10.7B-dpo-v1.0",
+ "SJ-Donald/SJ-SOLAR-10.7b-DPO": "https://huggingface.co/SJ-Donald/SJ-SOLAR-10.7b-DPO",
+ "lemon-mint/gemma-ko-7b-it-v0.40": "https://huggingface.co/lemon-mint/gemma-ko-7b-it-v0.40",
+ "GyuHyeonWkdWkdMan/naps-llama-3.1-8b-instruct-v0.3": "https://huggingface.co/GyuHyeonWkdWkdMan/naps-llama-3.1-8b-instruct-v0.3",
+ "hyeogi/SOLAR-10.7B-v1.5": "https://huggingface.co/hyeogi/SOLAR-10.7B-v1.5",
+ "etri-xainlp/llama3-8b-dpo_v1": "https://huggingface.co/etri-xainlp/llama3-8b-dpo_v1",
+ "LDCC/LDCC-SOLAR-10.7B": "https://huggingface.co/LDCC/LDCC-SOLAR-10.7B",
+ "chlee10/T3Q-Llama3-8B-Inst-sft1.0": "https://huggingface.co/chlee10/T3Q-Llama3-8B-Inst-sft1.0",
+ "lemon-mint/gemma-ko-7b-it-v0.41": "https://huggingface.co/lemon-mint/gemma-ko-7b-it-v0.41",
+ "chlee10/T3Q-Llama3-8B-sft1.0-dpo1.0": "https://huggingface.co/chlee10/T3Q-Llama3-8B-sft1.0-dpo1.0",
+ "maywell/Synatra-7B-Instruct-v0.3-pre": "https://huggingface.co/maywell/Synatra-7B-Instruct-v0.3-pre",
+ "UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter2": "https://huggingface.co/UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter2",
+ "hwkwon/S-SOLAR-10.7B-v1.4": "https://huggingface.co/hwkwon/S-SOLAR-10.7B-v1.4",
+ "12thD/ko-Llama-3-8B-sft-v0.3": "https://huggingface.co/12thD/ko-Llama-3-8B-sft-v0.3",
+ "hkss/hk-SOLAR-10.7B-v1.4": "https://huggingface.co/hkss/hk-SOLAR-10.7B-v1.4",
+ "lookuss/test-llilu": "https://huggingface.co/lookuss/test-llilu",
+ "chihoonlee10/T3Q-ko-solar-dpo-v3.0": "https://huggingface.co/chihoonlee10/T3Q-ko-solar-dpo-v3.0",
+ "chihoonlee10/T3Q-ko-solar-dpo-v1.0": "https://huggingface.co/chihoonlee10/T3Q-ko-solar-dpo-v1.0",
+ "lcw99/llama-3-10b-wiki-240709-f": "https://huggingface.co/lcw99/llama-3-10b-wiki-240709-f",
+ "Edentns/DataVortexS-10.7B-v0.4": "https://huggingface.co/Edentns/DataVortexS-10.7B-v0.4",
+ "princeton-nlp/Llama-3-Instruct-8B-KTO": "https://huggingface.co/princeton-nlp/Llama-3-Instruct-8B-KTO",
+ "spow12/kosolar_4.1_sft": "https://huggingface.co/spow12/kosolar_4.1_sft",
+ "natong19/Qwen2-7B-Instruct-abliterated": "https://huggingface.co/natong19/Qwen2-7B-Instruct-abliterated",
+ "megastudyedu/ME-dpo-7B-v1.1": "https://huggingface.co/megastudyedu/ME-dpo-7B-v1.1",
+ "01-ai/Yi-1.5-9B-Chat-16K": "https://huggingface.co/01-ai/Yi-1.5-9B-Chat-16K",
+ "Edentns/DataVortexS-10.7B-dpo-v0.1": "https://huggingface.co/Edentns/DataVortexS-10.7B-dpo-v0.1",
+ "Alphacode-AI/AlphaMist7B-slr-v4-slow": "https://huggingface.co/Alphacode-AI/AlphaMist7B-slr-v4-slow",
+ "chihoonlee10/T3Q-ko-solar-sft-dpo-v1.0": "https://huggingface.co/chihoonlee10/T3Q-ko-solar-sft-dpo-v1.0",
+ "hwkwon/S-SOLAR-10.7B-v1.1": "https://huggingface.co/hwkwon/S-SOLAR-10.7B-v1.1",
+ "DopeorNope/Dear_My_best_Friends-13B": "https://huggingface.co/DopeorNope/Dear_My_best_Friends-13B",
+ "GyuHyeonWkdWkdMan/NAPS-llama-3.1-8b-instruct-v0.3.2": "https://huggingface.co/GyuHyeonWkdWkdMan/NAPS-llama-3.1-8b-instruct-v0.3.2",
+ "PathFinderKR/Waktaverse-Llama-3-KO-8B-Instruct": "https://huggingface.co/PathFinderKR/Waktaverse-Llama-3-KO-8B-Instruct",
+ "vicgalle/ConfigurableHermes-7B": "https://huggingface.co/vicgalle/ConfigurableHermes-7B",
+ "maywell/PiVoT-10.7B-Mistral-v0.2": "https://huggingface.co/maywell/PiVoT-10.7B-Mistral-v0.2",
+ "failspy/Meta-Llama-3-8B-Instruct-abliterated-v3": "https://huggingface.co/failspy/Meta-Llama-3-8B-Instruct-abliterated-v3",
+ "lemon-mint/gemma-ko-7b-instruct-v0.50": "https://huggingface.co/lemon-mint/gemma-ko-7b-instruct-v0.50",
+ "ENERGY-DRINK-LOVE/leaderboard_inst_v1.3_Open-Hermes_LDCC-SOLAR-10.7B_SFT": "https://huggingface.co/ENERGY-DRINK-LOVE/leaderboard_inst_v1.3_Open-Hermes_LDCC-SOLAR-10.7B_SFT",
+ "maywell/PiVoT-0.1-early": "https://huggingface.co/maywell/PiVoT-0.1-early",
+ "hwkwon/S-SOLAR-10.7B-v1.3": "https://huggingface.co/hwkwon/S-SOLAR-10.7B-v1.3",
+ "werty1248/Llama-3-Ko-8B-Instruct-AOG": "https://huggingface.co/werty1248/Llama-3-Ko-8B-Instruct-AOG",
+ "Alphacode-AI/AlphaMist7B-slr-v2": "https://huggingface.co/Alphacode-AI/AlphaMist7B-slr-v2",
+ "maywell/koOpenChat-sft": "https://huggingface.co/maywell/koOpenChat-sft",
+ "lemon-mint/gemma-7b-openhermes-v0.80": "https://huggingface.co/lemon-mint/gemma-7b-openhermes-v0.80",
+ "VIRNECT/llama-3-Korean-8B-r-v1": "https://huggingface.co/VIRNECT/llama-3-Korean-8B-r-v1",
+ "Alphacode-AI/AlphaMist7B-slr-v1": "https://huggingface.co/Alphacode-AI/AlphaMist7B-slr-v1",
+ "Loyola/Mistral-7b-ITmodel": "https://huggingface.co/Loyola/Mistral-7b-ITmodel",
+ "VIRNECT/llama-3-Korean-8B-r-v2": "https://huggingface.co/VIRNECT/llama-3-Korean-8B-r-v2",
+ "NLPark/AnFeng_v3.1-Avocet": "https://huggingface.co/NLPark/AnFeng_v3.1-Avocet",
+ "maywell/Synatra_TbST11B_EP01": "https://huggingface.co/maywell/Synatra_TbST11B_EP01",
+ "GritLM/GritLM-7B-KTO": "https://huggingface.co/GritLM/GritLM-7B-KTO",
+ "01-ai/Yi-34B-Chat": "https://huggingface.co/01-ai/Yi-34B-Chat",
+ "ValiantLabs/Llama3.1-8B-ShiningValiant2": "https://huggingface.co/ValiantLabs/Llama3.1-8B-ShiningValiant2",
+ "princeton-nlp/Llama-3-Base-8B-SFT-CPO": "https://huggingface.co/princeton-nlp/Llama-3-Base-8B-SFT-CPO",
+ "hyokwan/hkcode_llama3_8b": "https://huggingface.co/hyokwan/hkcode_llama3_8b",
+ "UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3": "https://huggingface.co/UCLA-AGI/Llama-3-Instruct-8B-SPPO-Iter3",
+ "yuntaeyang/SOLAR-10.7B-Instructlora_sftt-v1.0": "https://huggingface.co/yuntaeyang/SOLAR-10.7B-Instructlora_sftt-v1.0",
+ "juungwon/Llama-3-cs-LoRA": "https://huggingface.co/juungwon/Llama-3-cs-LoRA",
+ "gangyeolkim/llama-3-chat": "https://huggingface.co/gangyeolkim/llama-3-chat",
+ "mncai/llama2-13b-dpo-v3": "https://huggingface.co/mncai/llama2-13b-dpo-v3",
+ "maywell/Synatra-Zephyr-7B-v0.01": "https://huggingface.co/maywell/Synatra-Zephyr-7B-v0.01",
+ "ENERGY-DRINK-LOVE/leaderboard_inst_v1.3_deup_LDCC-SOLAR-10.7B_SFT": "https://huggingface.co/ENERGY-DRINK-LOVE/leaderboard_inst_v1.3_deup_LDCC-SOLAR-10.7B_SFT",
+ "juungwon/Llama-3-constructionsafety-LoRA": "https://huggingface.co/juungwon/Llama-3-constructionsafety-LoRA",
+ "princeton-nlp/Mistral-7B-Base-SFT-SimPO": "https://huggingface.co/princeton-nlp/Mistral-7B-Base-SFT-SimPO",
+ "moondriller/solar10B-eugeneparkthebestv2": "https://huggingface.co/moondriller/solar10B-eugeneparkthebestv2",
+ "chlee10/T3Q-LLM3-Llama3-sft1.0-dpo1.0": "https://huggingface.co/chlee10/T3Q-LLM3-Llama3-sft1.0-dpo1.0",
+ "Edentns/DataVortexS-10.7B-dpo-v1.7": "https://huggingface.co/Edentns/DataVortexS-10.7B-dpo-v1.7",
+ "gamzadole/llama3_instruct_tuning_without_pretraing": "https://huggingface.co/gamzadole/llama3_instruct_tuning_without_pretraing",
+ "saltlux/Ko-Llama3-Luxia-8B": "https://huggingface.co/saltlux/Ko-Llama3-Luxia-8B",
+ "kimdeokgi/ko-pt-model-test1": "https://huggingface.co/kimdeokgi/ko-pt-model-test1",
+ "maywell/Synatra-11B-Testbench-2": "https://huggingface.co/maywell/Synatra-11B-Testbench-2",
+ "Danielbrdz/Barcenas-14b-Phi-3-medium-ORPO": "https://huggingface.co/Danielbrdz/Barcenas-14b-Phi-3-medium-ORPO",
+ "vicgalle/Configurable-Mistral-7B": "https://huggingface.co/vicgalle/Configurable-Mistral-7B",
+ "ENERGY-DRINK-LOVE/leaderboard_inst_v1.5_LDCC-SOLAR-10.7B_SFT": "https://huggingface.co/ENERGY-DRINK-LOVE/leaderboard_inst_v1.5_LDCC-SOLAR-10.7B_SFT",
+ "beomi/Llama-3-Open-Ko-8B-Instruct-preview": "https://huggingface.co/beomi/Llama-3-Open-Ko-8B-Instruct-preview",
+ "Edentns/DataVortexS-10.7B-dpo-v1.3": "https://huggingface.co/Edentns/DataVortexS-10.7B-dpo-v1.3",
+ "spow12/Llama3_ko_4.2_sft": "https://huggingface.co/spow12/Llama3_ko_4.2_sft",
+ "maywell/Llama-3-Ko-8B-Instruct": "https://huggingface.co/maywell/Llama-3-Ko-8B-Instruct",
+ "T3Q-LLM/T3Q-LLM3-NC-v1.0": "https://huggingface.co/T3Q-LLM/T3Q-LLM3-NC-v1.0",
+ "ehartford/dolphin-2.2.1-mistral-7b": "https://huggingface.co/ehartford/dolphin-2.2.1-mistral-7b",
+ "hwkwon/S-SOLAR-10.7B-SFT-v1.3": "https://huggingface.co/hwkwon/S-SOLAR-10.7B-SFT-v1.3",
+ "sel303/llama3-instruct-diverce-v2.0": "https://huggingface.co/sel303/llama3-instruct-diverce-v2.0",
+ "4yo1/llama3-eng-ko-8b-sl3": "https://huggingface.co/4yo1/llama3-eng-ko-8b-sl3",
+ "hkss/hk-SOLAR-10.7B-v1.1": "https://huggingface.co/hkss/hk-SOLAR-10.7B-v1.1",
+ "Open-Orca/Mistral-7B-OpenOrca": "https://huggingface.co/Open-Orca/Mistral-7B-OpenOrca",
+ "hyokwan/familidata": "https://huggingface.co/hyokwan/familidata",
+ "uukuguy/zephyr-7b-alpha-dare-0.85": "https://huggingface.co/uukuguy/zephyr-7b-alpha-dare-0.85",
+ "gwonny/nox-solar-10.7b-v4-kolon-all-5": "https://huggingface.co/gwonny/nox-solar-10.7b-v4-kolon-all-5",
+ "shleeeee/mistral-ko-tech-science-v1": "https://huggingface.co/shleeeee/mistral-ko-tech-science-v1",
+ "Deepnoid/deep-solar-eeve-KorSTS": "https://huggingface.co/Deepnoid/deep-solar-eeve-KorSTS",
+ "AIdenU/Mistral-7B-v0.2-ko-Y24_v1.0": "https://huggingface.co/AIdenU/Mistral-7B-v0.2-ko-Y24_v1.0",
+ "tlphams/gollm-tendency-45": "https://huggingface.co/tlphams/gollm-tendency-45",
+ "realPCH/ko_solra_merge": "https://huggingface.co/realPCH/ko_solra_merge",
+ "Cartinoe5930/original-KoRAE-13b": "https://huggingface.co/Cartinoe5930/original-KoRAE-13b",
+ "GAI-LLM/Yi-Ko-6B-dpo-v5": "https://huggingface.co/GAI-LLM/Yi-Ko-6B-dpo-v5",
+ "Minirecord/Mini_DPO_test02": "https://huggingface.co/Minirecord/Mini_DPO_test02",
+ "AIJUUD/juud-Mistral-7B-dpo": "https://huggingface.co/AIJUUD/juud-Mistral-7B-dpo",
+ "gwonny/nox-solar-10.7b-v4-kolon-all-10": "https://huggingface.co/gwonny/nox-solar-10.7b-v4-kolon-all-10",
+ "jieunhan/TEST_MODEL": "https://huggingface.co/jieunhan/TEST_MODEL",
+ "etri-xainlp/kor-llama2-13b-dpo": "https://huggingface.co/etri-xainlp/kor-llama2-13b-dpo",
+ "ifuseok/yi-ko-playtus-instruct-v0.2": "https://huggingface.co/ifuseok/yi-ko-playtus-instruct-v0.2",
+ "Cartinoe5930/original-KoRAE-13b-3ep": "https://huggingface.co/Cartinoe5930/original-KoRAE-13b-3ep",
+ "Trofish/KULLM-RLHF": "https://huggingface.co/Trofish/KULLM-RLHF",
+ "wkshin89/Yi-Ko-6B-Instruct-v1.0": "https://huggingface.co/wkshin89/Yi-Ko-6B-Instruct-v1.0",
+ "momo/polyglot-ko-12.8b-Chat-QLoRA-Merge": "https://huggingface.co/momo/polyglot-ko-12.8b-Chat-QLoRA-Merge",
+ "PracticeLLM/Custom-KoLLM-13B-v5": "https://huggingface.co/PracticeLLM/Custom-KoLLM-13B-v5",
+ "BAAI/Infinity-Instruct-3M-0625-Yi-1.5-9B": "https://huggingface.co/BAAI/Infinity-Instruct-3M-0625-Yi-1.5-9B",
+ "MRAIRR/minillama3_8b_all": "https://huggingface.co/MRAIRR/minillama3_8b_all",
+ "failspy/Phi-3-medium-4k-instruct-abliterated-v3": "https://huggingface.co/failspy/Phi-3-medium-4k-instruct-abliterated-v3",
+ "DILAB-HYU/koquality-polyglot-12.8b": "https://huggingface.co/DILAB-HYU/koquality-polyglot-12.8b",
+ "kyujinpy/Korean-OpenOrca-v3": "https://huggingface.co/kyujinpy/Korean-OpenOrca-v3",
+ "4yo1/llama3-eng-ko-8b": "https://huggingface.co/4yo1/llama3-eng-ko-8b",
+ "4yo1/llama3-eng-ko-8": "https://huggingface.co/4yo1/llama3-eng-ko-8",
+ "4yo1/llama3-eng-ko-8-llama": "https://huggingface.co/4yo1/llama3-eng-ko-8-llama",
+ "PracticeLLM/Custom-KoLLM-13B-v2": "https://huggingface.co/PracticeLLM/Custom-KoLLM-13B-v2",
+ "kyujinpy/KOR-Orca-Platypus-13B-v2": "https://huggingface.co/kyujinpy/KOR-Orca-Platypus-13B-v2",
+ "ghost-x/ghost-7b-alpha": "https://huggingface.co/ghost-x/ghost-7b-alpha",
+ "HumanF-MarkrAI/pub-llama-13B-v6": "https://huggingface.co/HumanF-MarkrAI/pub-llama-13B-v6",
+ "nlpai-lab/kullm-polyglot-5.8b-v2": "https://huggingface.co/nlpai-lab/kullm-polyglot-5.8b-v2",
+ "maywell/Synatra-42dot-1.3B": "https://huggingface.co/maywell/Synatra-42dot-1.3B",
+ "yhkim9362/gemma-en-ko-7b-v0.1": "https://huggingface.co/yhkim9362/gemma-en-ko-7b-v0.1",
+ "yhkim9362/gemma-en-ko-7b-v0.2": "https://huggingface.co/yhkim9362/gemma-en-ko-7b-v0.2",
+ "daekeun-ml/Llama-2-ko-OpenOrca-gugugo-13B": "https://huggingface.co/daekeun-ml/Llama-2-ko-OpenOrca-gugugo-13B",
+ "beomi/Yi-Ko-6B": "https://huggingface.co/beomi/Yi-Ko-6B",
+ "jojo0217/ChatSKKU5.8B": "https://huggingface.co/jojo0217/ChatSKKU5.8B",
+ "Deepnoid/deep-solar-v2.0.7": "https://huggingface.co/Deepnoid/deep-solar-v2.0.7",
+ "01-ai/Yi-1.5-9B": "https://huggingface.co/01-ai/Yi-1.5-9B",
+ "PracticeLLM/Custom-KoLLM-13B-v4": "https://huggingface.co/PracticeLLM/Custom-KoLLM-13B-v4",
+ "nuebaek/komt_mistral_mss_user_0_max_steps_80": "https://huggingface.co/nuebaek/komt_mistral_mss_user_0_max_steps_80",
+ "dltjdgh0928/lsh_finetune_v0.11": "https://huggingface.co/dltjdgh0928/lsh_finetune_v0.11",
+ "shleeeee/mistral-7b-wiki": "https://huggingface.co/shleeeee/mistral-7b-wiki",
+ "nayohan/polyglot-ko-5.8b-Inst": "https://huggingface.co/nayohan/polyglot-ko-5.8b-Inst",
+ "ifuseok/sft-solar-10.7b-v1.1": "https://huggingface.co/ifuseok/sft-solar-10.7b-v1.1",
+ "Junmai/KIT-5.8b": "https://huggingface.co/Junmai/KIT-5.8b",
+ "heegyu/polyglot-ko-3.8b-chat": "https://huggingface.co/heegyu/polyglot-ko-3.8b-chat",
+ "etri-xainlp/polyglot-ko-12.8b-instruct": "https://huggingface.co/etri-xainlp/polyglot-ko-12.8b-instruct",
+ "OpenBuddy/openbuddy-mistral2-7b-v20.3-32k": "https://huggingface.co/OpenBuddy/openbuddy-mistral2-7b-v20.3-32k",
+ "sh2orc/Llama-3-Korean-8B": "https://huggingface.co/sh2orc/Llama-3-Korean-8B",
+ "Deepnoid/deep-solar-eeve-v2.0.0": "https://huggingface.co/Deepnoid/deep-solar-eeve-v2.0.0",
+ "Herry443/Mistral-7B-KNUT-ref": "https://huggingface.co/Herry443/Mistral-7B-KNUT-ref",
+ "heegyu/polyglot-ko-5.8b-chat": "https://huggingface.co/heegyu/polyglot-ko-5.8b-chat",
+ "jungyuko/DAVinCI-42dot_LLM-PLM-1.3B-v1.5.3": "https://huggingface.co/jungyuko/DAVinCI-42dot_LLM-PLM-1.3B-v1.5.3",
+ "DILAB-HYU/KoQuality-Polyglot-5.8b": "https://huggingface.co/DILAB-HYU/KoQuality-Polyglot-5.8b",
+ "Byungchae/k2s3_test_0000": "https://huggingface.co/Byungchae/k2s3_test_0000",
+ "migtissera/Tess-v2.5-Phi-3-medium-128k-14B": "https://huggingface.co/migtissera/Tess-v2.5-Phi-3-medium-128k-14B",
+ "kyujinpy/Korean-OpenOrca-13B": "https://huggingface.co/kyujinpy/Korean-OpenOrca-13B",
+ "kyujinpy/KO-Platypus2-13B": "https://huggingface.co/kyujinpy/KO-Platypus2-13B",
+ "jin05102518/Astral-7B-Instruct-v0.01": "https://huggingface.co/jin05102518/Astral-7B-Instruct-v0.01",
+ "Byungchae/k2s3_test_0002": "https://huggingface.co/Byungchae/k2s3_test_0002",
+ "NousResearch/Nous-Hermes-llama-2-7b": "https://huggingface.co/NousResearch/Nous-Hermes-llama-2-7b",
+ "kaist-ai/prometheus-13b-v1.0": "https://huggingface.co/kaist-ai/prometheus-13b-v1.0",
+ "sel303/llama3-diverce-ver1.0": "https://huggingface.co/sel303/llama3-diverce-ver1.0",
+ "NousResearch/Nous-Capybara-7B": "https://huggingface.co/NousResearch/Nous-Capybara-7B",
+ "rrw-x2/KoSOLAR-10.7B-DPO-v1.0": "https://huggingface.co/rrw-x2/KoSOLAR-10.7B-DPO-v1.0",
+ "Edentns/DataVortexS-10.7B-v0.2": "https://huggingface.co/Edentns/DataVortexS-10.7B-v0.2",
+ "Jsoo/Llama3-beomi-Open-Ko-8B-Instruct-preview-test6": "https://huggingface.co/Jsoo/Llama3-beomi-Open-Ko-8B-Instruct-preview-test6",
+ "tlphams/gollm-instruct-all-in-one-v1": "https://huggingface.co/tlphams/gollm-instruct-all-in-one-v1",
+ "Edentns/DataVortexTL-1.1B-v0.1": "https://huggingface.co/Edentns/DataVortexTL-1.1B-v0.1",
+ "richard-park/llama3-pre1-ds": "https://huggingface.co/richard-park/llama3-pre1-ds",
+ "ehartford/samantha-1.1-llama-33b": "https://huggingface.co/ehartford/samantha-1.1-llama-33b",
+ "heegyu/LIMA-13b-hf": "https://huggingface.co/heegyu/LIMA-13b-hf",
+ "heegyu/42dot_LLM-PLM-1.3B-mt": "https://huggingface.co/heegyu/42dot_LLM-PLM-1.3B-mt",
+ "shleeeee/mistral-ko-7b-wiki-neft": "https://huggingface.co/shleeeee/mistral-ko-7b-wiki-neft",
+ "EleutherAI/polyglot-ko-1.3b": "https://huggingface.co/EleutherAI/polyglot-ko-1.3b",
+ "kyujinpy/Ko-PlatYi-6B-gu": "https://huggingface.co/kyujinpy/Ko-PlatYi-6B-gu",
+ "sel303/llama3-diverce-ver1.6": "https://huggingface.co/sel303/llama3-diverce-ver1.6"
+}
+
+
+def get_korea_models():
+ """Korea 관련 모델 검색"""
+ params = {
+ "search": "korea",
+ "full": "True",
+ "config": "True",
+ "limit": 1000
+ }
+
+ try:
+ response = requests.get(
+ "https://huggingface.co/api/models",
+ headers={'Accept': 'application/json'},
+ params=params
+ )
+
+ if response.status_code == 200:
+ return response.json()
+ else:
+ print(f"Failed to fetch Korea models: {response.status_code}")
+ return []
+ except Exception as e:
+ print(f"Error fetching Korea models: {str(e)}")
+ return []
+
+def get_all_models(limit=3000):
+ """모든 모델과 Korea 관련 모델 가져오기"""
+ all_models = []
+ page_size = 1000 # API의 한 번 요청당 최대 크기
+
+ for offset in range(0, limit, page_size):
+ params = {
+ 'limit': min(page_size, limit - offset),
+ 'full': 'True',
+ 'config': 'True',
+ 'offset': offset
+ }
+
+ response = requests.get(
+ "https://huggingface.co/api/models",
+ headers={'Accept': 'application/json'},
+ params=params
+ )
+
+ if response.status_code == 200:
+ all_models.extend(response.json())
+ print(f"Fetched models {offset+1} to {offset+len(response.json())}")
+ else:
+ print(f"Failed to fetch models at offset {offset}: {response.status_code}")
+ break
+
+ korea_params = {
+ "search": "korea",
+ "full": "True",
+ "config": "True",
+ "limit": limit
+ }
+
+ korea_response = requests.get(
+ "https://huggingface.co/api/models",
+ headers={'Accept': 'application/json'},
+ params=korea_params
+ )
+
+ if korea_response.status_code == 200:
+ korea_models = korea_response.json()
+ print(f"Fetched {len(korea_models)} Korea-related models")
+
+ existing_ids = {model.get('id', '') for model in all_models}
+ for model in korea_models:
+ if model.get('id', '') not in existing_ids:
+ all_models.append(model)
+ existing_ids.add(model.get('id', ''))
+ else:
+ print(f"Failed to fetch Korea models: {korea_response.status_code}")
+
+ print(f"Total unique models: {len(all_models)}")
+ return all_models[:limit]
+
+async def fetch_model_data(session, model_id):
+ url = f"https://huggingface.co/api/models/{model_id.strip('/')}"
+ try:
+ async with session.get(url, headers={'Accept': 'application/json'}) as response:
+ if response.status == 200:
+ return await response.json()
+ else:
+ print(f"Failed to fetch {model_id}: {response.status}")
+ return None
+ except Exception as e:
+ print(f"Error fetching {model_id}: {e}")
+ return None
+
+async def fetch_all_target_models(model_ids):
+ async with aiohttp.ClientSession() as session:
+ tasks = [fetch_model_data(session, model_id) for model_id in model_ids]
+ results = await asyncio.gather(*tasks)
+ return results
+
+def get_models_data(progress=gr.Progress()):
+ def calculate_rank(model_id, all_global_models, korea_models):
+ global_rank = next((idx for idx, m in enumerate(all_global_models, 1)
+ if m.get('id', '').strip() == model_id.strip()), None)
+
+ is_korea = any(m.get('id', '').strip() == model_id.strip() for m in korea_models)
+
+ if is_korea:
+ korea_rank = next((idx for idx, m in enumerate(korea_models, 1)
+ if m.get('id', '').strip() == model_id.strip()), None)
+
+ if korea_rank:
+ return min(global_rank or 3001, korea_rank + 1000), True
+
+ return global_rank if global_rank else 'Not in top 3000', is_korea
+
+ try:
+ progress(0, desc="Fetching models...")
+
+ if not HF_TOKEN:
+ fig = create_error_plot()
+ error_html = """
+
+
⚠️ API 인증이 필요합니다
+
HuggingFace API 토큰이 설정되지 않았습니다. 완전한 기능을 사용하기 위해서는 API 토큰이 필요합니다.
+
+ """
+ empty_df = pd.DataFrame(columns=['Global Rank', 'Model ID', 'Title', 'Downloads', 'Likes', 'Korea Search', 'URL'])
+ return fig, error_html, empty_df
+
+ # 전체 모델(상위 3000) + Korea 검색 모델 목록
+ all_global_models = get_all_models(limit=3000)
+ korea_models = get_korea_models()
+
+ print(f"Total global models fetched: {len(all_global_models)}")
+ print(f"Total Korea models fetched: {len(korea_models)}")
+
+ all_models = all_global_models.copy()
+ existing_ids = {model.get('id', '') for model in all_global_models}
+
+ added_korea_models = 0
+ for korea_model in korea_models:
+ if korea_model.get('id', '') not in existing_ids:
+ all_models.append(korea_model)
+ existing_ids.add(korea_model.get('id', ''))
+ added_korea_models += 1
+
+ print(f"Added {added_korea_models} unique Korea models")
+ print(f"Total combined models: {len(all_models)}")
+
+ fig = go.Figure()
+
+ # ---------------------------
+ # 1) 기존 target_models + 2) openfree/ 계정에 해당하는 모델 ID 모두 포함
+ # ---------------------------
+ target_model_ids = set(target_models.keys())
+
+ # 전체 목록 중 'openfree/' 로 시작하는 모델도 추출해서 포함
+ extra_accounts = ["keeperballon/", "openfree/", "vidraft/", "ginigen/", "heartsync/", "seawolf2357/", "aiqcamp/", "aiqtech/", "fantaxy/", "fantos/", "immunobiotech/", "yokoha/", "cutechicken/", "kolaslab/","kolaslab/", "gunship999/" ]
+ extra_model_ids = {
+ m['id'] for m in all_global_models
+ if isinstance(m.get('id'), str)
+ and any(m['id'].startswith(prefix) for prefix in extra_accounts)
+ }
+ # 최종적으로 rank 계산할 대상
+ final_model_ids = target_model_ids.union(extra_model_ids)
+
+
+
+ # 해당 모델들의 상세정보 비동기 호출
+ model_results = asyncio.run(fetch_all_target_models(final_model_ids))
+
+ filtered_models = []
+ for model_id, model_data in zip(final_model_ids, model_results):
+ if model_data is not None:
+ rank, is_korea = calculate_rank(model_id, all_global_models, korea_models)
+ filtered_models.append({
+ 'id': model_id,
+ 'global_rank': rank,
+ 'downloads': model_data.get('downloads', 0),
+ 'likes': model_data.get('likes', 0),
+ 'title': model_data.get('title', 'No Title'),
+ 'is_korea': is_korea
+ })
+ # print(f"Model {model_id}: Rank={rank}, Is Korea={is_korea}")
+ else:
+ filtered_models.append({
+ 'id': model_id,
+ 'global_rank': 'Not in top 3000',
+ 'downloads': 0,
+ 'likes': 0,
+ 'title': 'No Title',
+ 'is_korea': False
+ })
+
+ # rank 기준 정렬
+ def rank_value(x):
+ if isinstance(x['global_rank'], str):
+ return float('inf')
+ return x['global_rank']
+
+ filtered_models.sort(key=rank_value)
+
+ valid_models = [m for m in filtered_models if isinstance(m['global_rank'], (int, float))]
+
+ if valid_models:
+ ids = [m['id'] for m in valid_models]
+ ranks = [m['global_rank'] for m in valid_models]
+
+ fig.add_trace(go.Bar(
+ x=ids,
+ y=[3001 - r for r in ranks],
+ text=[f"Rank: #{r}
Downloads: {format(m['downloads'], ',')}
Likes: {format(m['likes'], ',')}"
+ for r, m in zip(ranks, valid_models)],
+ textposition='auto',
+ marker_color=['rgba(255,0,0,0.6)' if m['is_korea'] else 'rgba(0,0,255,0.6)'
+ for m in valid_models],
+ opacity=0.8
+ ))
+
+ fig.update_layout(
+ title="HuggingFace Models Global Rankings (Up to #3000)",
+ xaxis_title="Model ID",
+ yaxis_title="Global Rank",
+ yaxis=dict(
+ ticktext=[f"#{i}" for i in range(1, 3001, 100)],
+ tickvals=[3001 - i for i in range(1, 3001, 100)],
+ range=[0, 3000]
+ ),
+ height=800,
+ showlegend=False,
+ template='plotly_white',
+ xaxis_tickangle=-45
+ )
+
+ html_content = """
+
+
Models Rankings (Up to #3000)
+
+ """
+
+ for model in filtered_models:
+ rank_display = f"Global Rank #{model['global_rank']}" if isinstance(model['global_rank'], (int, float)) else "Not in top 3000"
+ korea_badge = "🇰🇷 Korea Search Result" if model['is_korea'] else ""
+ # target_models 딕셔너리에 없을 수 있으므로 get() 사용
+ model_url = target_models.get(model['id'], f"https://huggingface.co/{model['id']}")
+
+ html_content += f"""
+
+
{rank_display}
+
{model['id']}
+
{korea_badge}
+
⬇️ Downloads: {format(model['downloads'], ',')}
+
👍 Likes: {format(model['likes'], ',')}
+
+ Visit Model 🔗
+
+
+ """
+
+ html_content += "
"
+
+ df = pd.DataFrame([{
+ 'Global Rank': f"#{m['global_rank']}" if isinstance(m['global_rank'], (int, float)) else m['global_rank'],
+ 'Model ID': m['id'],
+ 'Title': m['title'],
+ 'Downloads': format(m['downloads'], ','),
+ 'Likes': format(m['likes'], ','),
+ 'Korea Search': '🇰🇷' if m['is_korea'] else '',
+ # 혹시 target_models 딕셔너리에 없을 경우 직접 HF URL
+ 'URL': target_models.get(m['id'], f"https://huggingface.co/{m['id']}")
+ } for m in filtered_models])
+
+ progress(1.0, desc="Complete!")
+ return fig, html_content, df
+
+ except Exception as e:
+ print(f"Error in get_models_data: {str(e)}")
+ error_fig = create_error_plot()
+ error_html = f"""
+
+
⚠️ 오류가 발생했습니다
+
{str(e)}
+
+ """
+ empty_df = pd.DataFrame(columns=['Global Rank', 'Model ID', 'Title', 'Downloads', 'Likes', 'Korea Search', 'URL'])
+ return error_fig, error_html, empty_df
+
+target_spaces = {
+
+ "ginigen/Flux-Kontext-Style": "https://huggingface.co/spaces/ginigen/Flux-Kontext-Style",
+ "cutechicken/3D-Airforce-Simulator": "https://huggingface.co/spaces/cutechicken/3D-Airforce-Simulator",
+ "ginipick/Private-AI": "https://huggingface.co/spaces/ginipick/Private-AI",
+ "openfree/Best-AI": "https://huggingface.co/spaces/openfree/Best-AI",
+ "aiqtech/Heatmap-Leaderboard": "https://huggingface.co/spaces/aiqtech/Heatmap-Leaderboard",
+ "VIDraft/DNA-CASINO": "https://huggingface.co/spaces/VIDraft/DNA-CASINO",
+ "ginigen/Seedance-Free": "https://huggingface.co/spaces/ginigen/Seedance-Free",
+ "openfree/K-AI": "https://huggingface.co/spaces/openfree/K-AI",
+ "aiqtech/SOMA-Oriental": "https://huggingface.co/spaces/aiqtech/SOMA-Oriental",
+ "ginigen/Flux-Kontext-FaceLORA": "https://huggingface.co/spaces/ginigen/Flux-Kontext-FaceLORA",
+ "VIDraft/SOMA-AGI": "https://huggingface.co/spaces/VIDraft/SOMA-AGI",
+ "openfree/AI": "https://huggingface.co/spaces/openfree/AI",
+ "Heartsync/VEO3-RealTime": "https://huggingface.co/spaces/Heartsync/VEO3-RealTime",
+ "openfree/MOUSE-Workflow": "https://huggingface.co/spaces/openfree/MOUSE-Workflow",
+ "fantaxy/YTB-TEST": "https://huggingface.co/spaces/fantaxy/YTB-TEST",
+ "openfree/Open-GAMMA": "https://huggingface.co/spaces/openfree/Open-GAMMA",
+ "ginigen/VEO3-Free-mirror": "https://huggingface.co/spaces/ginigen/VEO3-Free-mirror",
+ "ginigen/VEO3-Free": "https://huggingface.co/spaces/ginigen/VEO3-Free",
+ "ginigen/VEO3-Directorss": "https://huggingface.co/spaces/ginigen/VEO3-Directorss",
+ "Heartsync/WAN2-1-fast-T2V-FusioniX2": "https://huggingface.co/spaces/Heartsync/WAN2-1-fast-T2V-FusioniX2",
+ "Heartsync/WAN2-1-fast-T2V-FusioniX": "https://huggingface.co/spaces/Heartsync/WAN2-1-fast-T2V-FusioniX",
+ "VIDraft/voice-trans": "https://huggingface.co/spaces/VIDraft/voice-trans",
+ "VIDraft/Gemma-3-R1984-1B-0613": "https://huggingface.co/spaces/VIDraft/Gemma-3-R1984-1B-0613",
+ "VIDraft/Robo-Beam": "https://huggingface.co/spaces/VIDraft/Robo-Beam",
+ "Heartsync/NSFW-Uncensored-REAL": "https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-REAL",
+ "Heartsync/FREE-NSFW-HUB": "https://huggingface.co/spaces/Heartsync/FREE-NSFW-HUB",
+ "fantaxy/fantasy-novel": "https://huggingface.co/spaces/fantaxy/fantasy-novel",
+ "VIDraft/Gemma-3-R1984-1B": "https://huggingface.co/spaces/VIDraft/Gemma-3-R1984-1B",
+ "openfree/Chart-GPT": "https://huggingface.co/spaces/openfree/Chart-GPT",
+ "Heartsync/Novel-NSFW": "https://huggingface.co/spaces/Heartsync/Novel-NSFW",
+ "ginigen/FLUX-Ghibli-LoRA2": "https://huggingface.co/spaces/ginigen/FLUX-Ghibli-LoRA2",
+ "Heartsync/WAN-VIDEO-AUDIO": "https://huggingface.co/spaces/Heartsync/WAN-VIDEO-AUDIO",
+ "ginigen/deepseek-r1-0528-API": "https://huggingface.co/spaces/ginigen/deepseek-r1-0528-API",
+ "Heartsync/wan2-1-fast-security": "https://huggingface.co/spaces/Heartsync/wan2-1-fast-security",
+ "ginigen/Flux-VIDEO": "https://huggingface.co/spaces/ginigen/Flux-VIDEO",
+ "aiqcamp/REMOVAL-TEXT-IMAGE": "https://huggingface.co/spaces/aiqcamp/REMOVAL-TEXT-IMAGE",
+ "aiqcamp/deepseek-r1-0528-qwen3-8b": "https://huggingface.co/spaces/aiqcamp/deepseek-r1-0528-qwen3-8b",
+ "aiqcamp/deepseek-r1-0528": "https://huggingface.co/spaces/aiqcamp/deepseek-r1-0528",
+ "VIDraft/BAGEL-Websearch": "https://huggingface.co/spaces/VIDraft/BAGEL-Websearch",
+ "aiqcamp/Mistral-Devstral-API": "https://huggingface.co/spaces/aiqcamp/Mistral-Devstral-API",
+ "VIDraft/Mistral-RAG-BitSix": "https://huggingface.co/spaces/VIDraft/Mistral-RAG-BitSix",
+ "ginigen/3D-LLAMA-V1": "https://huggingface.co/spaces/ginigen/3D-LLAMA-V1",
+ "Heartsync/NSFW-Uncensored-video2": "https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-video2",
+ "Heartsync/NSFW-Uncensored-video": "https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-video",
+ "seawolf2357/PDF-text-extractor": "https://huggingface.co/spaces/seawolf2357/PDF-text-extractor",
+ "ginipick/Change-Hair": "https://huggingface.co/spaces/ginipick/Change-Hair",
+ "VIDraft/Voice-Clone-Podcast": "https://huggingface.co/spaces/VIDraft/Voice-Clone-Podcast",
+ "ginipick/PDF-EXAM": "https://huggingface.co/spaces/ginipick/PDF-EXAM",
+ "openfree/Naming": "https://huggingface.co/spaces/openfree/Naming",
+ "Heartsync/adult": "https://huggingface.co/spaces/Heartsync/adult",
+ "Heartsync/hwp": "https://huggingface.co/spaces/Heartsync/hwp",
+ "VIDraft/ACE-Singer": "https://huggingface.co/spaces/VIDraft/ACE-Singer",
+ "openfree/Live-Podcast": "https://huggingface.co/spaces/openfree/Live-Podcast",
+ "Heartsync/kim-korea": "https://huggingface.co/spaces/Heartsync/kim-korea",
+ "openfree/AI-Podcast": "https://huggingface.co/spaces/openfree/AI-Podcast",
+ "ginipick/NH-Korea": "https://huggingface.co/spaces/ginipick/NH-Korea",
+ "VIDraft/NH-Prediction": "https://huggingface.co/spaces/VIDraft/NH-Prediction",
+ "ginipick/AI-BOOK": "https://huggingface.co/spaces/ginipick/AI-BOOK",
+ "openfree/Web-Manager": "https://huggingface.co/spaces/openfree/Web-Manager",
+ "openfree/Game-Gallery": "https://huggingface.co/spaces/openfree/Game-Gallery",
+ "openfree/Vibe-Game": "https://huggingface.co/spaces/openfree/Vibe-Game",
+ "ginipick/IDEA-DESIGN": "https://huggingface.co/spaces/ginipick/IDEA-DESIGN",
+ "openfree/Cycle-Navigator": "https://huggingface.co/spaces/openfree/Cycle-Navigator",
+ "openfree/Pulsar-Display": "https://huggingface.co/spaces/openfree/Pulsar-Display",
+ "openfree/RPG-GAME": "https://huggingface.co/spaces/openfree/RPG-GAME",
+ "openfree/Evolution-Simulation": "https://huggingface.co/spaces/openfree/Evolution-Simulation",
+ "openfree/DreamO-video": "https://huggingface.co/spaces/openfree/DreamO-video",
+ "ginigen/3D-VIDEO": "https://huggingface.co/spaces/ginigen/3D-VIDEO",
+
+ "ginipick/Pharmacy": "https://huggingface.co/spaces/ginipick/Pharmacy",
+ "immunobiotech/Gemini-MICHELIN-kr": "https://huggingface.co/spaces/immunobiotech/Gemini-MICHELIN-kr",
+ "immunobiotech/Gemini-MICHELIN": "https://huggingface.co/spaces/immunobiotech/Gemini-MICHELIN",
+ "openfree/Battle-Royale-GAME": "https://huggingface.co/spaces/openfree/Battle-Royale-GAME",
+ "Heartsync/NSFW-detection": "https://huggingface.co/spaces/Heartsync/NSFW-detection",
+ "openfree/repo-graph": "https://huggingface.co/spaces/openfree/repo-graph",
+ "Heartsync/NSFW-Uncensored-photo": "https://huggingface.co/spaces/Heartsync/NSFW-Uncensored-photo",
+ "Heartsync/NSFW-Uncensored": "https://huggingface.co/spaces/Heartsync/NSFW-Uncensored",
+ "aiqcamp/ENGLISH-Speaking-Scoring": "https://huggingface.co/spaces/aiqcamp/ENGLISH-Speaking-Scoring",
+ "openfree/Chain-of-Recursive-Thoughts": "https://huggingface.co/spaces/openfree/Chain-of-Recursive-Thoughts",
+ "aiqcamp/SEO-checker": "https://huggingface.co/spaces/aiqcamp/SEO-checker",
+ "openfree/qwen3-30b-a3b-research": "https://huggingface.co/spaces/openfree/qwen3-30b-a3b-research",
+ "openfree/qwen3-235b-a22b-research": "https://huggingface.co/spaces/openfree/qwen3-235b-a22b-research",
+ "ginigen/Mistral-Perflexity": "https://huggingface.co/spaces/ginigen/Mistral-Perflexity",
+ "aiqcamp/gemini-2.5-flash-preview": "https://huggingface.co/spaces/aiqcamp/gemini-2.5-flash-preview",
+ "aiqcamp/MCP-kokoro": "https://huggingface.co/spaces/aiqcamp/MCP-kokoro",
+
+ "aiqcamp/Llama-4-Maverick-17B-search": "https://huggingface.co/spaces/aiqcamp/Llama-4-Maverick-17B-search",
+ "aiqcamp/facefusion3": "https://huggingface.co/spaces/aiqcamp/facefusion3",
+ "ginigen/Every-Text": "https://huggingface.co/spaces/ginigen/Every-Text",
+ "Heartsync/flux-lora-homer": "https://huggingface.co/spaces/Heartsync/flux-lora-homer",
+ "fantos/flux-lora-gogh": "https://huggingface.co/spaces/fantos/flux-lora-gogh",
+ "fantos/flux-lora-cezanne": "https://huggingface.co/spaces/fantos/flux-lora-cezanne",
+ "ginigen/flux-lora-renoir": "https://huggingface.co/spaces/ginigen/flux-lora-renoir",
+ "Heartsync/NSFW-image": "https://huggingface.co/spaces/Heartsync/NSFW-image",
+ "openfree/svg": "https://huggingface.co/spaces/openfree/svg",
+ "VIDraft/phi-4-reasoning-plus": "https://huggingface.co/spaces/VIDraft/phi-4-reasoning-plus",
+ "fantaxy/musepose": "https://huggingface.co/spaces/fantaxy/musepose",
+ "ginigen/VisualCloze": "https://huggingface.co/spaces/ginigen/VisualCloze",
+ "ginigen/framepack-i2v": "https://huggingface.co/spaces/ginigen/framepack-i2v",
+ "VIDraft/FramePack_rotate_landscape": "https://huggingface.co/spaces/VIDraft/FramePack_rotate_landscape",
+ "VIDraft/Flex-preview": "https://huggingface.co/spaces/VIDraft/Flex-preview",
+ "Heartsync/Character": "https://huggingface.co/spaces/Heartsync/Character",
+ "Heartsync/image-ip-composer": "https://huggingface.co/spaces/Heartsync/image-ip-composer",
+ "Heartsync/FLite-Texture-ULTRA": "https://huggingface.co/spaces/Heartsync/FLite-Texture-ULTRA",
+ "VIDraft/Local-RAG-llama-3-8b": "https://huggingface.co/spaces/VIDraft/Local-RAG-llama-3-8b",
+ "fantos/Physics-Playground": "https://huggingface.co/spaces/fantos/Physics-Playground",
+ "fantos/EveryText": "https://huggingface.co/spaces/fantos/EveryText",
+ "ginipick/GLM-4-32B-0414": "https://huggingface.co/spaces/ginipick/GLM-4-32B-0414",
+ "ginipick/Qwen3-30B-A3B": "https://huggingface.co/spaces/ginipick/Qwen3-30B-A3B",
+ "ginipick/Qwen3-32B": "https://huggingface.co/spaces/ginipick/Qwen3-32B",
+ "ginipick/DeepSeek-Prover-V2-671B": "https://huggingface.co/spaces/ginipick/DeepSeek-Prover-V2-671B",
+ "ginipick/Qwen3-235B-A22B": "https://huggingface.co/spaces/ginipick/Qwen3-235B-A22B",
+ "keeperballon/vibe-coding-tetris": "https://huggingface.co/spaces/keeperballon/vibe-coding-tetris",
+ "keeperballon/multi-llm": "https://huggingface.co/spaces/keeperballon/multi-llm",
+ "VIDraft/Qwen3-8B": "https://huggingface.co/spaces/VIDraft/Qwen3-8B",
+ "VIDraft/Qwen3-1_7B": "https://huggingface.co/spaces/VIDraft/Qwen3-1_7B",
+ "VIDraft/Qwen3-4B": "https://huggingface.co/spaces/VIDraft/Qwen3-4B",
+ "VIDraft/Qwen3-0_6B": "https://huggingface.co/spaces/VIDraft/Qwen3-0_6B",
+ "VIDraft/Qwen3": "https://huggingface.co/spaces/VIDraft/Qwen3",
+ "ginigen/interior-design": "https://huggingface.co/spaces/ginigen/interior-design",
+ "yokoha/CSV-Parquet-Convertors": "https://huggingface.co/spaces/yokoha/CSV-Parquet-Convertors",
+ "yokoha/CSV": "https://huggingface.co/spaces/yokoha/CSV",
+ "yokoha/3D-Audio-visuals": "https://huggingface.co/spaces/yokoha/3D-Audio-visuals",
+ "aiqtech/flux-animated-style": "https://huggingface.co/spaces/aiqtech/flux-animated-style",
+ "ginigen/interior-design": "https://huggingface.co/spaces/ginigen/interior-design",
+ "ginigen/perflexity-clone": "https://huggingface.co/spaces/ginigen/perflexity-clone",
+ "ginigen/blogger": "https://huggingface.co/spaces/ginigen/blogger",
+ "openfree/Badge": "https://huggingface.co/spaces/openfree/Badge",
+ "Heartsync/Papers-Leaderboard": "https://huggingface.co/spaces/Heartsync/Papers-Leaderboard",
+ "aiqtech/LLM-Token-Visual": "https://huggingface.co/spaces/aiqtech/LLM-Token-Visual",
+ "ginipick/AgentX-Papers": "https://huggingface.co/spaces/ginipick/AgentX-Papers",
+ "openfree/ZeroGPU-Leader": "https://huggingface.co/spaces/openfree/ZeroGPU-Leader",
+ "VIDraft/ThinkFlow-llama": "https://huggingface.co/spaces/VIDraft/ThinkFlow-llama",
+ "VIDraft/Agentic-AI-CHAT": "https://huggingface.co/spaces/VIDraft/Agentic-AI-CHAT",
+ "ginigen/multimodal-chat-mbti-korea": "https://huggingface.co/spaces/ginigen/multimodal-chat-mbti-korea",
+ "Heartsync/multimodal-chat-mbti-INTJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-INTJ",
+ "Heartsync/multimodal-chat-mbti-INTP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-INTP",
+ "Heartsync/multimodal-chat-mbti-ENTJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ENTJ",
+ "Heartsync/multimodal-chat-mbti-ENTP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ENTP",
+ "Heartsync/multimodal-chat-mbti-INFJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-INFJ",
+ "Heartsync/multimodal-chat-mbti-INFP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-INFP",
+ "Heartsync/multimodal-chat-mbti-ENFJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ENFJ",
+ "Heartsync/multimodal-chat-mbti-ENFP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ENFP",
+ "Heartsync/multimodal-chat-mbti-ISTJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ISTJ",
+ "Heartsync/multimodal-chat-mbti-INFJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ISFJ",
+ "Heartsync/multimodal-chat-mbti-ESTJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ESTJ",
+ "Heartsync/multimodal-chat-mbti-ESFJ": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ESFJ",
+ "Heartsync/multimodal-chat-mbti-ISTP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ISTP",
+ "Heartsync/multimodal-chat-mbti-ISFP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ISFP",
+ "Heartsync/multimodal-chat-mbti-ESTP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ESTP",
+ "Heartsync/multimodal-chat-mbti-ESFP": "https://huggingface.co/spaces/Heartsync/multimodal-chat-mbti-ESFP",
+ "VIDraft/Gemma-3-R1984-4B": "https://huggingface.co/spaces/VIDraft/Gemma-3-R1984-4B",
+ "VIDraft/Gemma-3-R1984-12B": "https://huggingface.co/spaces/VIDraft/Gemma-3-R1984-12B",
+ "cutechicken/World-of-Tank-GAME": "https://huggingface.co/spaces/cutechicken/World-of-Tank-GAME",
+ "openfree/Llama-4-Maverick-17B-Research": "https://huggingface.co/spaces/openfree/Llama-4-Maverick-17B-Research",
+ "openfree/Llama-4-Scout-17B-Research": "https://huggingface.co/spaces/openfree/Llama-4-Scout-17B-Research",
+ "openfree/Llama-4-Maverick-17B-Research-korea": "https://huggingface.co/spaces/openfree/Llama-4-Maverick-17B-Research-korea",
+ "openfree/Llama-4-Scout-17B-Research-korea": "https://huggingface.co/spaces/openfree/Llama-4-Scout-17B-Research-korea",
+ "fantaxy/Model-Leaderboard": "https://huggingface.co/spaces/fantaxy/Model-Leaderboard",
+ "seawolf2357/Ghibli-Multilingual-Text-rendering": "https://huggingface.co/spaces/seawolf2357/Ghibli-Multilingual-Text-rendering",
+ "openfree/IMAGE2DOT": "https://huggingface.co/spaces/openfree/IMAGE2DOT",
+ "openfree/drqxab": "https://huggingface.co/spaces/openfree/drqxab",
+ "openfree/Minesweeper-Game": "https://huggingface.co/spaces/openfree/Minesweeper-Game",
+ "ginigen/FLUX-Open-Ghibli-Studio": "https://huggingface.co/spaces/ginigen/FLUX-Open-Ghibli-Studio",
+ "VIDraft/Open-Meme-Studio": "https://huggingface.co/spaces/VIDraft/Open-Meme-Studio",
+ "ginigen/Ghibli-Meme-Studio": "https://huggingface.co/spaces/ginigen/Ghibli-Meme-Studio",
+ "ginigen/Private-BitSix-Mistral": "https://huggingface.co/spaces/ginigen/Private-BitSix-Mistral",
+ "VIDraft/FLUX-cat-lora": "https://huggingface.co/spaces/VIDraft/FLUX-cat-lora",
+ "VIDraft/Polaroid-Style": "https://huggingface.co/spaces/VIDraft/Polaroid-Style",
+ "VIDraft/Multilingual-Text-add-Images": "https://huggingface.co/spaces/VIDraft/Multilingual-Text-add-Images",
+ "ginigen/FLUX-Text-Tree-Image": "https://huggingface.co/spaces/ginigen/FLUX-Text-Tree-Image",
+ "VIDraft/ReSize-Image-Outpainting": "https://huggingface.co/spaces/VIDraft/ReSize-Image-Outpainting",
+ "VIDraft/Fashion-Fit": "https://huggingface.co/spaces/VIDraft/Fashion-Fit",
+ "ginigen/SFX-Sound-magic": "https://huggingface.co/spaces/ginigen/SFX-Sound-magic",
+ "openfree/Gemma-3-R1984-12B": "https://huggingface.co/spaces/openfree/Gemma-3-R1984-12B",
+ "openfree/Stock-Trading-Analysis": "https://huggingface.co/spaces/openfree/Stock-Trading-Analysis",
+ "aiqtech/Contributors-Leaderboard": "https://huggingface.co/spaces/aiqtech/Contributors-Leaderboard",
+ "VIDraft/Gemma-3-R1984-27B": "https://huggingface.co/spaces/VIDraft/Gemma-3-R1984-27B",
+ "openfree/Deepseek-v3-0324-Research": "https://huggingface.co/spaces/openfree/Deepseek-v3-0324-Research",
+ "openfree/Deepseek-v3-0324-Research-korea": "https://huggingface.co/spaces/openfree/Deepseek-v3-0324-Research-korea",
+ "openfree/Korean-Exam-Leaderboard": "https://huggingface.co/spaces/openfree/Korean-Exam-Leaderboard",
+ "ginigen/Every-Text": "https://huggingface.co/spaces/ginigen/Every-Text",
+ "openfree/Idea-Transformer": "https://huggingface.co/spaces/openfree/Idea-Transformer",
+ "VIDraft/Unique3D": "https://huggingface.co/spaces/VIDraft/Unique3D",
+ "openfree/Compare-RAG-CHAT": "https://huggingface.co/spaces/openfree/Compare-RAG-CHAT",
+ "ginigen/Light-amplification": "https://huggingface.co/spaces/ginigen/Light-amplification",
+ "ginipick/handspew": "https://huggingface.co/spaces/ginipick/handspew",
+ "openfree/AgentX-Travel": "https://huggingface.co/spaces/openfree/AgentX-Travel",
+ "VIDraft/stable-diffusion-3.5-large-turboX": "https://huggingface.co/spaces/VIDraft/stable-diffusion-3.5-large-turboX",
+ "VIDraft/tight-inversion-pulid-demo": "https://huggingface.co/spaces/VIDraft/tight-inversion-pulid-demo",
+ "openfree/SonicOrbit": "https://huggingface.co/spaces/openfree/SonicOrbit",
+ "openfree/FACE-DETECTOR": "https://huggingface.co/spaces/openfree/FACE-DETECTOR",
+ "VIDraft/Space-Leaderboard": "https://huggingface.co/spaces/VIDraft/Space-Leaderboard",
+ "ginipick/3D-GAME": "https://huggingface.co/spaces/ginipick/3D-GAME",
+ "ginipick/Flipper-Code-Generato": "https://huggingface.co/spaces/ginipick/Flipper-Code-Generator",
+ "ginipick/Baby-Name-Generator": "https://huggingface.co/spaces/ginipick/Baby-Name-Generator",
+ "ginipick/secreen-capture-OCR": "https://huggingface.co/spaces/ginipick/secreen-capture-OCR",
+ "ginipick/face-pose-detect": "https://huggingface.co/spaces/ginipick/face-pose-detect",
+ "ginigen/Graph-Mind": "https://huggingface.co/spaces/ginigen/Graph-Mind",
+ "openfree/deepseek_r1_API": "https://huggingface.co/spaces/openfree/deepseek_r1_API",
+ "ginipick/Tech_Hangman_Game": "https://huggingface.co/spaces/ginipick/Tech_Hangman_Game",
+ "openfree/Mouse2-HF": "https://huggingface.co/spaces/openfree/Mouse2-HF",
+ "seawolf2357/DeepSeek-R1-32b-search": "https://huggingface.co/spaces/seawolf2357/DeepSeek-R1-32b-search",
+ "heartsync/open-deep-research": "https://huggingface.co/spaces/heartsync/open-deep-research",
+ "ginipick/open_Deep-Research": "https://huggingface.co/spaces/ginipick/open_Deep-Research",
+ "ginigen/LLaDA": "https://huggingface.co/spaces/ginigen/LLaDA",
+ "VIDraft/PHI4-Multimodal": "https://huggingface.co/spaces/VIDraft/PHI4-Multimodal",
+ "ginipick/spaces-research-think": "https://huggingface.co/spaces/ginipick/spaces-research-think",
+ "ginipick/spaces-research-korea": "https://huggingface.co/spaces/ginipick/spaces-research-korea",
+ "openfree/Datasets-Convertor": "https://huggingface.co/spaces/openfree/Datasets-Convertor",
+ "VIDraft/mouse-Visual-Chat": "https://huggingface.co/spaces/VIDraft/mouse-Visual-Chat",
+ "VIDraft/mouse-file-chat": "https://huggingface.co/spaces/VIDraft/mouse-file-chat",
+ "ginigen/Ovis2-8B": "https://huggingface.co/spaces/ginigen/Ovis2-8B",
+ "openfree/Parquet-CSV-Convertor": "https://huggingface.co/spaces/openfree/Parquet-CSV-Convertor",
+ "ginigen/FLUX-Eternity": "https://huggingface.co/spaces/ginigen/FLUX-Eternity",
+ "ginipick/live-detect-pose": "https://huggingface.co/spaces/ginipick/live-detect-pose",
+ "ginigen/OmniParser-v2-pro": "https://huggingface.co/spaces/ginigen/OmniParser-v2-pro",
+ "ginigen/panorama-images": "https://huggingface.co/spaces/ginigen/panorama-images",
+ "ginigen/Celebrity": "https://huggingface.co/spaces/ginigen/Celebrity",
+ "ginigen/Fashion-Pose-Control": "https://huggingface.co/spaces/ginigen/Fashion-Pose-Control",
+ "ginigen/zonos-longform": "https://huggingface.co/spaces/ginigen/zonos-longform",
+ "ginigen/Workflow-Canvas": "https://huggingface.co/spaces/ginigen/Workflow-Canvas",
+ "ginigen/Design": "https://huggingface.co/spaces/ginigen/Design",
+ "ginigen/Diagram": "https://huggingface.co/spaces/ginigen/Diagram",
+ "ginigen/Mockup": "https://huggingface.co/spaces/ginigen/Mockup",
+ "ginigen/Infographic": "https://huggingface.co/spaces/ginigen/Infographic",
+ "ginigen/Flowchart": "https://huggingface.co/spaces/ginigen/Flowchart",
+ "heartsync/FLUX-Vision": "https://huggingface.co/spaces/heartsync/FLUX-Vision",
+ "ginigen/VoiceClone-TTS": "https://huggingface.co/spaces/ginigen/VoiceClone-TTS",
+ "openfree/Perceptron-Network": "https://huggingface.co/spaces/openfree/Perceptron-Network",
+ "openfree/Article-Generator": "https://huggingface.co/spaces/openfree/Article-Generator",
+ "openfree/Math-Game": "https://huggingface.co/spaces/openfree/Math-Game",
+ "openfree/PDF-TTS": "https://huggingface.co/spaces/openfree/PDF-TTS",
+ "openfree/chess": "https://huggingface.co/spaces/openfree/chess",
+ "fantos/Panorama": "https://huggingface.co/spaces/fantos/Panorama",
+ "ginigen/Multi-LoRAgen": "https://huggingface.co/spaces/ginigen/Multi-LoRAgen",
+ "ginigen/canvas-studio": "https://huggingface.co/spaces/ginigen/canvas-studio",
+ "ginipick/Fashion-Stylegen": "https://huggingface.co/spaces/ginipick/Fashion-Style",
+ "ginipick/Time-Stream": "https://huggingface.co/spaces/ginipick/Time-Stream",
+ "ginipick/AccuVision-Diffusion": "https://huggingface.co/spaces/ginipick/AccuVision-Diffusion",
+ "fantos/Magic-Drawings": "https://huggingface.co/spaces/fantos/Magic-Drawings",
+ "ginigen/Lumina-Image-PLUS": "https://huggingface.co/spaces/ginigen/Lumina-Image-PLUS",
+ "fantaxy/fantasy-novel": "https://huggingface.co/spaces/fantaxy/fantasy-novel",
+ "fantaxy/eros": "https://huggingface.co/spaces/fantaxy/eros",
+ "fantaxy/adult-novel": "https://huggingface.co/spaces/fantaxy/adult-novel",
+ "fantaxy/kungfu-novel": "https://huggingface.co/spaces/fantaxy/kungfu-novel",
+ "fantaxy/love-novel": "https://huggingface.co/spaces/fantaxy/love-novel",
+ "VIDraft/mouse-webgen": "https://huggingface.co/spaces/VIDraft/mouse-webgen",
+ "immunobiotech/MUSIC-Jukebox": "https://huggingface.co/spaces/immunobiotech/MUSIC-Jukebox",
+ "seawolf2357/Flowise-AI": "https://huggingface.co/spaces/seawolf2357/Flowise-AI",
+ "kolaslab/Binaural-Beat-Generator": "https://huggingface.co/spaces/kolaslab/Binaural-Beat-Generator",
+ "fantos/Physics-Playground": "https://huggingface.co/spaces/fantos/Physics-Playground",
+ "ginigen/Flux-LayerDiffuse": "https://huggingface.co/spaces/ginigen/Flux-LayerDiffuse",
+ "VIDraft/Portrait-Animation": "https://huggingface.co/spaces/VIDraft/Portrait-Animation",
+ "VIDraft/Deepseek-Multimodal": "https://huggingface.co/spaces/VIDraft/Deepseek-Multimodal",
+ "VIDraft/BLIP2": "https://huggingface.co/spaces/VIDraft/BLIP2",
+ "ginigen/text3d-r1": "https://huggingface.co/spaces/ginigen/text3d-r1",
+ "immunobiotech/drug-discovery": "https://huggingface.co/spaces/immunobiotech/drug-discovery",
+ "ginipick/text3d-ZERO": "https://huggingface.co/spaces/ginipick/text3d-ZERO",
+ "openfree/VisionOCR-Chat": "https://huggingface.co/spaces/openfree/VisionOCR-Chat",
+ "immunobiotech/MICHELIN": "https://huggingface.co/spaces/immunobiotech/MICHELIN",
+ "immunobiotech/MICHELIN-korea": "https://huggingface.co/spaces/immunobiotech/MICHELIN-korea",
+ "immunobiotech/MICHELIN-japan": "https://huggingface.co/spaces/immunobiotech/MICHELIN-japan",
+ "immunobiotech/MICHELIN-china": "https://huggingface.co/spaces/immunobiotech/MICHELIN-china",
+ "VIDraft/money-radar-korea": "https://huggingface.co/spaces/VIDraft/money-radar-korea",
+ "VIDraft/money-radar": "https://huggingface.co/spaces/VIDraft/money-radar",
+ "ginipick/PharmAI-Korea": "https://huggingface.co/spaces/ginipick/PharmAI-Korea",
+ "ginigen/MagicFace-V3": "https://huggingface.co/spaces/ginigen/MagicFace-V3",
+ "openfree/OCR-FLEX": "https://huggingface.co/spaces/openfree/OCR-FLEX",
+ "openfree/MoneyRadar2-KR": "https://huggingface.co/spaces/openfree/MoneyRadar2-KR",
+ "immunobiotech/MICHELIN-Genesis": "https://huggingface.co/spaces/immunobiotech/MICHELIN-Genesis",
+ "immunobiotech/MICHELIN-Genesis-kr": "https://huggingface.co/spaces/immunobiotech/MICHELIN-Genesis-kr",
+ "immunobiotech/MICHELIN-Genesis-CN": "https://huggingface.co/spaces/immunobiotech/MICHELIN-Genesis-CN",
+ "immunobiotech/MICHELIN-Genesis-JP": "https://huggingface.co/spaces/immunobiotech/MICHELIN-Genesis-JP",
+ "ginipick/PharmAI-kr": "https://huggingface.co/spaces/ginipick/PharmAI-kr",
+ "aiqcamp/MindMap": "https://huggingface.co/spaces/aiqcamp/MindMap",
+ "ginigen/3D-LLAMA": "https://huggingface.co/spaces/ginigen/3D-LLAMA",
+ "openfree/VectorFlow": "https://huggingface.co/spaces/openfree/VectorFlow",
+ "ginigen/Multi-LoRA-gen": "https://huggingface.co/spaces/ginigen/Multi-LoRA-gen",
+ "openfree/webtoon-gen": "https://huggingface.co/spaces/openfree/webtoon-gen",
+ "VIDraft/topic-prediction": "https://huggingface.co/spaces/VIDraft/topic-prediction",
+ "VIDraft/mouse-web": "https://huggingface.co/spaces/VIDraft/mouse-web",
+ "openfree/MoneyRadar2": "https://huggingface.co/spaces/openfree/MoneyRadar2",
+ "openfree/trending-board-2025": "https://huggingface.co/spaces/openfree/trending-board-2025",
+ "VIDraft/PapersImpact": "https://huggingface.co/spaces/VIDraft/PapersImpact",
+ "VIDraft/EveryRAG": "https://huggingface.co/spaces/VIDraft/EveryRAG",
+ "fantaxy/novel-NSFW": "https://huggingface.co/spaces/fantaxy/novel-NSFW",
+ "fantaxy/novel-kungfu-eng": "https://huggingface.co/spaces/fantaxy/novel-kungfu-eng",
+ "fantaxy/novel-romance-eng": "https://huggingface.co/spaces/fantaxy/novel-romance-eng",
+ "fantaxy/novel-fantasy-eng": "https://huggingface.co/spaces/fantaxy/novel-fantasy-eng",
+ "fantaxy/erotic": "https://huggingface.co/spaces/fantaxy/erotic",
+ "ginipick/Any3D": "https://huggingface.co/spaces/ginipick/Any3D",
+ "ginigen/Canvas-pro": "https://huggingface.co/spaces/ginigen/Canvas-pro",
+ "VIDraft/korea-president-DJ": "https://huggingface.co/spaces/VIDraft/korea-president-DJ",
+ "VIDraft/korea-president-PARK": "https://huggingface.co/spaces/VIDraft/korea-president-PARK",
+ "openfree/image-to-vector": "https://huggingface.co/spaces/openfree/image-to-vector",
+ "ginipick/QR-Canvas-plus": "https://huggingface.co/spaces/ginipick/QR-Canvas-plus",
+ "ginigen/text3d-R1": "https://huggingface.co/spaces/ginigen/text3d-R1",
+ "openfree/MagicFace-V3": "https://huggingface.co/spaces/openfree/MagicFace-V3",
+ "immunobiotech/drug-discover": "https://huggingface.co/spaces/immunobiotech/drug-discover",
+ "openfree/Korean-Leaderboard-2025": "https://huggingface.co/spaces/openfree/Korean-Leaderboard-2025",
+ "ginipick/DeepSeekR1-LIVE": "https://huggingface.co/spaces/ginipick/DeepSeekR1-LIVE",
+ "ginipick/like-history": "https://huggingface.co/spaces/ginipick/like-history",
+ "ginigen/ColPali-multi": "https://huggingface.co/spaces/ginigen/ColPali-multi",
+ "ginigen/Janus-Pro-7B": "https://huggingface.co/spaces/ginigen/Janus-Pro-7B",
+ "ginigen/Animagine": "https://huggingface.co/spaces/ginigen/Animagine",
+ "ginigen/Sign-language": "https://huggingface.co/spaces/ginigen/Sign-language",
+ "ginipick/OpenSUNO": "https://huggingface.co/spaces/ginipick/OpenSUNO",
+ "openfree/PDF-RAG": "https://huggingface.co/spaces/openfree/PDF-RAG",
+ "fantos/Ranking-Tracker": "https://huggingface.co/spaces/fantos/Ranking-Tracker",
+ "aiqcamp/Multilingual-Images": "https://huggingface.co/spaces/aiqcamp/Multilingual-Images",
+ "aiqcamp/Gemini2-Flash-Thinking": "https://huggingface.co/spaces/aiqcamp/Gemini2-Flash-Thinking",
+ "fantaxy/novel-sorim-en": "https://huggingface.co/spaces/fantaxy/novel-sorim-en",
+ "fantaxy/novel-NSFW-en": "https://huggingface.co/spaces/fantaxy/novel-NSFW-en",
+ "fantaxy/novel-fantasy-en": "https://huggingface.co/spaces/fantaxy/novel-fantasy-en",
+ "fantaxy/novel-romance-en": "https://huggingface.co/spaces/fantaxy/novel-romance-en",
+ "kolaslab/8bit-gamemusic": "https://huggingface.co/spaces/kolaslab/8bit-gamemusic",
+ "openfree/pepe": "https://huggingface.co/spaces/openfree/pepe",
+ "openfree/MoneyRadar": "https://huggingface.co/spaces/openfree/MoneyRadar",
+ "ginipick/QR-Canvas": "https://huggingface.co/spaces/ginipick/QR-Canvas",
+ "openfree/MagicFace": "https://huggingface.co/spaces/openfree/MagicFace",
+ "openfree/pick-spaces": "https://huggingface.co/spaces/openfree/pick-spaces",
+ "aiqcamp/diagram": "https://huggingface.co/spaces/aiqcamp/diagram",
+ "openfree/korea-president-yoon": "https://huggingface.co/spaces/openfree/korea-president-yoon",
+ "VIDraft/PaperImpact": "https://huggingface.co/spaces/VIDraft/PaperImpact",
+ "openfree/CryptoVision": "https://huggingface.co/spaces/openfree/CryptoVision",
+ "gunship999/Gunship-3D-FPS": "https://huggingface.co/spaces/gunship999/Gunship-3D-FPS",
+ "fantos/VoiceClone": "https://huggingface.co/spaces/fantos/VoiceClone",
+ "VIDraft/ChemGenesis": "https://huggingface.co/spaces/VIDraft/ChemGenesis",
+ "seawolf2357/ocrlatex": "https://huggingface.co/spaces/seawolf2357/ocrlatex",
+ "seawolf2357/img2vid": "https://huggingface.co/spaces/seawolf2357/img2vid",
+ "seawolf2357/sd-prompt-gen": "https://huggingface.co/spaces/seawolf2357/sd-prompt-gen",
+ "openfree/badassgi": "https://huggingface.co/spaces/openfree/badassgi",
+ "openfree/tarotcard": "https://huggingface.co/spaces/openfree/tarotcard",
+ "openfree/drqxab": "https://huggingface.co/spaces/openfree/drqxab",
+ "aiqcamp/Polaroid": "https://huggingface.co/spaces/aiqcamp/Polaroid",
+ "ginigen/cartoon": "https://huggingface.co/spaces/ginigen/cartoon",
+ "ginigen/Book-Cover": "https://huggingface.co/spaces/ginigen/Book-Cover",
+ "aiqcamp/fash": "https://huggingface.co/spaces/aiqcamp/fash",
+ "gunship999/Korea-Daily-News": "https://huggingface.co/spaces/gunship999/Korea-Daily-News",
+ "kolaslab/Quantum": "https://huggingface.co/spaces/kolaslab/Quantum",
+ "openfree/webtoon": "https://huggingface.co/spaces/openfree/webtoon",
+ "immunobiotech/ChicagoGallery": "https://huggingface.co/spaces/immunobiotech/ChicagoGallery",
+ "immunobiotech/MetropolitanMuseum": "https://huggingface.co/spaces/immunobiotech/MetropolitanMuseum",
+ "immunobiotech/opensky": "https://huggingface.co/spaces/immunobiotech/opensky",
+ "kolaslab/Audio-Visualizer": "https://huggingface.co/spaces/kolaslab/Audio-Visualizer",
+ "kolaslab/Radio-Learning": "https://huggingface.co/spaces/kolaslab/Radio-Learning",
+ "kolaslab/Future-Gallaxy": "https://huggingface.co/spaces/kolaslab/Future-Gallaxy",
+ "openfree/ProteinGenesis": "https://huggingface.co/spaces/openfree/ProteinGenesis",
+ "openfree/2025saju": "https://huggingface.co/spaces/openfree/2025saju",
+ "ginigen/Dokdo-membership": "https://huggingface.co/spaces/ginigen/Dokdo-membership",
+ "VIDraft/eum": "https://huggingface.co/spaces/VIDraft/eum",
+ "kolaslab/VisionART": "https://huggingface.co/spaces/kolaslab/VisionART",
+ "aiqtech/FLUX-military": "https://huggingface.co/spaces/aiqtech/FLUX-military",
+ "fantaxy/Rolls-Royce": "https://huggingface.co/spaces/fantaxy/Rolls-Royce",
+ "seawolf2357/flux-korea-hanbok-lora": "https://huggingface.co/spaces/seawolf2357/flux-korea-hanbok-lora",
+ "seawolf2357/flux-korea-palace-lora": "https://huggingface.co/spaces/seawolf2357/flux-korea-palace-lora",
+ "aiqcamp/flux-cat-lora": "https://huggingface.co/spaces/aiqcamp/flux-cat-lora",
+ "gunship999/SexyImages": "https://huggingface.co/spaces/gunship999/SexyImages",
+ "aiqtech/flux-claude-monet-lora": "https://huggingface.co/spaces/aiqtech/flux-claude-monet-lora",
+ "ginigen/CANVAS-o3": "https://huggingface.co/spaces/ginigen/CANVAS-o3",
+ "kolaslab/world-sdr": "https://huggingface.co/spaces/kolaslab/world-sdr",
+ "seawolf2357/3D-Avatar-Generator": "https://huggingface.co/spaces/seawolf2357/3D-Avatar-Generator",
+ "fantaxy/playground25": "https://huggingface.co/spaces/fantaxy/playground25",
+ "openfree/ultpixgen": "https://huggingface.co/spaces/openfree/ultpixgen",
+ "kolaslab/VISION-NIGHT": "https://huggingface.co/spaces/kolaslab/VISION-NIGHT",
+ "kolaslab/FLUX-WEB": "https://huggingface.co/spaces/kolaslab/FLUX-WEB",
+ "seawolf2357/REALVISXL-V5": "https://huggingface.co/spaces/seawolf2357/REALVISXL-V5",
+ "ginipick/Dokdo-multimodal": "https://huggingface.co/spaces/ginipick/Dokdo-multimodal",
+ "ginigen/theater": "https://huggingface.co/spaces/ginigen/theater",
+ "VIDraft/stock": "https://huggingface.co/spaces/VIDraft/stock",
+ "fantos/flxcontrol": "https://huggingface.co/spaces/fantos/flxcontrol",
+ "fantos/textcutobject": "https://huggingface.co/spaces/fantos/textcutobject",
+ "ginipick/FLUX-Prompt-Generator": "https://huggingface.co/spaces/ginipick/FLUX-Prompt-Generator",
+ "fantaxy/flxloraexp": "https://huggingface.co/spaces/fantaxy/flxloraexp",
+ "fantos/flxloraexp": "https://huggingface.co/spaces/fantos/flxloraexp",
+ "seawolf2357/flxloraexp": "https://huggingface.co/spaces/seawolf2357/flxloraexp",
+ "ginipick/flxloraexp": "https://huggingface.co/spaces/ginipick/flxloraexp",
+ "ginipick/FLUX-Prompt-Generator": "https://huggingface.co/spaces/ginipick/FLUX-Prompt-Generator",
+ "ginigen/Dokdo": "https://huggingface.co/spaces/ginigen/Dokdo",
+ "aiqcamp/imagemagic": "https://huggingface.co/spaces/aiqcamp/imagemagic",
+ "openfree/ColorRevive": "https://huggingface.co/spaces/openfree/ColorRevive",
+ "VIDraft/RAGOndevice": "https://huggingface.co/spaces/VIDraft/RAGOndevice",
+ "gunship999/Radar-Bluetooth": "https://huggingface.co/spaces/gunship999/Radar-Bluetooth",
+ "gunship999/WiFi-VISION": "https://huggingface.co/spaces/gunship999/WiFi-VISION",
+ "gunship999/SONAR-Radar": "https://huggingface.co/spaces/gunship999/SONAR-Radar",
+ "aiqcamp/AudioLlama": "https://huggingface.co/spaces/aiqcamp/AudioLlama",
+ "ginigen/FLUXllama-Multilingual": "https://huggingface.co/spaces/ginigen/FLUXllama-Multilingual",
+ "ginipick/ginimedi": "https://huggingface.co/spaces/ginipick/ginimedi",
+ "ginipick/ginilaw": "https://huggingface.co/spaces/ginipick/ginilaw",
+ "ginipick/ginipharm": "https://huggingface.co/spaces/ginipick/ginipharm",
+ "ginipick/FitGen": "https://huggingface.co/spaces/ginipick/FitGen",
+ "fantaxy/FLUX-Animations": "https://huggingface.co/spaces/fantaxy/FLUX-Animations",
+ "fantaxy/Remove-Video-Background": "https://huggingface.co/spaces/fantaxy/Remove-Video-Background",
+ "fantaxy/ofai-flx-logo": "https://huggingface.co/spaces/fantaxy/ofai-flx-logo",
+ "fantaxy/flx-pulid": "https://huggingface.co/spaces/fantaxy/flx-pulid",
+ "fantaxy/flx-upscale": "https://huggingface.co/spaces/fantaxy/flx-upscale",
+ "aiqcamp/Fashion-FLUX": "https://huggingface.co/spaces/aiqcamp/Fashion-FLUX",
+ "ginipick/StyleGen": "https://huggingface.co/spaces/ginipick/StyleGen",
+ "openfree/StoryStar": "https://huggingface.co/spaces/openfree/StoryStar",
+ "fantos/x-mas": "https://huggingface.co/spaces/fantos/x-mas",
+ "openfree/Korean-Leaderboard": "https://huggingface.co/spaces/openfree/Korean-Leaderboard",
+ "ginipick/FLUXllama": "https://huggingface.co/spaces/ginipick/FLUXllama",
+ "ginipick/SORA-3D": "https://huggingface.co/spaces/ginipick/SORA-3D",
+ "fantaxy/Sound-AI-SFX": "https://huggingface.co/spaces/fantaxy/Sound-AI-SFX",
+ "fantos/flx8lora": "https://huggingface.co/spaces/fantos/flx8lora",
+ "ginigen/Canvas": "https://huggingface.co/spaces/ginigen/Canvas",
+ "fantaxy/erotica": "https://huggingface.co/spaces/fantaxy/erotica",
+ "ginipick/time-machine": "https://huggingface.co/spaces/ginipick/time-machine",
+ "aiqcamp/FLUX-VisionReply": "https://huggingface.co/spaces/aiqcamp/FLUX-VisionReply",
+ "openfree/Tetris-Game": "https://huggingface.co/spaces/openfree/Tetris-Game",
+ "openfree/everychat": "https://huggingface.co/spaces/openfree/everychat",
+ "VIDraft/mouse1": "https://huggingface.co/spaces/VIDraft/mouse1",
+ "kolaslab/alpha-go": "https://huggingface.co/spaces/kolaslab/alpha-go",
+ "ginipick/text3d": "https://huggingface.co/spaces/ginipick/text3d",
+ "openfree/trending-board": "https://huggingface.co/spaces/openfree/trending-board",
+ "cutechicken/tankwar": "https://huggingface.co/spaces/cutechicken/tankwar",
+ "openfree/game-jewel": "https://huggingface.co/spaces/openfree/game-jewel",
+ "VIDraft/mouse-chat": "https://huggingface.co/spaces/VIDraft/mouse-chat",
+ "ginipick/AccDiffusion": "https://huggingface.co/spaces/ginipick/AccDiffusion",
+ "aiqtech/Particle-Accelerator-Simulation": "https://huggingface.co/spaces/aiqtech/Particle-Accelerator-Simulation",
+ "openfree/GiniGEN": "https://huggingface.co/spaces/openfree/GiniGEN",
+ "kolaslab/3DAudio-Spectrum-Analyzer": "https://huggingface.co/spaces/kolaslab/3DAudio-Spectrum-Analyzer",
+ "openfree/trending-news-24": "https://huggingface.co/spaces/openfree/trending-news-24",
+ "ginipick/Realtime-FLUX": "https://huggingface.co/spaces/ginipick/Realtime-FLUX",
+ "VIDraft/prime-number": "https://huggingface.co/spaces/VIDraft/prime-number",
+ "kolaslab/zombie-game": "https://huggingface.co/spaces/kolaslab/zombie-game",
+ "fantos/miro-game": "https://huggingface.co/spaces/fantos/miro-game",
+ "kolaslab/shooting": "https://huggingface.co/spaces/kolaslab/shooting",
+ "VIDraft/Mouse-Hackathon": "https://huggingface.co/spaces/VIDraft/Mouse-Hackathon",
+ "heartsync/stocksimulation": "https://huggingface.co/spaces/heartsync/stocksimulation",
+ "heartsync/assetai": "https://huggingface.co/spaces/heartsync/assetai",
+ "heartsync/stockai": "https://huggingface.co/spaces/heartsync/stockai",
+ "cutechicken/TankWar3D": "https://huggingface.co/spaces/cutechicken/TankWar3D",
+ "kolaslab/RC4-EnDecoder": "https://huggingface.co/spaces/kolaslab/RC4-EnDecoder",
+ "kolaslab/simulator": "https://huggingface.co/spaces/kolaslab/simulator",
+ "kolaslab/calculator": "https://huggingface.co/spaces/kolaslab/calculator",
+ "aiqtech/kofaceid": "https://huggingface.co/spaces/aiqtech/kofaceid",
+ "fantaxy/fastvideogena": "https://huggingface.co/spaces/fantaxy/fastvideogen",
+ "fantos/cogvidx": "https://huggingface.co/spaces/fantos/cogvidx",
+ "fantos/flxfashmodel": "https://huggingface.co/spaces/fantos/flxfashmodel",
+ "fantos/kolcontrl": "https://huggingface.co/spaces/fantos/kolcontrl",
+ "fantos/EveryText": "https://huggingface.co/spaces/fantos/EveryText",
+ "aiqtech/cinevid": "https://huggingface.co/spaces/aiqtech/cinevid",
+ "aiqtech/FLUX-Ghibli-Studio-LoRA": "https://huggingface.co/spaces/aiqtech/FLUX-Ghibli-Studio-LoRA",
+ "aiqtech/flxgif": "https://huggingface.co/spaces/aiqtech/flxgif",
+ "aiqtech/imaginpaint": "https://huggingface.co/spaces/aiqtech/imaginpaint",
+ "fantaxy/Space-Leaderboard": "https://huggingface.co/spaces/fantaxy/Space-Leaderboard",
+ "fantaxy/Travel-Agent": "https://huggingface.co/spaces/fantaxy/Travel-Agent",
+ "fantaxy/handspew-PLUS": "https://huggingface.co/spaces/fantaxy/handspew-PLUS",
+ "fantaxy/SonicOrbit-MAX": "https://huggingface.co/spaces/fantaxy/SonicOrbit-MAX",
+ "fantaxy/Datasets-Convertors": "https://huggingface.co/spaces/fantaxy/Datasets-Convertors",
+ "aiqcamp/Mistral-Devstral": "https://huggingface.co/spaces/aiqcamp/Mistral-Devstral",
+
+
+
+ "nari-labs/Dia-1.6B": "https://huggingface.co/spaces/nari-labs/Dia-1.6B",
+ "upstage/open-ko-llm-leaderboard": "https://huggingface.co/spaces/upstage/open-ko-llm-leaderboard",
+ "LGAI-EXAONE/EXAONE-3.5-Instruct-Demo": "https://huggingface.co/spaces/LGAI-EXAONE/EXAONE-3.5-Instruct-Demo",
+ "LeeSangHoon/HierSpeech_TTS": "https://huggingface.co/spaces/LeeSangHoon/HierSpeech_TTS",
+ "etri-vilab/Ko-LLaVA": "https://huggingface.co/spaces/etri-vilab/Ko-LLaVA",
+ "etri-vilab/KOALA": "https://huggingface.co/spaces/etri-vilab/KOALA",
+ "naver-clova-ix/donut-base-finetuned-cord-v2": "https://huggingface.co/spaces/naver-clova-ix/donut-base-finetuned-cord-v2",
+ "NCSOFT/VARCO_Arena": "https://huggingface.co/spaces/NCSOFT/VARCO_Arena"
+}
+
+def get_spaces_data(sort_type="trending", progress=gr.Progress()):
+ """스페이스 데이터 가져오기 (trending 또는 modes)"""
+ url = "https://huggingface.co/api/spaces"
+ params = {
+ 'full': 'true',
+ 'limit': 1000
+ }
+
+ if sort_type == "modes":
+ params['sort'] = 'likes'
+
+ try:
+ progress(0, desc=f"Fetching {sort_type} spaces data...")
+ response = requests.get(url, params=params)
+ response.raise_for_status()
+ all_spaces = response.json()
+
+ # 여기서 순위(rank)는 단순히 응답 배열 순서대로 1부터 매김
+ # 기본적으로 'sort_type'에 따른 정렬이 되어 있을 것으로 가정.
+
+ space_ranks = {}
+ for idx, space in enumerate(all_spaces, 1):
+ space_id = space.get('id', '')
+
+ # 기존 target_spaces + "openfree/" 로 시작하는 스페이스도 rank에 추가
+
+ if space_id in target_spaces or any(
+ space_id.startswith(prefix + "/")
+ for prefix in ["keeperballon/", "openfree", "vidraft", "ginigen", "heartsync", "seawolf2357", "aiqcamp", "aiqtech", "fantaxy", "fantos", "immunobiotech", "yokoha", "cutechicken","kolaslab", "gunship999"]
+ ):
+ space['rank'] = idx
+ space_ranks[space_id] = space
+
+
+ # space_ranks에 모인 스페이스만 정렬
+ spaces = [space_ranks[sid] for sid in space_ranks]
+ spaces.sort(key=lambda x: x['rank'])
+
+ progress(0.3, desc="Creating visualization...")
+
+ fig = go.Figure()
+
+ ids = [space['id'] for space in spaces]
+ ranks = [space['rank'] for space in spaces]
+ likes = [space.get('likes', 0) for space in spaces]
+ titles = [space.get('cardData', {}).get('title') or space.get('title', 'No Title') for space in spaces]
+
+ fig.add_trace(go.Bar(
+ x=ids,
+ y=ranks,
+ text=[f"Rank: {r}
Title: {t}
Likes: {l}"
+ for r, t, l in zip(ranks, titles, likes)],
+ textposition='auto',
+ marker_color='rgb(158,202,225)',
+ opacity=0.8
+ ))
+
+ fig.update_layout(
+ title={
+ 'text': f'Hugging Face Spaces {sort_type.title()} Rankings (Top 500)',
+ 'y':0.95,
+ 'x':0.5,
+ 'xanchor': 'center',
+ 'yanchor': 'top'
+ },
+ xaxis_title='Space ID',
+ yaxis_title='Rank',
+ yaxis=dict(
+ autorange='reversed',
+ tickmode='array',
+ ticktext=[str(i) for i in range(1, 1001, 20)],
+ tickvals=[i for i in range(1, 1001, 20)],
+ range=[1, 500]
+ ),
+ height=800,
+ showlegend=False,
+ template='plotly_white',
+ xaxis_tickangle=-45
+ )
+
+ progress(0.6, desc="Creating space cards...")
+
+ html_content = f"""
+
+
{sort_type.title()} Rankings
+
+ """
+
+ for space in spaces:
+ space_id = space['id']
+ rank = space['rank']
+ title = space.get('cardData', {}).get('title') or space.get('title', 'No Title')
+ likes = space.get('likes', 0)
+
+ # 만약 target_spaces에 없으면 기본 주소로
+ space_url = target_spaces.get(space_id, f"https://huggingface.co/spaces/{space_id}")
+
+ html_content += f"""
+
+ """
+
+ html_content += "
"
+
+ df = pd.DataFrame([{
+ 'Rank': space['rank'],
+ 'Space ID': space['id'],
+ 'Title': space.get('cardData', {}).get('title') or space.get('title', 'No Title'),
+ 'Likes': space.get('likes', 0),
+ 'URL': target_spaces.get(space['id'], f"https://huggingface.co/spaces/{space['id']}")
+ } for space in spaces])
+
+ progress(1.0, desc="Complete!")
+ return fig, html_content, df
+
+ except Exception as e:
+ print(f"Error in get_spaces_data: {str(e)}")
+ error_html = f'Error: {str(e)}
'
+ error_plot = create_error_plot()
+ return error_plot, error_html, pd.DataFrame()
+
+def create_trend_visualization(spaces_data):
+ if not spaces_data:
+ return create_error_plot()
+
+ fig = go.Figure()
+
+ ranks = []
+ for idx, space in enumerate(spaces_data, 1):
+ space_id = space.get('id', '')
+ # target_spaces + openfree/ 체크
+ if space_id in target_spaces or space_id.startswith("openfree/"):
+ ranks.append({
+ 'id': space_id,
+ 'rank': idx,
+ 'likes': space.get('likes', 0),
+ 'title': space.get('title', 'N/A'),
+ 'views': space.get('views', 0)
+ })
+
+ if not ranks:
+ return create_error_plot()
+
+ ranks.sort(key=lambda x: x['rank'])
+
+ ids = [r['id'] for r in ranks]
+ rank_values = [r['rank'] for r in ranks]
+ likes = [r['likes'] for r in ranks]
+ views = [r['views'] for r in ranks]
+
+ fig.add_trace(go.Bar(
+ x=ids,
+ y=rank_values,
+ text=[f"Rank: {r}
Likes: {l}
Views: {v}" for r, l, v in zip(rank_values, likes, views)],
+ textposition='auto',
+ marker_color='rgb(158,202,225)',
+ opacity=0.8
+ ))
+
+ fig.update_layout(
+ title={
+ 'text': 'Current Trending Ranks (All Target + openfree Spaces)',
+ 'y':0.95,
+ 'x':0.5,
+ 'xanchor': 'center',
+ 'yanchor': 'top'
+ },
+ xaxis_title='Space ID',
+ yaxis_title='Trending Rank',
+ yaxis_autorange='reversed',
+ height=800,
+ showlegend=False,
+ template='plotly_white',
+ xaxis_tickangle=-45
+ )
+
+ return fig
+
+def get_trending_spaces_without_token():
+ try:
+ url = "https://huggingface.co/api/spaces"
+ params = {
+ 'sort': 'likes',
+ 'direction': -1,
+ 'limit': 500,
+ 'full': 'true'
+ }
+
+ response = requests.get(url, params=params)
+
+ if response.status_code == 200:
+ return response.json()
+ else:
+ print(f"API 요청 실패 (토큰 없음): {response.status_code}")
+ print(f"Response: {response.text}")
+ return None
+ except Exception as e:
+ print(f"API 호출 중 에러 발생 (토큰 없음): {str(e)}")
+ return None
+
+if not HF_TOKEN:
+ get_trending_spaces = get_trending_spaces_without_token
+
+def create_error_plot():
+ fig = go.Figure()
+ fig.add_annotation(
+ text="데이터를 불러올 수 없습니다.\n(API 인증이 필요합니다)",
+ xref="paper",
+ yref="paper",
+ x=0.5,
+ y=0.5,
+ showarrow=False,
+ font=dict(size=20)
+ )
+ fig.update_layout(
+ title="Error Loading Data",
+ height=400
+ )
+ return fig
+
+def create_space_info_html(spaces_data):
+ if not spaces_data:
+ return "데이터를 불러오는데 실패했습니다.
"
+
+ html_content = """
+
+
Current Trending Rankings
+
+ """
+
+ # 대상: target_spaces + openfree/로 시작
+ all_space_keys = set(target_spaces.keys())
+
+ for space in spaces_data:
+ space_id = space.get('id')
+ if space_id in all_space_keys or (space_id and space_id.startswith("openfree/")):
+ rank = next((idx for idx, s in enumerate(spaces_data, 1) if s.get('id') == space_id), 'N/A')
+ html_content += f"""
+
+
#{rank} - {space_id}
+
👍 Likes: {space.get('likes', 'N/A')}
+
👀 Views: {space.get('views', 'N/A')}
+
{space.get('title', 'N/A')}
+
{space.get('description', 'N/A')[:100]}...
+
+ Visit Space 🔗
+
+
+ """
+
+ html_content += "
"
+ return html_content
+
+def create_data_table(spaces_data):
+ if not spaces_data:
+ return pd.DataFrame()
+
+ rows = []
+ # 대상: target_spaces + openfree/로 시작
+ for idx, space in enumerate(spaces_data, 1):
+ space_id = space.get('id', '')
+ if space_id in target_spaces or space_id.startswith("openfree/"):
+ rows.append({
+ 'Rank': idx,
+ 'Space ID': space_id,
+ 'Likes': space.get('likes', 'N/A'),
+ 'Title': space.get('title', 'N/A'),
+ 'URL': target_spaces.get(space_id, f"https://huggingface.co/spaces/{space_id}")
+ })
+
+ return pd.DataFrame(rows)
+
+def refresh_data():
+ spaces_data = get_trending_spaces()
+ if spaces_data:
+ plot = create_trend_visualization(spaces_data)
+ info = create_space_info_html(spaces_data)
+ df = create_data_table(spaces_data)
+ return plot, info, df
+ else:
+ return create_error_plot(), "API 인증이 필요합니다.
", pd.DataFrame()
+
+def create_registration_bar_chart(data, type_name="Spaces"):
+ try:
+ top_limit = 500 if type_name == "Spaces" else 3000
+ if isinstance(data, pd.DataFrame):
+ if type_name == "Models":
+ data = data[data['Global Rank'].apply(lambda x: isinstance(x, (int, float)) or (isinstance(x, str) and x.startswith('#')))]
+ data = data[data['Global Rank'].apply(lambda x: int(str(x).replace('#', '')) if isinstance(x, str) else x) <= top_limit]
+ elif type_name == "Spaces":
+ data = data[data['Rank'].apply(lambda x: isinstance(x, (int, float))) & (data['Rank'] <= top_limit)]
+
+ id_column = 'Space ID' if type_name == "Spaces" else 'Model ID'
+ registrations = data[id_column].apply(lambda x: x.split('/')[0]).value_counts()
+ else:
+ registrations = {}
+ for item in data:
+ if isinstance(item, dict):
+ rank = item.get('global_rank' if type_name == "Models" else 'rank')
+ if isinstance(rank, str) or rank > top_limit:
+ continue
+ creator = item.get('id', '').split('/')[0]
+ registrations[creator] = registrations.get(creator, 0) + 1
+ registrations = pd.Series(registrations)
+
+ registrations = registrations.sort_values(ascending=False)
+
+ fig = go.Figure(data=[go.Bar(
+ x=registrations.index,
+ y=registrations.values,
+ text=registrations.values,
+ textposition='auto',
+ marker_color='#FF6B6B'
+ )])
+
+ fig.update_layout(
+ title=f"Korean {type_name} Registrations by Creator (Top {top_limit})",
+ xaxis_title="Creator ID",
+ yaxis_title="Number of Registrations",
+ showlegend=False,
+ height=400,
+ width=700
+ )
+
+ return fig
+ except Exception as e:
+ print(f"Error in create_registration_bar_chart: {str(e)}")
+ return go.Figure()
+
+def create_pie_chart(data, total_count, type_name="Spaces"):
+ try:
+ top_limit = 500 if type_name == "Spaces" else 3000
+ if isinstance(data, pd.DataFrame):
+ if type_name == "Models":
+ data = data[data['Global Rank'].apply(lambda x: isinstance(x, (int, float)) or (isinstance(x, str) and x.startswith('#')))]
+ data = data[data['Global Rank'].apply(lambda x: int(str(x).replace('#', '')) if isinstance(x, str) else x) <= top_limit]
+ elif type_name == "Spaces":
+ data = data[data['Rank'].apply(lambda x: isinstance(x, (int, float))) & (data['Rank'] <= top_limit)]
+ korean_count = len(data)
+ else:
+ if type_name == "Models":
+ korean_count = sum(1 for item in data if isinstance(item.get('global_rank'), (int, float)) and item.get('global_rank') <= top_limit)
+ else:
+ korean_count = sum(1 for item in data if isinstance(item.get('rank'), (int, float)) and item.get('rank') <= top_limit)
+
+ other_count = total_count - korean_count
+
+ fig = go.Figure(data=[go.Pie(
+ labels=[f'Korean {type_name} in Top {top_limit}', f'Other {type_name} in Top {top_limit}'],
+ values=[korean_count, other_count],
+ hole=.3,
+ marker_colors=['#FF6B6B', '#4ECDC4'],
+ textinfo='percent+value',
+ hovertemplate="%{label}
" +
+ "Count: %{value}
" +
+ "Percentage: %{percent}
"
+ )])
+
+ fig.update_layout(
+ title=f"Korean vs Other {type_name} Distribution (Top {top_limit})",
+ showlegend=True,
+ height=400,
+ width=500
+ )
+
+ return fig
+ except Exception as e:
+ print(f"Error in create_pie_chart: {str(e)}")
+ return go.Figure()
+
+def refresh_all_data():
+ spaces_results = get_spaces_data("trending")
+ models_results = get_models_data()
+
+ # spaces_results / models_results 각 결과:
+ # (plot, html, dataframe)
+
+ # 파이/바 차트 생성
+ spaces_pie = create_pie_chart(spaces_results[2], 500, "Spaces")
+ spaces_bar = create_registration_bar_chart(spaces_results[2], "Spaces")
+
+ models_pie = create_pie_chart(models_results[2], 3000, "Models")
+ models_bar = create_registration_bar_chart(models_results[2], "Models")
+
+ return [
+ spaces_results[0], spaces_results[1], spaces_results[2],
+ spaces_pie, spaces_bar,
+ models_results[0], models_results[1], models_results[2],
+ models_pie, models_bar
+ ]
+
+with gr.Blocks(theme="Yntec/HaleyCH_Theme_Orange", css="""
+ #spaces_pie, #models_pie {
+ min-height: 400px;
+ border-radius: 10px;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+ }
+ #spaces_bar, #models_bar {
+ min-height: 400px;
+ border-radius: 10px;
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
+ }
+""") as demo:
+
+ gr.Markdown("""
+ # 🤗 허깅페이스 '한국(언어) 리더보드'
+ HuggingFace가 제공하는 Spaces와 Models 실시간 인기 순위 반영하여 '한국인(기업/언어)'의 리스트(공개,검색,리더보드 등)만 분석. (c)'한국인공지능진흥협회' / 요청: arxivgpt@gmail.com
+ """)
+
+ gr.Markdown("""
+ ### [Hot NEWS] 허깅페이스 선정 12월 'TOP 12'에 한국 'ginipick'의 'FLUXllama'와 'Text3D' 2종이 선정됨
+ """)
+ gr.Image("HF-TOP12.png", show_label=False)
+
+ refresh_btn = gr.Button("🔄 새로 고침", variant="primary")
+
+ with gr.Tab("Spaces Trending"):
+ trending_plot = gr.Plot()
+ with gr.Row():
+ with gr.Column(scale=1):
+ spaces_pie_chart = gr.Plot(
+ label="Korean Spaces Distribution",
+ elem_id="spaces_pie"
+ )
+ with gr.Column(scale=2):
+ spaces_bar_chart = gr.Plot(
+ label="Registrations by Creator",
+ elem_id="spaces_bar"
+ )
+ trending_info = gr.HTML()
+ trending_df = gr.DataFrame(
+ headers=["Rank", "Space ID", "Title", "Likes", "URL"],
+ datatype=["number", "str", "str", "number", "str"],
+ row_count=(10, "dynamic")
+ )
+
+ with gr.Tab("Models Trending"):
+ models_plot = gr.Plot()
+ with gr.Row():
+ with gr.Column(scale=1):
+ models_pie_chart = gr.Plot(
+ label="Korean Models Distribution",
+ elem_id="models_pie"
+ )
+ with gr.Column(scale=2):
+ models_bar_chart = gr.Plot(
+ label="Registrations by Creator",
+ elem_id="models_bar"
+ )
+ models_info = gr.HTML()
+ models_df = gr.DataFrame(
+ headers=["Global Rank", "Model ID", "Title", "Downloads", "Likes", "Korea Search", "URL"],
+ datatype=["str", "str", "str", "str", "str", "str", "str"],
+ row_count=(10, "dynamic")
+ )
+
+ def refresh_all_data():
+ try:
+ spaces_results = get_spaces_data("trending")
+ models_results = get_models_data()
+
+ spaces_pie = create_pie_chart(spaces_results[2], 500, "Spaces")
+ spaces_bar = create_registration_bar_chart(spaces_results[2], "Spaces")
+
+ models_pie = create_pie_chart(models_results[2], 3000, "Models")
+ models_bar = create_registration_bar_chart(models_results[2], "Models")
+
+ return [
+ spaces_results[0], spaces_results[1], spaces_results[2],
+ spaces_pie, spaces_bar,
+ models_results[0], models_results[1], models_results[2],
+ models_pie, models_bar
+ ]
+ except Exception as e:
+ print(f"Error in refresh_all_data: {str(e)}")
+ return [None] * 10
+
+ refresh_btn.click(
+ fn=refresh_all_data,
+ outputs=[
+ trending_plot, trending_info, trending_df,
+ spaces_pie_chart, spaces_bar_chart,
+ models_plot, models_info, models_df,
+ models_pie_chart, models_bar_chart
+ ]
+ )
+
+ try:
+ initial_data = refresh_all_data()
+ trending_plot.value = initial_data[0]
+ trending_info.value = initial_data[1]
+ trending_df.value = initial_data[2]
+ spaces_pie_chart.value = initial_data[3]
+ spaces_bar_chart.value = initial_data[4]
+ models_plot.value = initial_data[5]
+ models_info.value = initial_data[6]
+ models_df.value = initial_data[7]
+ models_pie_chart.value = initial_data[8]
+ models_bar_chart.value = initial_data[9]
+ except Exception as e:
+ print(f"Error loading initial data: {str(e)}")
+ gr.Warning("초기 데이터 로드 중 오류가 발생했습니다.")
+
+demo.launch(
+ server_name="0.0.0.0",
+ server_port=7860,
+ share=False,
+ show_error=True
+)