cartwright
AI & ProvidersLokal AI (Ollama + Gemma 4)

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 caseAnbefalet modelSizeRAMTool-tier
Production shop, almindelig hardwaregemma4:e4b (e4b-mlx på Apple Silicon)9.6 GB16 GB+Lav-risk writes (~15 tools)
High-end workstation, maks kvalitetgemma4:26b18 GB32 GB+Alle 37 tools
Tiny laptop, 8GB RAMgemma4:e2b (e2b-mlx på Apple Silicon)7.2 GB8 GB+Læs-only (~10 tools)
Niche, langsomst men dybeste reasoninggemma4:31b20 GB32 GB+Alle 37 tools
Testing alternativ open-sourceLlama 3.3 70B40 GB64 GBAlle 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:

ModelSizeRAMTier
gemma3:4b3 GB8 GBread-only
gemma3:12b7 GB16 GBlow-risk-writes
gemma3:27b17 GB32 GBall

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.

On this page