MiniLlama/README.md
xray c1a984b22b update: 24B/8B Modell-Tests, :wiki-Befehl, wiki-Doku, Modell-Vergleich
- 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)
2026-07-10 09:42:29 +02:00

107 lines
3.9 KiB
Markdown

# 🦙 MiniLlama — Portable LLM Chat & API-Server
**MiniLlama** ist ein portabler LLM-Stack, der direkt vom USB-Stick läuft — ohne Installation, auf **Windows und Linux**.
Enthält: Chat, API-Server (OpenAI-kompatibel), CrowdCode CLI für Dateioperationen + Wiki-Modus.
## Schnellstart
### 💬 Chat (direkt)
```bash
./start.sh # Linux
start.bat # Windows
```
Modell aus dem Menü wählen — loschatten.
### 🔌 API-Server (für CrowdCode, andere Tools)
```bash
./start-server.sh # → http://127.0.0.1:8080/v1
```
### 🤖 CrowdCode CLI (Dateioperationen + Chat)
```bash
./crowdcode.sh # Linux
crowdcode.bat # Windows
```
Startet Server automatisch bei Bedarf. Shell-Kommandos (`pwd`, `ls`, `git`) werden direkt ausgeführt.
## Projektstruktur
```
MiniLlama/
├── start.sh ← Chat (Linux)
├── start.bat ← Chat (Windows)
├── start-server.sh ← API-Server
├── crowdcode.sh ← CrowdCode CLI (Linux)
├── crowdcode.bat ← CrowdCode CLI (Windows)
├── deploy.sh ← Auf USB-Stick exportieren
├── cli/
│ └── crowdcode.js ← CrowdCode Node.js CLI (480 Zeilen)
├── bin/
│ ├── linux/ ← llama.cpp (b9936) für Linux x86_64
│ └── win/ ← llama.cpp für Windows x86_64
├── models/ ← GGUF-Modelle (Symlinks auf Stick)
└── README.md
```
## Verfügbare Modelle
> Ausführliche Testergebnisse in [MODELS.md](MODELS.md) — getestet auf Ryzen 5 2500U (14 GB RAM, CPU-only)
| Modell | Größe | Speed | FILE:-Pattern | Wiki-Qualität | Status |
|--------|-------|-------|---------------|---------------|--------|
| **LFM2-24B-A2B-Q3_K_XL** 🏆 | 11 GB | 11,4 t/s | ⚠️ Manuell | ✅ Sehr gut (tief) | Qualitätssieger (langsam) |
| **LFM2-8B-A1B-UD-Q4_K_XL** 🏆 | 4,5 GB | 16,2 t/s | ✅ Immer | ✅ Sehr gut | **Testsieger/Default** |
| **LFM2.5-8B-A1B-Q4_K_M** ⭐ | 4,9 GB | ? | ? | ? | Noch zu testen |
| **Gemma 3 4B IT** ⭐ | 2,4 GB | ~25 t/s | ✅ | ✅ Gut | Leichtes Fallback |
| **Phi-4-mini** ⭐ | 2,5 GB | ~22 t/s | ✅ | ✅ Gut | Leichtes Fallback |
| **Qwen3.5-4B** | 3,0 GB | ~18 t/s | ✅ | ✅ Gut | Alternativ |
| **LFM2-8B-A1B-IQ4_XS** | 4,2 GB | 16,4 t/s | ❌ Fehlt | ⚠️ Mittel | **Nicht empfohlen** |
| **LFM2-8B-A1B-Q3_K_XL** | 3,8 GB | 15,3 t/s | ❌ Fehlt oft | ⚠️ Schwach | **Nicht empfohlen** |
| **Qwen2.5-1.5B** | 1,0 GB | ~30 t/s | ❌ | ❌ Zu schwach | Nur Notfall |
| **MiniCPM5-1B** | 688 MB | - | ❌ | ❌ Inkompatibel | ❌ |
⭐ = Noch zu testen · 🏆 = Getestet und empfohlen (Juli 2026)
## CrowdCode CLI Features
| Funktion | Beschreibung |
|----------|-------------|
| `@datei.py` | Dateiinhalt lesen |
| `@verz/` | Verzeichnis auflisten |
| `@verz/**` | Rekursiver Dateibaum |
| `@?begriff` | Grep-Suche |
| `FILE: pfad` + Codeblock | Datei schreiben (vom LLM) |
| `DIR: pfad` | Verzeichnis erstellen (vom LLM) |
| `EDIT: pfad` + `---OLD`/`---NEW` | Gezielte Änderung (vom LLM) |
| `` bash `` | Shell ausführen (mit Bestätigung) |
| `:m` | Multiline-Eingabe |
| `:h` | Hilfe |
| `:q` | Beenden |
Shell-Kommandos (`pwd`, `ls`, `git`, `pip`, `curl`...) werden direkt ausgeführt, nicht ans LLM geschickt.
## Deployment auf USB-Stick
```bash
./deploy.sh /pfad/zum/stick/MiniLlama
```
Kopiert alles inklusive Modelle, löst Symlinks auf.
## Modelle auf dem Stick
Die Modelle liegen physikalisch auf dem Stick unter:
```
/media/xray/llama/llama/models/*.gguf
```
Im MiniLlama-Verzeichnis sind es Symlinks. Für Deployment auf anderen Stick `deploy.sh` nutzen.
## Wartung
### Binaries aktualisieren
Neues Release von https://github.com/ggml-org/llama.cpp/releases:
- Linux: `llama-bXXXX-bin-ubuntu-x64.tar.gz` → `bin/linux/`
- Windows: `llama-bXXXX-bin-win-cpu-x64.zip` → `bin/win/`
### Modell hinzufügen
GGUF-Datei in `models/` ablegen — wird automatisch erkannt.