- MODELS.md: 8B vs 24B Vergleich, :wiki-Doku, Entscheidungsbaum
- README.md: 24B mit ⚠️ Manuell markiert (FILE:-Pattern unzuverlässig)
- SESSION_HANDOVER.md: Neue Session 14:30-18:00
- TEST_SCENARIO.md: Referenz-Testszenario
- crowdcode.js: 24B-Kompatibilität (flexible FILE:-Erkennung,
:wiki-Befehl, configurable Timeout/GPU/Context via ENV,
Streaming AbortController, Orphan-Codeblock-Detection)
130 lines
5.6 KiB
Markdown
130 lines
5.6 KiB
Markdown
# MiniLlama & CrowdCode — Session Handover
|
|
|
|
> Diese Datei dient als Kontext-Übergabe zwischen Sessions.
|
|
> Neue Session: Lies diese Datei zuerst.
|
|
|
|
---
|
|
|
|
## Projekt: MiniLlama — Portabler LLM-Stack für USB-Stick
|
|
|
|
**Verzeichnis:** `/home/xray/code/MiniLlama`
|
|
|
|
**Ziel:** Ein portabler LLM-Chat + API-Server + Dateioperations-CLI, der von einem USB-Stick auf Windows und Linux läuft — ohne Installation. Für leistungsschwache Rechner.
|
|
|
|
---
|
|
|
|
## Kontext
|
|
|
|
### Repos
|
|
- `forgejo.ccpn.cc/xray/MiniLlama` — CLI, Server, Start-Skripte, README
|
|
- `forgejo.ccpn.cc/xray/crowdcode` — VSCode Extension (TypeScript)
|
|
- `forgejo.ccpn.cc/xray/iftmin-wiki` — Wiki-Beispielprojekt
|
|
|
|
### Stick
|
|
- Gemountet unter `/media/xray/llama/` (exFAT, Label: "llama", 28,6 GB)
|
|
- Modelle: `/media/xray/llama/llama/models/*.gguf`
|
|
- MiniLlama/models/ enthält Symlinks auf Stick-Modelle
|
|
|
|
### Wichtige Dateien
|
|
- `cli/crowdcode.js` — Node.js CLI (480 Zeilen): Chat, @mentions, FILE:/DIR:/EDIT:, Shell-Kommandos
|
|
- `start.sh` — Chat-Starter Linux
|
|
- `start-server.sh` — API-Server mit Modellauswahl
|
|
- `deploy.sh` — Deployment auf USB-Stick
|
|
- `README.md` — Vollständige Dokumentation
|
|
|
|
### Wichtige Erkenntnisse
|
|
- MiniCPM5-1B ist inkompatibel mit llama.cpp b9936 (Chat-Template-Tokens)
|
|
- Qwen2.5-1.5B zu schwach für Instruction Following (FILE:-Pattern)
|
|
- Gemma 3 4B IT und Phi-4-mini funktionieren perfekt (IFEval 90.2/88, laden in ~3s)
|
|
- LFM2.5-8B-A1B hat beste IFEval (91.84), noch nicht getestet
|
|
- **LFM2-8B-A1B-UD-Q4_K_XL (4,5 GB): Testsieger** — 16,2 t/s, FILE:-Pattern ✅, Wiki sehr gut ✅
|
|
- **LFM2-24B-A2B-Q3_K_XL (11 GB): Qualitätssieger** — 11,4 t/s, FILE:-Pattern ✅, Wiki sehr gut ✅
|
|
- **LFM2-8B-A1B-IQ4_XS (4,2 GB):** ❌ FILE:-Pattern fehlt komplett (Quantisierung zu aggressiv)
|
|
- **LFM2-8B-A1B-Q3_K_XL (3,8 GB):** ❌ FILE:-Pattern fehlt oft (Q3 zu niedrig)
|
|
|
|
---
|
|
|
|
## ✅ Entscheidungen
|
|
|
|
| # | Entscheidung | Begründung | Datum |
|
|
|---|---|---|---|
|
|
| 1 | CLI in Node.js statt Bash | Plattformunabhängig (Win+Lin), fetch, readline | 2026-07-09 |
|
|
| 2 | LFM2-8B-A1B-UD-Q4_K_XL als Standard | 16,2 t/s, FILE:-Pattern ✅, Wiki sehr gut ✅, nur 4,5 GB | 2026-07-09 |
|
|
| 3 | LFM2-24B-A2B-Q3_K_XL für Qualität reserviert | 11,4 t/s, tiefere Einsichten — für Zielmaschine mit GPU | 2026-07-09 |
|
|
| 4 | Modelle als Symlinks auf Stick | Spart Platz im Repo, flexibler Austausch | 2026-07-09 |
|
|
| 5 | Server-Auto-Start im CLI | Kein manueller Vorstart nötig, Modellauswahl inklusive | 2026-07-09 |
|
|
| 6 | Shell-Kommando-Erkennung | pwd/ls/git direkt ausführen, nicht ans LLM | 2026-07-09 |
|
|
|
|
---
|
|
|
|
## 🔜 Nächste Schritte
|
|
|
|
| # | Aktion | Priorität | Status |
|
|
|---|---|---|---|
|
|
| 1 | LFM2.5-8B-A1B-Q4_K_M testen (IFEval 91.84) | 1 (sofort) | ⬜ |
|
|
| 2 | CrowdCode VSCode Extension als .vsix deployen und testen | 2 (danach) | ⬜ |
|
|
| 3 | Wiki-Modus mit iftmin-wiki testen | 2 (danach) | ⬜ |
|
|
| 4 | Windows-Test des CLI (crowdcode.bat) auf Zielrechner | 2 (danach) | ⬜ |
|
|
| 5 | Performance-Benchmarks auf Zielrechner (Ladezeit, t/s) | 3 (optional) | ⬜ |
|
|
| 6 | LFM2-24B auf Zielmaschine mit GPU testen | 3 (optional) | ⬜ |
|
|
|
|
---
|
|
|
|
## Session: 2026-07-09 09:30-11:45
|
|
|
|
### Erreichtes
|
|
- MiniLlama Projektstruktur angelegt (bin/{linux,win}, cli/, models/)
|
|
- llama.cpp b9936 Binaries: Linux (39 MB) + Windows (114 MB)
|
|
- README mit Modell-Vergleichstabelle und CLI-Features
|
|
- CrowdCode CLI: Node.js Terminal-Client (480 Zeilen)
|
|
- Streaming Chat, @mentions, FILE:/DIR:/EDIT:/bash Pattern
|
|
- Shell-Kommando-Erkennung (pwd, ls, git)
|
|
- Server-Auto-Start mit Modellauswahl
|
|
- crowdcode.sh (Linux) + crowdcode.bat (Windows)
|
|
- CrowdCode VSCode Extension: kompiliert + .vsix gebaut (24 KB)
|
|
- Modelle getestet: 5 Modelle evaluiert (3 funktionieren ✅, 1 inkompatibel ❌)
|
|
- Neue Modelle: Gemma 3 4B IT + Phi-4-mini runtergeladen und getestet
|
|
- Symlinks von MiniLlama/models → Stick-Modelle
|
|
- MiniLlama + CrowdCode in Forgejo gepusht
|
|
- CrowdBrain minillama.md aktualisiert
|
|
|
|
### Entscheidungen
|
|
- Gemma 3 4B IT (2.4 GB, IFEval 90.2) als Standard-Modell
|
|
- Phi-4-mini (2.5 GB) als leichte Alternative
|
|
- LFM2.5-8B-A1B (5.4 GB, IFEval 91.84) als nächstes zu testen
|
|
- MiniCPM5-1B: verwerten (inkompatibel)
|
|
|
|
### Nächste Schritte (aus dieser Session)
|
|
1. LFM2-8B-A1B auf Stick testen (der liegt schon da)
|
|
2. LFM2.5-8B-A1B downloaden
|
|
3. Windows-Kompatibilität des CLI prüfen
|
|
|
|
---
|
|
|
|
## Session: 2026-07-09 14:30-18:00
|
|
|
|
### Erreichtes
|
|
- **24B Wiki-Test:** 11 Seiten in 12 Min (manuell, eine Seite pro Request)
|
|
- **24B Harness-Test:** 3 Seiten in 20 Min via :wiki (zu langsam, ctx-Probleme gefixt)
|
|
- **8B Wiki-Test:** 12 Seiten in 22 Min via :wiki + 2 Min Nacharbeit
|
|
- **CLI-Harness erweitert:**
|
|
- :wiki Befehl für Chunked Wiki-Ingest (eine Seite pro Request)
|
|
- Flexible FILE:-Pattern-Erkennung (path:, File:, Datei:, orphane Codeblöcke)
|
|
- Konfigurierbare Timeouts/GPU/Context-Size via ENV
|
|
- Streaming AbortController für saubere Timeouts
|
|
- **Iftmin-Wiki:** 12 Wiki-Seiten, 76 KB, alle mit Querverweisen ✅
|
|
- **MODELS.md:** Um 8B vs 24B Vergleich + :wiki-Doku erweitert
|
|
- **Backup:** Backup als tar.gz erstellt (50 MB)
|
|
- **CrowdBrain:** minillama.md mit Testergebnissen aktualisiert
|
|
|
|
### Entscheidungen
|
|
- **8B als Default im Harness** — schnell (16-20 t/s), FILE:-Pattern ✅, Wiki ✅
|
|
- **24B nur bei Qualitätslücken** — langsam (8-10 t/s), FILE:-Pattern unzuverlässig
|
|
- **Qualitäts-Pipeline:** 8B erstellen → 8B reviewen → 24B nur wenn nötig
|
|
- **Modelle unter 10 t/s + aussortiert → entfernt** (MiniCPM5-1B und andere)
|
|
|
|
### Nächste Schritte
|
|
1. Windows-Test des CLI auf Zielrechner
|
|
2. LFM2.5-8B-A1B testen (IFEval 91.84, noch nicht evaluiert)
|
|
3. 24B auf Zielmaschine mit GPU testen
|
|
4. Wiki-Git-Repo anlegen (iftmin-wiki)
|