chore: update docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md via opax-mcp
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run

This commit is contained in:
chris 2026-07-22 02:01:51 +00:00
parent ca63a3a26e
commit baf60c1dda

View File

@ -7,7 +7,7 @@ Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal L
--- ---
## FREMDRIFT OPPDATERT 2026-07-22 03:29 CEST ## FREMDRIFT OPPDATERT 2026-07-22 03:55 CEST
### ✅ FASE 05 — FERDIG ### ✅ FASE 05 — FERDIG
### ✅ FASE 6 CPU-optimalisering — FERDIG ### ✅ FASE 6 CPU-optimalisering — FERDIG
@ -16,8 +16,8 @@ Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal L
### ✅ OPAX-MCP GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST ### ✅ OPAX-MCP GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST
### ✅ SMOKE-TEST Alle 37 tools — FERDIG 2026-07-22 00:25 CEST ### ✅ SMOKE-TEST Alle 37 tools — FERDIG 2026-07-22 00:25 CEST
### ✅ FASE 6.5 VM-oppgradering + modellarkitektur — VERIFISERT 2026-07-22 ### ✅ FASE 6.5 VM-oppgradering + modellarkitektur — VERIFISERT 2026-07-22
### 🟡 FASE 7 14B-validering utført, arkitektur justeres — PÅGÅR
### ⏳ GPG-SIGNERING Commits verified — PÅGÅR ### ⏳ GPG-SIGNERING Commits verified — PÅGÅR
### ⏳ FASE 7 Lokal hjerne / derivat-modell — PLANLAGT
### ⏳ FASE 8 Backup / snapshot-strategi — PLANLAGT ### ⏳ FASE 8 Backup / snapshot-strategi — PLANLAGT
--- ---
@ -32,54 +32,69 @@ Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal L
- Ollama svarer på port `11434` - Ollama svarer på port `11434`
### Bekreftet ressursstatus ### Bekreftet ressursstatus
- Disk: ca. 99 GB total, ca. 74 GB ledig - Disk: ca. 99 GB total
- Ollama-modeller bruker ca. 13 GB - Ny modellstack etter 14B-nedlasting: ca. 29 GB modeller totalt
- Systemet er komfortabelt i idle og har god RAM-headroom for videre modelltesting - Systemet har fortsatt god diskmargin, men CPU er nå den reelle begrensningen
### Faktisk modeller lokalt per 2026-07-22 ### Faktisk modeller lokalt per 2026-07-22
- `gemma3:4b` - `gemma3:4b`
- `gemma3:12b` - `gemma3:12b`
- `qwen2.5:3b` - `qwen2.5:3b`
- `qwen2.5:14b`
- `qwen2.5-coder:14b`
### Ny anbefalt modellarkitektur ### Verifisert ytelsesfunn
- `gemma3:4b` holder ca. `4.95.0 tok/s` varm og fungerer interaktivt
- `qwen2.5:14b` målte ca. `1.4 tok/s` varm på faktisk VM
- Kort prompt ga ca. `249s` eval-duration på varm modell ved `stream: false`
- Konklusjon: `qwen2.5:14b` er for treg som standard interaktiv agent på nåværende CPU-VM
### Revidert anbefalt modellarkitektur
- **Frontmodell:** `gemma3:4b` - **Frontmodell:** `gemma3:4b`
- Brukes for raske svar, enkel resonnering og billig default - Brukes for raske svar, enkel resonnering og billig default
- **Standard agent/tool-modell:** `qwen2.5:14b` - **Lett tool-/agentmodell:** `qwen2.5:3b`
- Brukes når oppgaven trenger tool calling, bedre struktur og høyere kvalitet - Brukes for tool calling som må være responsivt nok i praksis
- **Kode-/repo-modell:** `qwen2.5-coder:14b` - **Neste kandidat for mellomlag:** `qwen2.5:7b`
- Brukes for repo-forståelse, patching, refaktorering, debugging og tyngre dev-assistanse - Skal testes som mulig erstatning for `qwen2.5:14b` som standard Qwen-lag
- **Valgfri tung resonneringsmodell later:** `gemma3:27b` - **Kode-/repo batch-modell:** `qwen2.5-coder:14b`
- Kun ved behov, etter praktisk validering av RAM, lastetid og latency - Beholdes for repo-forståelse, patching, refaktorering og tyngre asynkrone kodeoppgaver
- **Ikke anbefalt nå:** `qwen2.5:14b` som interaktiv standardmodell
- For treg på CPU til primær bruk
- **Ikke anbefalt nå:** `gemma3:27b`
- Uaktuell før videre CPU-/ytelsesløft; forventes tregere enn 14B-laget
### Operativ ruting ### Operativ ruting
1. Start med `gemma3:4b` 1. Start med `gemma3:4b`
2. Eskaler til `qwen2.5:14b` når tools, struktur eller mer resonnering trengs 2. Eskaler til `qwen2.5:3b` når oppgaven trenger tools og respons fortsatt må være praktisk
3. Eskaler til `qwen2.5-coder:14b` når oppgaven er tydelig kode- eller repo-orientert 3. Bruk `qwen2.5-coder:14b` kun når oppgaven er tydelig kode-/repo-orientert og kan tåle høy latency
4. Test `gemma3:27b` kun som valgfri tung modell, ikke som default 4. Test `qwen2.5:7b` som mulig nytt mellomlag før eventuell fjerning av `qwen2.5:14b`
5. Ikke last ned `gemma3:27b`
### Viktige vurderinger ### Viktige vurderinger
- `qwen2.5-coder:32b` vurderes foreløpig som mulig for tung på nåværende oppsett og utsettes - CPU, ikke RAM eller disk, er nå flaskehalsen
- Nåværende strategi er gradvis oppskalering av modellstack, ikke ny VM-oppgradering - `qwen2.5:14b` ga svak praktisk interaktiv ytelse til tross for vellykket installasjon
- Fokus er å validere praktisk responstid, RAM-bruk og stabilitet før større modellvalg fryses - `qwen2.5-coder:14b` beholdes foreløpig fordi use casen er batch/dev-assistanse, ikke chat-latency
- `qwen2.5:7b` er neste rasjonelle kandidat for bedre balanse mellom kvalitet og fart
- `qwen2.5-coder:32b` og `gemma3:27b` utsettes
### Neste konkrete steg ### Neste konkrete steg
- Last ned: - Test / vurder:
- `qwen2.5:14b` - `ollama rm qwen2.5:14b`
- `qwen2.5-coder:14b` - `ollama pull qwen2.5:7b`
- Test: - Test deretter:
- enkel chat-latency - enkel chat-latency
- tool calling - tool calling
- repo-/kodeoppgaver
- RAM- og diskpåvirkning - RAM- og diskpåvirkning
- om `qwen2.5:7b` kan overta rollen som standard Qwen-lag
```bash ```bash
# Last ned neste lag # Foreslått neste endring
ollama pull qwen2.5:14b ollama rm qwen2.5:14b
ollama pull qwen2.5-coder:14b ollama pull qwen2.5:7b
# Bekreft etter nedlasting # Bekreft etter
curl http://localhost:11434/api/tags curl http://localhost:11434/api/tags
df -h / free -h
du -sh /usr/share/ollama/.ollama/models du -sh /usr/share/ollama/.ollama/models
``` ```
@ -172,7 +187,7 @@ NS-bytte: Proisp → Google Cloud DNS **23:44 CEST**
--- ---
## FASE 7 LOKAL HJERNE / DERIVAT-MODELL (planlagt) ## FASE 7 LOKAL HJERNE / DERIVAT-MODELL (pågår)
### Mål ### Mål
Erstatte stor API-modell (Gemini/Claude/Perplexity) med lokal modell som hjerne i OPAX-arkitekturen. Redusere API-avhengighet på sikt. Erstatte stor API-modell (Gemini/Claude/Perplexity) med lokal modell som hjerne i OPAX-arkitekturen. Redusere API-avhengighet på sikt.
@ -194,24 +209,34 @@ Lokal stor modell ← Hjerne (lokal, gratis)
Emma gemma3:4b ← Lokal inferens (rask) Emma gemma3:4b ← Lokal inferens (rask)
``` ```
### Kandidatmodeller for e2-highmem-4 (32 GB RAM) — oppdatert 2026-07-22 ### Kandidatmodeller for e2-highmem-4 (32 GB RAM) — oppdatert 2026-07-22 03:55
| Modell | RAM | Tok/s CPU | Agentevne | Vurdering | | Modell | RAM | Tok/s CPU | Agentevne | Vurdering |
|---|---|---|---|---| |---|---|---|---|---|
| `gemma3:4b` (nå) | 2.9 GB | ~5 | Svak | Front/hurtig default | | `gemma3:4b` (nå) | 2.9 GB | ~5 | Svak | Front/hurtig default |
| `gemma3:12b` | ~8 GB | ~1.52 | God | Allsidig | | `qwen2.5:3b` | ~2.02.5 GB | ~34 | God | **Beste raske tool-kandidat nå** |
| `qwen2.5:14b` | ~9 GB | ~1.5 | Sterk | **Standard agent/tool — last ned nå** | | `gemma3:12b` | ~8 GB | ~1.52 | God | Allsidig, men ikke tool-modell |
| `qwen2.5-coder:14b` | ~9 GB | ~1.5 | Kode-sterk | **Kode/repo — last ned nå** | | `qwen2.5:7b` | ~5.56 GB | forventet ~2.53 | God | **Neste kandidat som mellomlag** |
| `gemma3:27b` | ~17 GB | <1 | Tilnærmet god | Valgfri tung test etter 14B-laget | | `qwen2.5:14b` | ~9 GB | målt ~1.4 | Sterk | **For treg som interaktiv agent** |
| `qwen2.5-coder:32b` | ~20 GB | <1 | Svært sterk | Utsatt mulig for tung | | `qwen2.5-coder:14b` | ~9 GB | forventet ~1.4 | Kode-sterk | Batch / async kodebruk |
| `gemma3:27b` | ~17 GB | forventet <1 | Tilnærmet god | Ikke aktuell |
| `qwen2.5-coder:32b` | ~20 GB | <1 | Svært sterk | Utsatt for tung |
### Validerte funn
- `qwen2.5:14b` installert og verifisert
- Varm enkel chat-test ga ca. `249.3s` eval-duration og `1.4 tok/s`
- Resultatet vurderes som for tregt for interaktiv standardbruk
- Dette flytter `qwen2.5:14b` fra planlagt standardmodell til mulig batch-/asynkronmodell
- `qwen2.5:7b` er neste kandidat som må testes før modellstack fryses
### Exit-kriterier Fase 7 ### Exit-kriterier Fase 7
- [ ] `qwen2.5:14b` installert og testet - [x] `qwen2.5:14b` installert og testet
- [ ] `qwen2.5-coder:14b` installert og testet - [ ] `qwen2.5:7b` installert og testet
- [ ] Ytelsesmåling: tok/s, RAM-bruk, swap=0 - [ ] Beslutning tatt: fjern eller behold `qwen2.5:14b`
- [ ] Kvalitetstest: tool calling, kode- og repo-oppgaver - [ ] `qwen2.5-coder:14b` testet på konkret kode-/repo-oppgave
- [ ] Ytelsesmåling: RAM-bruk, swap=0
- [ ] Endelig ruting besluttet for fast / light / coder / batch
- [ ] GEMINI.md-lignende systemd-prompt/konfig for Emma laget - [ ] GEMINI.md-lignende systemd-prompt/konfig for Emma laget
- [ ] Beslutning: erstatter eller komplementerer?
### Derivat-strategi ### Derivat-strategi
Emma skal få eget identitetsdokument (tilsvarende GEMINI.md for Jason) med: Emma skal få eget identitetsdokument (tilsvarende GEMINI.md for Jason) med:
@ -283,11 +308,13 @@ gcloud compute disks create gitea-restore \
## ÅPNE PUNKTER ## ÅPNE PUNKTER
1. GPG-signering — få commits verified (pågår) 1. GPG-signering — få commits verified (pågår)
2. `git.vauco.no` — verifiser propagering 2. `git.vauco.no` — verifiser propagering
3. **Fase 6.5/7: Last ned `qwen2.5:14b` + `qwen2.5-coder:14b`** ← neste steg 3. Test `qwen2.5:7b` som nytt mellomlag
4. Test: tool calling, kode-/repo-oppgaver, RAM/disk-påvirkning 4. Beslutt om `qwen2.5:14b` skal fjernes etter 7B-test
5. Emma derivat-dokument (tilsvarende GEMINI.md) 5. Test `qwen2.5-coder:14b` på konkret kode-/repo-oppgave
6. Fase 8: Snapshot-policy aktiveres 6. Mål RAM/swap under modell-last
7. Gitea passord byttes (eksponert i chat) 7. Emma derivat-dokument (tilsvarende GEMINI.md)
8. Fase 8: Snapshot-policy aktiveres
9. Gitea passord byttes (eksponert i chat)
## FASTE SANNHETER ## FASTE SANNHETER
- Gitea er source of truth - Gitea er source of truth
@ -295,6 +322,7 @@ gcloud compute disks create gitea-restore \
- Gitea-VM (34.67.252.59) er permanent målmaskin - Gitea-VM (34.67.252.59) er permanent målmaskin
- Dev-snap (34.170.51.84) er Jason sin arbeidsstasjon — kan ikke stenges før lokal hjerne er verifisert - Dev-snap (34.170.51.84) er Jason sin arbeidsstasjon — kan ikke stenges før lokal hjerne er verifisert
- Denne handoffen overstyrer alt annet - Denne handoffen overstyrer alt annet
- CPU er nå primær flaskehals for tyngre lokale modeller på denne VM-en
## DEFINITION OF DONE ## DEFINITION OF DONE
- ✅ Lokale modeller lever og kan brukes lokalt - ✅ Lokale modeller lever og kan brukes lokalt
@ -307,10 +335,13 @@ gcloud compute disks create gitea-restore \
- ✅ DNS migrert til Google Cloud DNS - ✅ DNS migrert til Google Cloud DNS
- ✅ Smoke-test alle 37 tools — FERDIG - ✅ Smoke-test alle 37 tools — FERDIG
- ✅ VM oppgradert til e2-highmem-4 (32 GB RAM) — FERDIG - ✅ VM oppgradert til e2-highmem-4 (32 GB RAM) — FERDIG
- ✅ `qwen2.5:14b` installert og ytelsestestet — FERDIG
- ⏳ `git.vauco.no` live — propagering pågår - ⏳ `git.vauco.no` live — propagering pågår
- ⏳ GPG-signering verified — pågår - ⏳ GPG-signering verified — pågår
- ⏳ `qwen2.5:14b` + `qwen2.5-coder:14b` lastet ned og testet — planlagt - ⏳ `qwen2.5:7b` testet og vurdert — planlagt
- ⏳ Fase 7: lokal hjerne verifisert — planlagt - ⏳ Endelig mellomlag valgt (`qwen2.5:7b` vs behold `qwen2.5:14b`) — planlagt
- ⏳ `qwen2.5-coder:14b` verifisert i konkret kodeflyt — planlagt
- ⏳ Fase 7: lokal hjerne verifisert — pågår
- ⏳ Fase 8: daglig snapshot-backup — planlagt - ⏳ Fase 8: daglig snapshot-backup — planlagt
## OPPDATERINGSLOGG ## OPPDATERINGSLOGG
@ -323,3 +354,4 @@ gcloud compute disks create gitea-restore \
| 2026-07-22 00:25 | Smoke-test fullført — alle kategorier grønne | | 2026-07-22 00:25 | Smoke-test fullført — alle kategorier grønne |
| 2026-07-22 00:55 | Fase 8 (backup/snapshot) lagt inn, GPG-signering pågår | | 2026-07-22 00:55 | Fase 8 (backup/snapshot) lagt inn, GPG-signering pågår |
| 2026-07-22 03:29 | FASE 6.5 lagt inn: e2-highmem-4 verifisert, ny modellarkitektur (Gemma4b → Qwen14b → Qwen-coder-14b → Gemma27b), neste steg: pull qwen2.5:14b + qwen2.5-coder:14b | | 2026-07-22 03:29 | FASE 6.5 lagt inn: e2-highmem-4 verifisert, ny modellarkitektur (Gemma4b → Qwen14b → Qwen-coder-14b → Gemma27b), neste steg: pull qwen2.5:14b + qwen2.5-coder:14b |
| 2026-07-22 03:55 | Handoff oppdatert etter 14B-validering: qwen2.5:14b målt til ~1.4 tok/s varm og vurdert for treg som interaktiv standardmodell; qwen2.5:7b satt som neste kandidat; gemma3:27b og coder32b utsatt |