# Pull a model fleet into Ollama on Windows. Edit $models to taste. # Names must line up with the routing map in router.py (see docs/ROUTING.md). # Run: powershell -ExecutionPolicy Bypass -File .\scripts\pull-models.ps1 $models = @( # general / small "qwen3:8b", "qwen3:14b", # reasoning / agentic "qwen3.6:35b-a3b", "gpt-oss:20b", "glm-4.7-flash", # coding "qwen3-coder:30b", # vision / OCR "qwen3-vl:8b", "qwen3-vl:30b-a3b-instruct", # multimodal (vision + audio) — gemma4:e4b is the default ROUTER_AUDIO_MODEL "gemma4:e4b", "gemma4:12b", "gemma4:26b" # example HF GGUF: "hf.co/USER/REPO:Q4_K_M" ) $ok = @(); $fail = @(); $i = 0 foreach ($m in $models) { $i++ Write-Host "=== [$i/$($models.Count)] pulling $m ===" ollama pull $m if ($LASTEXITCODE -eq 0) { $ok += $m } else { Write-Host "!! failed: $m"; $fail += $m } } Write-Host "" Write-Host "done. $($ok.Count)/$($models.Count) succeeded." if ($fail.Count) { Write-Host "failed: $($fail -join ', ')" }