[object Object]

← back to Exo

Rename Nemotron to NVIDIA in model picker with logo (#1790)

178c617bbb96525c09ab79919ef81be5b46c5e77 · 2026-03-24 18:56:59 -0700 · Alex Cheema

## Motivation

The Nemotron model family in the model picker sidebar was displaying as
"Nemotron" with a generic checkmark icon. Since these models are
NVIDIA's Nemotron models, the category should be branded as "NVIDIA"
with the official NVIDIA logo, consistent with how other families are
branded (e.g., "llama" → "Meta", "gpt-oss" → "OpenAI").

## Changes

- **FamilySidebar.svelte**: Added `nemotron: "NVIDIA"` to the
`familyNames` mapping so the sidebar displays "NVIDIA" instead of
"Nemotron"
- **FamilyLogos.svelte**: Added the NVIDIA "eye" logo as an inline SVG
for the `nemotron` family, matching the `viewBox="0 0 24 24"` /
`fill="currentColor"` pattern used by all other brand logos
- **ModelPickerModal.svelte**: Added `"nemotron"` to the `familyOrder`
array so NVIDIA appears in a consistent position in the sidebar

## Why It Works

The model picker derives categories from the `family` field in TOML
model cards. Nemotron models already have `family = "nemotron"`, but the
three UI components (display name, logo, sort order) lacked explicit
entries for it, causing fallback behavior (auto-capitalized name,
checkmark icon, alphabetical sorting). Adding explicit entries for all
three aligns NVIDIA with the existing brand pattern.

## Test Plan

### Manual Testing
<!-- Hardware: N/A - dashboard UI change only -->
- Built dashboard successfully (`npm run build`)
- Verified the NVIDIA logo renders in the sidebar alongside existing
brand logos

### Automated Testing
- No test changes needed — this is a purely cosmetic dashboard change

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 178c617bbb96525c09ab79919ef81be5b46c5e77
Author: Alex Cheema <41707476+AlexCheema@users.noreply.github.com>
Date:   Tue Mar 24 18:56:59 2026 -0700

    Rename Nemotron to NVIDIA in model picker with logo (#1790)
    
    ## Motivation
    
    The Nemotron model family in the model picker sidebar was displaying as
    "Nemotron" with a generic checkmark icon. Since these models are
    NVIDIA's Nemotron models, the category should be branded as "NVIDIA"
    with the official NVIDIA logo, consistent with how other families are
    branded (e.g., "llama" → "Meta", "gpt-oss" → "OpenAI").
    
    ## Changes
    
    - **FamilySidebar.svelte**: Added `nemotron: "NVIDIA"` to the
    `familyNames` mapping so the sidebar displays "NVIDIA" instead of
    "Nemotron"
    - **FamilyLogos.svelte**: Added the NVIDIA "eye" logo as an inline SVG
    for the `nemotron` family, matching the `viewBox="0 0 24 24"` /
    `fill="currentColor"` pattern used by all other brand logos
    - **ModelPickerModal.svelte**: Added `"nemotron"` to the `familyOrder`
    array so NVIDIA appears in a consistent position in the sidebar
    
    ## Why It Works
    
    The model picker derives categories from the `family` field in TOML
    model cards. Nemotron models already have `family = "nemotron"`, but the
    three UI components (display name, logo, sort order) lacked explicit
    entries for it, causing fallback behavior (auto-capitalized name,
    checkmark icon, alphabetical sorting). Adding explicit entries for all
    three aligns NVIDIA with the existing brand pattern.
    
    ## Test Plan
    
    ### Manual Testing
    <!-- Hardware: N/A - dashboard UI change only -->
    - Built dashboard successfully (`npm run build`)
    - Verified the NVIDIA logo renders in the sidebar alongside existing
    brand logos
    
    ### Automated Testing
    - No test changes needed — this is a purely cosmetic dashboard change
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---
 dashboard/src/lib/components/FamilyLogos.svelte      | 6 ++++++
 dashboard/src/lib/components/FamilySidebar.svelte    | 1 +
 dashboard/src/lib/components/ModelPickerModal.svelte | 1 +
 3 files changed, 8 insertions(+)

diff --git a/dashboard/src/lib/components/FamilyLogos.svelte b/dashboard/src/lib/components/FamilyLogos.svelte
index 6b900092..3cbb627d 100644
--- a/dashboard/src/lib/components/FamilyLogos.svelte
+++ b/dashboard/src/lib/components/FamilyLogos.svelte
@@ -88,6 +88,12 @@
       d="M22.012 0h1.032v.927H24v.968h-.956V3.78h-1.032V1.896h-1.878v-.97h1.878V0zM2.6 12.371V1.87h.969v10.502h-.97zm10.423.66h10.95v.918h-6.208v9.579h-4.742V13.03zM5.629 3.333v12.356H0v4.51h10.386V8L20.859 8l-.003-4.668-15.227.001z"
     />
   </svg>
+{:else if family === "nemotron"}
+  <svg class="w-6 h-6 {className}" viewBox="0 0 24 24" fill="currentColor">
+    <path
+      d="M8.948 8.798v-1.43a6.7 6.7 0 0 1 .424-.018c3.922-.124 6.493 3.374 6.493 3.374s-2.774 3.851-5.75 3.851c-.398 0-.787-.062-1.158-.185v-4.346c1.528.185 1.837.857 2.747 2.385l2.04-1.714s-1.492-1.952-4-1.952a6.016 6.016 0 0 0-.796.035m0-4.735v2.138l.424-.027c5.45-.185 9.01 4.47 9.01 4.47s-4.08 4.964-8.33 4.964c-.37 0-.733-.035-1.095-.097v1.325c.3.035.61.062.91.062 3.957 0 6.82-2.023 9.593-4.408.459.371 2.34 1.263 2.73 1.652-2.633 2.208-8.772 3.984-12.253 3.984-.335 0-.653-.018-.971-.053v1.864H24V4.063zm0 10.326v1.131c-3.657-.654-4.673-4.46-4.673-4.46s1.758-1.944 4.673-2.262v1.237H8.94c-1.528-.186-2.73 1.245-2.73 1.245s.68 2.412 2.739 3.11M2.456 10.9s2.164-3.197 6.5-3.533V6.201C4.153 6.59 0 10.653 0 10.653s2.35 6.802 8.948 7.42v-1.237c-4.84-.6-6.492-5.936-6.492-5.936z"
+    />
+  </svg>
 {:else}
   <svg class="w-6 h-6 {className}" viewBox="0 0 24 24" fill="currentColor">
     <path
diff --git a/dashboard/src/lib/components/FamilySidebar.svelte b/dashboard/src/lib/components/FamilySidebar.svelte
index de6a6679..4a7307a0 100644
--- a/dashboard/src/lib/components/FamilySidebar.svelte
+++ b/dashboard/src/lib/components/FamilySidebar.svelte
@@ -31,6 +31,7 @@
     kimi: "Kimi",
     flux: "FLUX",
     "qwen-image": "Qwen Img",
+    nemotron: "NVIDIA",
   };
 
   function getFamilyName(family: string): string {
diff --git a/dashboard/src/lib/components/ModelPickerModal.svelte b/dashboard/src/lib/components/ModelPickerModal.svelte
index 0753c8be..1671b0ab 100644
--- a/dashboard/src/lib/components/ModelPickerModal.svelte
+++ b/dashboard/src/lib/components/ModelPickerModal.svelte
@@ -459,6 +459,7 @@
       "llama",
       "flux",
       "qwen-image",
+      "nemotron",
     ];
     return Array.from(families).sort((a, b) => {
       const aIdx = familyOrder.indexOf(a);

← 7277c903 Fix enable thinking (#1786)  ·  back to Exo  ·  Update dependencies including mlx 0.31.2 (#1789) 7117d748 →