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