From c147775efb7a3ab873a2da3802eb0eb6b2bfb644 Mon Sep 17 00:00:00 2001 From: Manan17 Date: Tue, 17 Mar 2026 04:05:22 +0000 Subject: [PATCH] change the ordering of models --- studio/frontend/src/config/training.ts | 14 ++++++++++++++ .../components/steps/model-selection-step.tsx | 9 +++++++-- .../src/features/studio/sections/model-section.tsx | 7 +++++-- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/studio/frontend/src/config/training.ts b/studio/frontend/src/config/training.ts index 3d986f1e89..f8fc09c353 100644 --- a/studio/frontend/src/config/training.ts +++ b/studio/frontend/src/config/training.ts @@ -131,3 +131,17 @@ export const MODEL_TYPE_TO_HF_TASK: Record = { audio: "text-to-speech", embeddings: "feature-extraction", }; + + +export const PRIORITY_TRAINING_MODELS: readonly string[] = [ + "unsloth/Qwen3.5-2B", + "unsloth/Qwen3.5-9B", + "unsloth/gpt-oss-20b", + "unsloth/NVIDIA-Nemotron-3-Nano-4B", + "unsloth/Qwen3-0.6B", + "unsloth/gemma-3-4b-it", + "unsloth/embeddinggemma-300m", + "unsloth/orpheus-3b-0.1-ft", + "unsloth/Llama-3.1-8B-Instruct", + "unsloth/Llama-3.2-3B-Instruct", +]; diff --git a/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx b/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx index 5e981fef3b..ab41214d20 100644 --- a/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx +++ b/studio/frontend/src/features/onboarding/components/steps/model-selection-step.tsx @@ -33,7 +33,7 @@ import { TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; -import { MODEL_TYPE_TO_HF_TASK } from "@/config/training"; +import { MODEL_TYPE_TO_HF_TASK, PRIORITY_TRAINING_MODELS } from "@/config/training"; import { useDebouncedValue, useGpuInfo, @@ -101,7 +101,12 @@ export function ModelSelectionStep() { const { error: tokenValidationError, isChecking: isCheckingToken } = useHfTokenValidation(hfToken); - const resultIds = useMemo(() => hfResults.map((r) => r.id), [hfResults]); + const resultIds = useMemo(() => { + const ids = hfResults.map((r) => r.id); + const prioritySet = new Set(PRIORITY_TRAINING_MODELS); + const rest = ids.filter((id) => !prioritySet.has(id)); + return [...PRIORITY_TRAINING_MODELS, ...rest]; + }, [hfResults]); // Match Studio behavior: only show exception signals (OOM/TIGHT) in training flows. const vramMap = useMemo(() => { diff --git a/studio/frontend/src/features/studio/sections/model-section.tsx b/studio/frontend/src/features/studio/sections/model-section.tsx index 72d6abcf59..5f115e160f 100644 --- a/studio/frontend/src/features/studio/sections/model-section.tsx +++ b/studio/frontend/src/features/studio/sections/model-section.tsx @@ -28,7 +28,7 @@ import { TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; -import { MODEL_TYPE_TO_HF_TASK } from "@/config/training"; +import { MODEL_TYPE_TO_HF_TASK, PRIORITY_TRAINING_MODELS } from "@/config/training"; import { useDebouncedValue, useGpuInfo, @@ -172,7 +172,10 @@ export function ModelSection() { if (selectedModel && !ids.includes(selectedModel)) { ids.push(selectedModel); } - return ids; + + const prioritySet = new Set(PRIORITY_TRAINING_MODELS); + const rest = ids.filter((id) => !prioritySet.has(id)); + return [...PRIORITY_TRAINING_MODELS, ...rest]; }, [hfResults, selectedModel]); // Filter out GGUF models — they can't be used for training