diff --git a/src/lib/components/chat/ModelSelector/ModelItem.svelte b/src/lib/components/chat/ModelSelector/ModelItem.svelte index 5dcf24443a..0103b896dc 100644 --- a/src/lib/components/chat/ModelSelector/ModelItem.svelte +++ b/src/lib/components/chat/ModelSelector/ModelItem.svelte @@ -26,7 +26,7 @@ export let selectedValues: string[] = []; export let compareEnabled = false; - export let unloadModelHandler: (modelValue: string) => void = () => {}; + export let unloadModelHandler: (model: any) => void = () => {}; export let pinModelHandler: (modelId: string) => void = () => {}; export let deleteModelHandler: (model: any) => void = () => {}; export let selectionOnly = false; @@ -44,6 +44,8 @@ } }; + const formatSize = (size?: number) => (size ? `(${(size / 1024 ** 3).toFixed(1)}GB)` : ''); + let showMenu = false; $: isSelected = compareEnabled ? selectedValues.includes(item.value) : value === item.value; @@ -128,6 +130,23 @@ {/if} + {:else if item.model.provider === 'lmstudio' || item.model.provider === 'llama.cpp'} + {@const parameterSize = item.model.params_string ?? item.model.details?.parameter_size ?? ''} + {@const quantization = + item.model.quantization?.name ?? item.model.details?.quantization_level ?? ''} + {@const size = item.model.size_bytes ?? item.model.size} + {#if parameterSize || quantization || size} +