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""" +
+

Rank #{rank} - {space_id}

+

{title}

+

👍 Likes: {likes}

+ + Visit Space 🔗 + +
+ """ + + 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 +)