mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-23 06:06:42 +02:00
✨ feat(llm-playground): add model metadata system and SSD documentation
- Add MODEL_METADATA config for Ollama models with descriptions and modality - Update default model to gemma3:4b - Show model descriptions in ModelSelector and ComparisonSelector - Add docs/OLLAMA_MODELS.md with instructions for adding new models - Document external 4TB SSD setup in MAC_MINI_SERVER.md - Add gemma3:12b, gemma3:27b, qwen2.5-coder:14b to model registry
This commit is contained in:
parent
a341aa1b13
commit
213740411b
6 changed files with 310 additions and 14 deletions
|
|
@ -42,6 +42,7 @@
|
|||
class="flex cursor-pointer items-center gap-2 rounded p-2 transition-colors hover:bg-zinc-800"
|
||||
class:opacity-50={isDisabled}
|
||||
class:cursor-not-allowed={isDisabled}
|
||||
title={model.description || ''}
|
||||
>
|
||||
<input
|
||||
type="checkbox"
|
||||
|
|
@ -50,9 +51,16 @@
|
|||
disabled={isDisabled}
|
||||
class="rounded"
|
||||
/>
|
||||
<span class="truncate text-sm" style="color: var(--color-text);">
|
||||
{getModelDisplayName(model.id)}
|
||||
</span>
|
||||
<div class="min-w-0 flex-1">
|
||||
<span class="block truncate text-sm" style="color: var(--color-text);">
|
||||
{getModelDisplayName(model.id)}
|
||||
</span>
|
||||
{#if model.description}
|
||||
<span class="block truncate text-xs" style="color: var(--color-text-muted);">
|
||||
{model.description}
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
</label>
|
||||
{/each}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,19 @@
|
|||
<script lang="ts">
|
||||
import { modelsStore } from '$lib/stores/models.svelte';
|
||||
import { modelsStore, MODEL_METADATA } from '$lib/stores/models.svelte';
|
||||
import { settingsStore } from '$lib/stores/settings.svelte';
|
||||
import { onMount } from 'svelte';
|
||||
|
||||
onMount(() => {
|
||||
modelsStore.loadModels();
|
||||
});
|
||||
|
||||
// Get description for currently selected model
|
||||
const selectedModelDescription = $derived(() => {
|
||||
const modelName = settingsStore.model.includes('/')
|
||||
? settingsStore.model.split('/').slice(1).join('/')
|
||||
: settingsStore.model;
|
||||
return MODEL_METADATA[modelName]?.description;
|
||||
});
|
||||
</script>
|
||||
|
||||
<div>
|
||||
|
|
@ -48,8 +56,11 @@
|
|||
</optgroup>
|
||||
{/each}
|
||||
</select>
|
||||
<p class="mt-1.5 text-xs" style="color: var(--color-text-muted);">
|
||||
{modelsStore.models.length} models available
|
||||
</p>
|
||||
<div class="mt-1.5 text-xs" style="color: var(--color-text-muted);">
|
||||
{#if selectedModelDescription()}
|
||||
<p class="mb-0.5">{selectedModelDescription()}</p>
|
||||
{/if}
|
||||
<p>{modelsStore.models.length} models available</p>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue