Ollama — komplet guide til lokal AI (2026)
Ollama lader dig køre store sprogmodeller lokalt med én kommando. Guiden dækker installation på Mac og Linux, hvilken model du skal vælge (med størrelsestabel), CLI-cheat-sheet, REST API med curl og Python, tilpasning med Modelfile og system-prompts, samt performance-tricks der halverer VRAM-forbruget.
Ollama lader dig køre store sprogmodeller lokalt med én kommando: ollama run llama3.2. Ingen API-nøgle, ingen abonnement, ingen data der forlader din maskine. Denne guide tager dig fra installation til færdig opsætning — inkl. REST API, Python og performance-tricks.
Installation
Mac
brew install ollama
Start serveren:
ollama serve
Eller som baggrundstjeneste der starter automatisk ved login:
brew services start ollama
Linux
curl -fsSL https://ollama.com/install.sh | sh
Installationen sætter Ollama op som en systemd-service der starter automatisk. Tjek status med:
systemctl status ollama
Windows
Download installationsfilen fra ollama.com — den sætter sig op som en bakke-app og starter automatisk ved login.
Første model
Pull og kør en model med én kommando:
ollama run llama3.2:3b
Ollama downloader modellen første gang (~2 GB), cacher den i ~/.ollama/models/, og åbner en interaktiv chat. /bye afslutter.
For at downloade uden at åbne chat:
ollama pull qwen3.5
Hvilken model skal du vælge?
| Model | Størrelse | RAM/VRAM | Hvad den er god til |
|---|---|---|---|
llama3.2:1b | 1.3 GB | 2 GB | Hurtigste option — god til klassificering, korte svar |
llama3.2:3b | 2.0 GB | 3 GB | Bedste startpunkt — kompetent, kører overalt |
llama3.1:8b | 4.9 GB | 6 GB | Solid alsidig model, god til kode og tekst |
qwen3.5 | 6.6 GB | 8 GB | Anbefalet — 9.7B, 262k kontekst, stærk på dansk |
gemma4:12b | 7.6 GB | 9 GB | Googles model — meget god til instruktioner |
phi4:14b | 9.1 GB | 11 GB | Microsofts kompakte model, god til ræsonnering |
llama3.1:70b | 43 GB | 48 GB | Kraftfuld — kræver server med meget VRAM/RAM |
minicpm-v4.6 | 1.6 GB | 2 GB | Multimodal — kan se billeder |
Tommelfingerregel: vælg den største model der passer i din GPU’s VRAM. Modellen skal helst ligge helt i VRAM — flyder den over til RAM, falder hastigheden dramatisk.
Søg og find alle tilgængelige modeller:
ollama search llama
CLI cheat sheet
# Kør interaktiv chat
ollama run qwen3.5
# Kør med system-prompt fra kommandolinjen
ollama run llama3.2:3b "Forklar TCP/IP i tre sætninger"
# Pipe input ind
cat artikel.txt | ollama run qwen3.5 "Opsummer dette"
# List downloadede modeller
ollama list
# Vis modeldetaljer (parametre, kvantisering, kontekstlængde)
ollama show qwen3.5
# Slet en model
ollama rm llama3.2:1b
# Kopiér og omdøb en model
ollama cp qwen3.5 mit-projekt
# Vis kørende modeller og VRAM-brug
ollama ps
REST API
Ollama eksponerer en HTTP-API på localhost:11434. Du kan bruge den direkte fra terminalen eller fra ethvert programmeringssprog.
Generér tekst
curl http://localhost:11434/api/generate -d '{
"model": "qwen3.5",
"prompt": "Hvad er forskellen mellem TCP og UDP?",
"stream": false
}'
Vigtige felter i svaret:
{
"response": "TCP er forbindelsesorienteret...",
"eval_count": 142,
"eval_duration": 1923000000,
"prompt_eval_duration": 215000000
}
eval_count / (eval_duration / 1e9) giver tokens per sekund.
Chat (med historik)
curl http://localhost:11434/api/chat -d '{
"model": "qwen3.5",
"messages": [
{"role": "system", "content": "Du er en hjælpsom dansk assistent."},
{"role": "user", "content": "Hvad er hovedstaden i Danmark?"}
],
"stream": false
}'
Streaming
Sæt "stream": true (standard) for at få tokens løbende:
curl http://localhost:11434/api/generate -d '{
"model": "qwen3.5",
"prompt": "Skriv et digt om terminal-programmering",
"stream": true
}' | while IFS= read -r line; do
echo "$line" | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('response',''), end='', flush=True)"
done
Liste over downloadede modeller
curl http://localhost:11434/api/tags
Nyttige options
curl http://localhost:11434/api/generate -d '{
"model": "qwen3.5",
"prompt": "...",
"stream": false,
"options": {
"temperature": 0.7,
"num_predict": 500,
"num_ctx": 8192,
"top_p": 0.9,
"seed": 42
}
}'
| Option | Standard | Hvad det gør |
|---|---|---|
temperature | 0.8 | Kreativitet: 0 = deterministisk, 1+ = mere tilfældig |
num_predict | -1 (ubegrænset) | Max tokens at generere |
num_ctx | modelens standard | Kontekstvindue (tokens) |
seed | tilfældig | Fast seed → reproducerbare svar |
top_p | 0.9 | Nucleus sampling |
Python
Ollama’s API er simpel nok til at bruge med urllib — ingen ekstra pakker nødvendigt:
import urllib.request, json
def ollama(prompt, model="qwen3.5", system=None):
messages = []
if system:
messages.append({"role": "system", "content": system})
messages.append({"role": "user", "content": prompt})
payload = json.dumps({
"model": model,
"messages": messages,
"stream": False,
"options": {"temperature": 0}
}).encode()
req = urllib.request.Request(
"http://localhost:11434/api/chat",
data=payload,
headers={"Content-Type": "application/json"}
)
with urllib.request.urlopen(req) as resp:
return json.load(resp)["message"]["content"]
# Brug
svar = ollama("Forklar forskellen mellem list og tuple i Python")
print(svar)
Foretrækker du en dedikeret pakke:
pip install ollama
import ollama
svar = ollama.chat(
model="qwen3.5",
messages=[{"role": "user", "content": "Hvad er Rust?"}]
)
print(svar["message"]["content"])
Modelfile — tilpas en model
En Modelfile lader dig oprette en ny model baseret på en eksisterende — med fast system-prompt, temperatur og parametre.
Opret filen Modelfile:
FROM qwen3.5
SYSTEM """
Du er en præcis dansk teknisk assistent. Svar altid på dansk.
Vær kortfattet. Vis kodeeksempler når relevant.
"""
PARAMETER temperature 0.3
PARAMETER num_ctx 16384
Byg og brug den:
ollama create dansk-assistent -f Modelfile
ollama run dansk-assistent "Hvad er en hash-tabel?"
List dine brugerdefinerede modeller:
ollama list
Du kan dele Modelfiles med kolleger — de puller bare base-modellen og kører ollama create.
Performance-tips
Flash Attention (anbefalet)
Reducerer VRAM-brug og øger hastighed på lange kontekster:
OLLAMA_FLASH_ATTENTION=1 ollama serve
På Mac via Homebrew, tilføj til ~/.zshrc:
export OLLAMA_FLASH_ATTENTION=1
KV-cache kvantisering
Halverer næsten VRAM-forbruget til kontekst-cachen, med minimal kvalitetstab:
OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve # halvt VRAM, ingen synlig forskel
OLLAMA_KV_CACHE_TYPE=q4_0 ollama serve # endnu mindre, let kvalitetstab
Parallelle requests
Ollama håndterer som standard én request ad gangen. Til serverbrug:
OLLAMA_NUM_PARALLEL=4 ollama serve # 4 samtidige requests
OLLAMA_MAX_LOADED_MODELS=2 ollama serve # hold 2 modeller i VRAM
Se hvad der kører
ollama ps
# NAME ID SIZE PROCESSOR UNTIL
# qwen3.5:latest ... 7.9 GB 100% GPU 4 minutes from now
Modeller unloades automatisk efter 5 minutters inaktivitet. Skift timeout:
OLLAMA_KEEP_ALIVE=30m ollama serve # hold indlæst i 30 min
OLLAMA_KEEP_ALIVE=-1 ollama serve # hold indlæst for evigt
Som server på netværket
Som standard lytter Ollama kun på localhost. Åbn for netværksadgang:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
Brug Tailscale til at eksponere din GPU-server sikkert på dit private netværk uden at åbne for internet:
# På serveren med RTX 4070 Ti:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
# Fra din Mac via Tailscale:
OLLAMA_HOST=gpu-box:11434 ollama run qwen3.5
# eller direkte via API:
curl http://gpu-box:11434/api/generate -d '{"model":"gemma4:12b","prompt":"..."}'
På Linux med systemd, tilføj env vars i service-filen:
sudo systemctl edit ollama
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_FLASH_ATTENTION=1"
Environment="OLLAMA_KV_CACHE_TYPE=q8_0"
sudo systemctl restart ollama
OpenAI-kompatibelt API
Ollama understøtter OpenAI’s API-format, så eksisterende kode der bruger openai-pakken kører uden ændringer:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # kræves af klienten, ignoreres af Ollama
)
response = client.chat.completions.create(
model="qwen3.5",
messages=[{"role": "user", "content": "Hvad er en linked list?"}]
)
print(response.choices[0].message.content)
Hvad koster det at køre?
Ingenting — bortset fra strøm. En 7B-model på en RTX 4070 Ti (200W under load) koster ca.:
| Brug | Strøm | Pris (3 kr/kWh) |
|---|---|---|
| 1 times chat (~50 req) | ~0,1 kWh | ~0,30 kr |
| 1 dags batch-transskription | ~0,5 kWh | ~1,50 kr |
| GPT-4o via API (samme mængde) | — | ~50–200 kr |
På M1 Pro (25W) er strømomkostningen nærmest symbolsk.
Nyttige links
- ollama.com/library — alle tilgængelige modeller
- github.com/ollama/ollama — kildekode og issues
- API-reference:
http://localhost:11434når Ollama kører
Se også M1 Pro vs RTX 4070 Ti — GPU og LLM benchmarks for konkrete tal på, hvad de to platforme leverer.