Introduksjon
Kom i gang med egen LLM-server
Alfa, ikke måltHar du Linux, eller vil du bruke Ollama eller llama-server på Macen, kan nav-pilot bruke en server du kjører selv. Da laster nav-pilot ikke ned noe, starter ingenting og trenger ikke sudo.
Delegerte oppgaver, loop guard (stopper modellen når den gjentar seg) og alpha decide bruker serveren din. Koden din sendes dit, så nav-pilot godtar bare localhost og private IP-adresser, som 127.0.0.1 og 192.168.x.x. Modellen på serveren din er ikke målt, så tallene i Målinger gjelder ikke.
1. Installer nav-pilot
curl -fsSL https://raw.githubusercontent.com/navikt/copilot/main/scripts/install.sh | bash
curl -fsSL -o /tmp/navikt-archive-keyring.gpg https://navikt.github.io/apt/keyring/navikt-archive-keyring.gpg \
&& test -s /tmp/navikt-archive-keyring.gpg \
&& sudo install -m 644 /tmp/navikt-archive-keyring.gpg /usr/share/keyrings/navikt-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/navikt-archive-keyring.gpg] https://navikt.github.io/apt stable main" \
| sudo tee /etc/apt/sources.list.d/navikt.list >/dev/null \
&& sudo apt update && sudo apt install nav-pilot cplt \
|| echo "Klarte ikke å installere fra apt-arkivet. Sjekk at du når https://navikt.github.io/apt, eller bruk installasjonsskriptet: curl -fsSL https://raw.githubusercontent.com/navikt/copilot/main/scripts/install.sh | bash" >&2brew install navikt/tap/nav-pilot navikt/tap/cplt
Du får både nav-pilot og cplt. Har du nav-pilot fra før, eller vil du oppgradere, se Installere og oppgradere.
2. Start serveren
# terminal 1: blir stående så lenge serveren kjører OLLAMA_CONTEXT_LENGTH=65536 ollama serve # terminal 2 ollama pull qwen3.6:35b
# egen terminal: blir stående så lenge serveren kjører # legg til --n-cpu-moe 999 på en GPU med 8 GB eller mindre llama-server --jinja -c 65536 --port 8080 -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_XL
Både ollama serve og llama-server kjører i forgrunnen og opptar terminalen. Start serveren i en egen terminal, og kjør resten av stegene i en annen.
Hvis llama-server fra llama.cpp-releasen for Ubuntu ikke starter og feilen er libgomp.so.1: cannot open shared object file, mangler OpenMP-biblioteket. Det mangler ofte i containere, minimale serverimager og WSL. Installer det med sudo apt install libgomp1, eller sudo apt-get install -y libgomp1 i et skript.
Vi anbefaler Qwen3.6-35B-A3B i dynamisk 4-bit (unsloth UD-Q4_K_XL). Det er den GGUF-varianten som ligger nærmest modellen vi har målt på Mac. Siste tall for modellene står på Lokale modeller. setup finner også LM Studio og vLLM, men dem har vi ikke prøvd.
Ollama gir modellen bare 4 096 tokens kontekst på maskiner med under 24 GB grafikkminne, og det kan ikke endres over /v1. Første melding i en Copilot-økt er på rundt 22 000 tokens, så resten blir kuttet eller avvist. Start derfor Ollama med OLLAMA_CONTEXT_LENGTH=65536, som over, eller lag en modell med en Modelfile som har PARAMETER num_ctx 65536.
Lite minne
Modellen og en kontekst på 65 536 tokens får ikke plass sammen på et grafikkort med 8 GB eller mindre. Bruk en kontekst som får plass, for eksempel 16 384, og la en del av modellen ligge i vanlig minne:
# Ollama OLLAMA_CONTEXT_LENGTH=16384 ollama serve # llama-server: ekspertene i vanlig minne (MoE-modeller) llama-server --jinja -c 16384 --n-cpu-moe 999 --port 8080 -hf unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_XL # llama-server: bare 20 lag på grafikkortet (tette modeller) llama-server --jinja -c 16384 -ngl 20 --port 8080 -m modell.gguf
Ollama fordeler lagene selv. --n-cpu-moe 999 holder ekspertene i en MoE-modell som Qwen3.6-35B-A3B i vanlig minne. Med en tett modell velger du antall lag på grafikkortet med -ngl.
En Copilot- eller opencode-økt trenger minst 30 000 tokens kontekst. Med mindre feiler kontekstsjekken i setup, men den tilbyr å lagre likevel. Korte prompter og alpha decide virker da, men ikke en hel økt. Går serveren tom for minne under sjekken, lagrer setup ingenting. Trenger du økter, må du ha et grafikkort med mer minne, en Mac med 32 GB eller mer, eller bruke modellene i skyen.
3. Koble til med setup
nav-pilot alpha local setup
setup finner servere som kjører på maskinen, foreslår modellen som ligger nærmest vår egen, og sjekker den. Mangler modellen i Ollama, eller er konteksten for liten, tilbyr den å hente modellen eller lage en kopi med 64k kontekst. Den starter aldri en server selv.
Til slutt viser den local_endpoint, local_endpoint_model og local_enabled = true, og lagrer dem bare hvis du svarer ja. Uten terminal lagrer den bare med --yes. Skal den også hente modellen eller lage kopien, legg til --pull eller --fix-context.
Feiler bare kontekstsjekken, spør setup om du vil lagre likevel (se Lite minne). Uten terminal lagrer den ikke, heller ikke med --yes, men viser kommandoene som gjør det.
mlx_lm.server lister alle MLX-modellene i Hugging Face-cachen, ikke bare den du startet den med, og laster den modellen en forespørsel ber om. setup foreslår da samme bygg som nav-pilot selv kjører, og sier fra om at det kan være en annen modell enn den du startet serveren med. Vil du ha en bestemt modell, bruk --model.
Slutter serveren å svare midt i kontekstsjekken, er den trolig tom for minne. Da foreslår setup en mindre kontekst, ikke en større.
Vil du heller sette det for hånd:
# Ollama nav-pilot config set local_endpoint http://127.0.0.1:11434/v1 nav-pilot config set local_endpoint_model qwen3.6:35b # llama-server nav-pilot config set local_endpoint http://127.0.0.1:8080/v1 nav-pilot config set local_endpoint_model unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_XL
Modell-id-en er det serveren lister på /v1/models. setup viser dem når den leter etter servere, og doctor viser dem hvis modellen du har satt, ikke er blant dem.
4. Slå den på med init
nav-pilot alpha local init
Med local_endpoint satt laster init ikke ned noe. Den sjekker serveren og slår på delegering. Feiler en av sjekkene, slår den ingenting på og sier hva du må rette. Svarte du ja i setup, er delegering allerede på, og init kjører de samme sjekkene en gang til.
5. Sjekk den med doctor
nav-pilot alpha local doctor
doctor sjekker verktøykall, logprobs, kontekst og tid til første token. Den sender rundt 30 000 tokens og feiler hvis serveren kutter prompten. Kommandoen sjekker bare egen LLM-server (local_endpoint), ikke modellen nav-pilot setter opp på Mac.
alpha decide trenger logprobs. Ollama fra v0.12.11, llama-server og vLLM gir dem, LM Studio gjør det ikke. Uten logprobs sier decide fra med en gang, mens delegeringen virker som før.
6. Bytt til opencode
nav-pilot config set client opencode
Delegering krever opencode som klient. Der blir modellen på serveren din subagenten local-worker. Copilot CLI har ingen slik subagent.
7. Første økt
cd ~/kode/mitt-repo nav-pilot
Be om en mekanisk endring over flere filer, som «legg til parameteren ctx i alle kall til hentBruker». Modellen på serveren din er ikke målt, så hovedagenten får bare den generelle instruksen om delegering, og nav-pilot stopper ingen redigeringer, heller ikke med balanced eller aggressive. Hovedagenten vurderer selv hva den delegerer.
nav-pilot alpha local status viser serveren, modellen og om delegering er på. Vil du stille modellen spørsmål fra hooks og skript, fortsett med Din første decide-hook.