feat(models): gate optional models behind required mistral+nomic-embed
Models page redesign: tabs (Required/Recommended/Installed) with a multi-column card grid, required models (memory curator + embeddings) surfaced first and gating the rest until both are installed. Adds a qwen2.5:14b tier to the hardware-fit catalog for high-VRAM machines. Installer and restore messaging updated to match. Also declares pytest in requirements-base.txt so bin/check.sh's test suite is reproducible on a fresh venv. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
7d9681907c
commit
63c93346ae
+8
-3
@@ -11,16 +11,21 @@ import subprocess
|
||||
from typing import Any, Dict, List, Optional
|
||||
|
||||
# Curated local-friendly models with their Q4 on-disk sizes (GB) and role.
|
||||
# Sizes are approximate default-quant download sizes.
|
||||
# Sizes are approximate default-quant download sizes. `required: True` marks
|
||||
# the two models NexusOS itself depends on (memory curator + embeddings) —
|
||||
# see DEFAULT_MEMORY_MODEL / DEFAULT_EMBED_MODEL in nexus_config.py, the
|
||||
# single source of truth these two entries must stay in sync with. The
|
||||
# Models page surfaces required models first and gates the rest behind them.
|
||||
CATALOG: List[Dict[str, Any]] = [
|
||||
{"name": "mistral:latest", "size_gb": 4.1, "params": "7B", "role": "memory", "note": "Memory curator: extracts facts, titles conversations", "required": True},
|
||||
{"name": "nomic-embed-text","size_gb": 0.27,"params": "—", "role": "embeddings", "note": "Powers semantic recall of past conversations", "required": True},
|
||||
{"name": "gemma2:2b", "size_gb": 1.6, "params": "2B", "role": "chat", "note": "Smallest; fast on any GPU"},
|
||||
{"name": "llama3.2:3b", "size_gb": 2.0, "params": "3B", "role": "chat", "note": "Small Llama, fits 4GB GPU"},
|
||||
{"name": "qwen3:4b", "size_gb": 2.5, "params": "4B", "role": "chat", "note": "Reasoning (Think toggle); great on a 4GB card"},
|
||||
{"name": "phi3:mini", "size_gb": 2.2, "params": "3.8B", "role": "chat", "note": "Strong for its size"},
|
||||
{"name": "mistral:latest", "size_gb": 4.1, "params": "7B", "role": "chat/memory","note": "Good curator; runs on CPU/8GB+ RAM"},
|
||||
{"name": "qwen2.5:7b", "size_gb": 4.7, "params": "7B", "role": "chat", "note": "Capable 7B"},
|
||||
{"name": "llama3.1:8b", "size_gb": 4.7, "params": "8B", "role": "chat", "note": "Higher quality; CPU or 6GB+ GPU"},
|
||||
{"name": "nomic-embed-text","size_gb": 0.27,"params": "—", "role": "embeddings", "note": "Required for recall / document RAG"},
|
||||
{"name": "qwen2.5:14b", "size_gb": 9.0, "params": "14B", "role": "chat", "note": "High-end; needs a 12-16GB GPU or 24GB+ RAM"},
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user