diff --git a/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte b/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte index 581e535b12..7b667e42bf 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelectorDropdown.svelte @@ -14,6 +14,7 @@ import * as Tooltip from '$lib/components/ui/tooltip'; import { MODEL_SELECTOR_ICON, SETTINGS_KEYS } from '$lib/constants'; import { KeyboardKey, ServerModelStatus } from '$lib/enums'; + import { useModelParamsFallback } from '$lib/hooks/use-model-params-fallback.svelte'; import { useModelsSelector } from '$lib/hooks/use-models-selector.svelte'; import { useReasoningMenu } from '$lib/hooks/use-reasoning-menu.svelte'; import { modelsStore, settingsStore } from '$lib/stores'; @@ -65,6 +66,15 @@ const reasoning = useReasoningMenu(); + const selectedOption = $derived(ms.getDisplayOption()); + const triggerModel = $derived(selectedOption?.model ?? null); + + // Params badge fallback for trigger ids that carry no params token. + const { paramsFallback } = useModelParamsFallback({ + modelId: () => triggerModel, + metaParams: () => selectedOption?.meta?.n_params + }); + const showOrgNameInTrigger = $derived( settingsStore.config[SETTINGS_KEYS.SHOW_MODEL_ORG_NAME_IN_TRIGGER] ?? false ); @@ -179,8 +189,6 @@
No models available.
{/if} {:else} - {@const selectedOption = ms.getDisplayOption()} - {@const triggerModel = selectedOption?.model} {@const triggerStatus = triggerModel ? modelsStore.routerModels.find((m) => m.id === triggerModel)?.status?.value : undefined} @@ -223,6 +231,7 @@ hideOrgName={!showOrgNameInTrigger} hideQuantization modelId={selectedOption.model} + params={paramsFallback} /> {:else} Select model @@ -331,7 +340,6 @@ Sticks to the bottom of the content scrollport. -->