Hvilken model skal jeg vælge?
Trade-offs mellem Gemma 4 varianter (plus Gemma 3 legacy) og capability matrix der bestemmer tool-access.
TL;DR — anbefalinger
| Use case | Anbefalet model | Size | RAM | Tool-tier |
|---|---|---|---|---|
| Production shop, almindelig hardware | gemma4:e4b (e4b-mlx på Apple Silicon) | 9.6 GB | 16 GB+ | Lav-risk writes (~15 tools) |
| High-end workstation, maks kvalitet | gemma4:26b | 18 GB | 32 GB+ | Alle 37 tools |
| Tiny laptop, 8GB RAM | gemma4:e2b (e2b-mlx på Apple Silicon) | 7.2 GB | 8 GB+ | Læs-only (~10 tools) |
| Niche, langsomst men dybeste reasoning | gemma4:31b | 20 GB | 32 GB+ | Alle 37 tools |
| Testing alternativ open-source | Llama 3.3 70B | 40 GB | 64 GB | Alle 37 tools |
Capability matrix
Cartwright capper hvilke admin-tools en model får adgang til, baseret på modellens reelle function-calling-kvalitet:
read-only— kun læse-tools (*.search,*.list,*.get,analytics.summary,audit.list,settings.get). Cirka 10 tools.low-risk-writes— ovenstående + sikre writes (pages.upsert,categories.upsert,discounts.toggle,images.search_unsplash,products.attach_image). Cirka 15 tools.all— alle 37 admin-tools inkl. destruktive writes (products.delete,orders.update_status,marketing.create_campaign,audit.revert).
Hvorfor cap'es det? Fordi small-models laver tool-call-fejl. En 2-4B-model kan godt sige "jeg vil kalde products.delete på slug 'foo'", men når Zod validerer args mod schema, fejler det ofte. Bedre at vise færre tools end at admin spørger AI'en og får "AI prøvede og fejlede" som svar.
Gemma 4 — anbefalet stack
Gemma 4 er Google's nyeste open-source-model: multimodal (text + image), 128K-256K context window, og MLX-optimerede varianter for Apple Silicon. Vores capability-tier er konservativt valgt — bump'es efter empirisk verifikation.
gemma4:e4b / gemma4:e4b-mlx (anbefalet)
# Apple Silicon (M1/M2/M3/M4)
ollama pull gemma4:e4b-mlx
# Linux / Intel Mac / Windows
ollama pull gemma4:e4b- Storrelse: 9.6 GB download
- Latency: 0.5-3 sek pr. svar på Apple Silicon med MLX-variant
- Sweet spot for de fleste shops. Læser + low-risk writes.
- Tool-tier:
low-risk-writes(~15 tools) - Context: 128K tokens
gemma4:26b (max kvalitet)
ollama pull gemma4:26b- Storrelse: 18 GB download
- Latency: 3-12 sek pr. svar
- Alle 37 admin-tools inkl. destruktive operations.
- Tool-tier:
all - Context: 256K tokens
gemma4:e2b / gemma4:e2b-mlx (tiny)
# Apple Silicon
ollama pull gemma4:e2b-mlx
# Andre
ollama pull gemma4:e2b- Storrelse: 7.2 GB download
- Latency: 0.3-1.5 sek pr. svar med MLX
- God til Explain-knapper og simpel læs-chat. Cappet til read-only tools.
- Tool-tier:
read-only
gemma4:31b (niche)
ollama pull gemma4:31b- Storrelse: 20 GB download
- Latency: 5-18 sek pr. svar
- Lidt bedre reasoning end 26b på lange flows, men slower. Vælg kun hvis du har specifik use case.
- Tool-tier:
all - Context: 256K tokens
Gemma 3 (legacy — virker stadig)
Cartwright's MODEL_CAPABILITIES har stadig entries for Gemma 3 så kunder der allerede har pulled disse modeller kan blive ved med at bruge dem:
| Model | Size | RAM | Tier |
|---|---|---|---|
| gemma3:4b | 3 GB | 8 GB | read-only |
| gemma3:12b | 7 GB | 16 GB | low-risk-writes |
| gemma3:27b | 17 GB | 32 GB | all |
Migration til Gemma 4 anbefales men ikke obligatorisk — bare pull den nye model og vælg den i admin-UI.
Llama 3.3 70B (alternativ heavy)
ollama pull llama3.3:70b- Storrelse: 40 GB download, 48 GB i RAM
- Latency: 10-30 sek pr. svar
- Bedste open-source reasoning for tool-heavy flows. Overkill for de fleste shops.
- Tool-tier:
all
Hvad sker der med en ukendt model?
Hvis du pull'er en model der ikke er i Cartwright's hardcoded MODEL_CAPABILITIES-matrix, defaulter den til read-only tier — den sikre default.
Vil du have din model anerkendt? PR til lib/ai/client.ts:
export const MODEL_CAPABILITIES: Record<string, ModelCapabilities> = {
// ... eksisterende ...
"min-nye-model:13b": {
tools: "low-risk-writes",
maxTokens: 16384,
supportsToolCall: true,
},
};Det er én linje. Et nyt provider-system kræver ikke at man rører kerne-kode.
Når Gemma 5 / Llama 5 / DeepSeek-X lander
Capability matrix gør det trivielt: tilføj en entry, valg modellen i /admin/integrations, og hele Cartwright bruger den. Ingen refactor, ingen breaking changes — det er hele pointen med provider-abstraktionen.