Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
def get_chart_colors(): | |
# if is_dark_theme(): | |
# return { | |
# "Private": "#60A5FA", # accent-blue | |
# "Open source": "#A78BFA", # accent-purple | |
# "performance_bands": ["#DCFCE7", "#FEF9C3", "#FEE2E2"], | |
# "text": "#FFFFFF", | |
# "background": "#1a1b1e", | |
# "grid": (1, 1, 1, 0.1), # RGBA tuple for grid | |
# } | |
return { | |
"Private": "#3F78FA", # accent-blue light | |
"Open source": "#A13AE2", # accent-purple light | |
"performance_bands": ["#DCFCE7", "#FEF9C3", "#FEE2E2"], | |
"text": "#111827", | |
"background": "#FFFFFF", | |
"grid": (0, 0, 0, 0.1), # RGBA tuple for grid | |
} | |
def get_rank_badge(rank): | |
"""Generate HTML for rank badge with appropriate styling""" | |
badge_styles = { | |
1: ("1st", "linear-gradient(145deg, #ffd700, #ffc400)", "#000"), | |
2: ("2nd", "linear-gradient(145deg, #9ca3af, #787C7E)", "#fff"), | |
3: ("3rd", "linear-gradient(145deg, #CD7F32, #b36a1d)", "#fff"), | |
} | |
if rank in badge_styles: | |
label, gradient, text_color = badge_styles[rank] | |
return f""" | |
<div style=" | |
display: inline-flex; | |
align-items: center; | |
justify-content: center; | |
min-width: 48px; | |
padding: 4px 12px; | |
background: {gradient}; | |
color: {text_color}; | |
border-radius: 6px; | |
font-weight: 600; | |
font-size: 0.9em; | |
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); | |
"> | |
{label} | |
</div> | |
""" | |
return f""" | |
<div style=" | |
display: inline-flex; | |
align-items: center; | |
justify-content: center; | |
min-width: 28px; | |
color: #a1a1aa; | |
font-weight: 500; | |
"> | |
{rank} | |
</div> | |
""" | |
def get_type_badge(model_type): | |
"""Generate HTML for model type badge""" | |
colors = get_chart_colors() | |
colors = {"Private": colors["Private"], "Open source": colors["Open source"]} | |
bg_color = colors.get(model_type, "#4F46E5") | |
return f""" | |
<div style=" | |
display: inline-flex; | |
align-items: center; | |
padding: 4px 8px; | |
background: {bg_color}; | |
color: white; | |
border-radius: 4px; | |
font-size: 0.85em; | |
font-weight: 500; | |
"> | |
{model_type} | |
</div> | |
""" | |
def get_score_bar(score): | |
"""Generate HTML for score bar with gradient styling""" | |
width = score * 100 | |
return f""" | |
<div style="display: flex; align-items: center; gap: 12px; width: 100%;"> | |
<div style=" | |
flex-grow: 1; | |
height: 8px; | |
background: var(--score-bg, rgba(255, 255, 255, 0.1)); | |
border-radius: 4px; | |
overflow: hidden; | |
max-width: 200px; | |
"> | |
<div style=" | |
width: {width}%; | |
height: 100%; | |
background: linear-gradient(90deg, var(--accent-blue, #60A5FA), var(--accent-purple, #A78BFA)); | |
border-radius: 4px; | |
transition: width 0.3s ease; | |
"></div> | |
</div> | |
<span style=" | |
font-family: 'SF Mono', monospace; | |
font-weight: 600; | |
color: var(--text-primary, #ffffff); | |
min-width: 60px; | |
">{score:.3f}</span> | |
</div> | |
""" | |
def get_output_type_badge(output_type): | |
"""Generate HTML for output type badges with different colors, supporting both light and dark themes""" | |
type_styles = { | |
"Normal": { | |
"light": {"bg": "#F3F4F6", "color": "#374151"}, | |
"dark": {"bg": "#374151", "color": "#F3F4F6"}, | |
}, | |
"Reasoning": { | |
"light": {"bg": "#DBEAFE", "color": "#1E40AF"}, | |
"dark": {"bg": "#1E40AF", "color": "#DBEAFE"}, | |
}, | |
} | |
style = type_styles.get(output_type, type_styles["Normal"]) | |
return f""" | |
<span style=" | |
background: var(--bg-color, {style['light']['bg']}); | |
color: var(--text-color, {style['light']['color']}); | |
padding: 4px 8px; | |
border-radius: 4px; | |
font-size: 0.875rem; | |
font-weight: 500; | |
"> | |
{output_type} | |
</span> | |
""" | |