build: document local model runtime
This commit is contained in:
@@ -12,6 +12,8 @@ Alle wesentlichen Projektänderungen werden hier in verständlicher Form dokumen
|
||||
- Eng begrenzte projektinterne Codex-Agentenrollen.
|
||||
- Abhängigkeitsfreier Strukturprüfer.
|
||||
- Phasenbezogene Empfehlung für Entwicklungswerkzeuge, VS-Code-Erweiterungen, Obsidian und lokale Modelllaufzeiten.
|
||||
- Dokumentierte, portable Ollama-Laufzeit 0.32.5 und genau ein lokales Modell
|
||||
`qwen3:8b` außerhalb des Repositories.
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -21,6 +23,7 @@ Alle wesentlichen Projektänderungen werden hier in verständlicher Form dokumen
|
||||
- Vollständigen Erst-Handoff einmalig archiviert und die laufende Übergabe auf einen kompakten aktuellen Stand umgestellt.
|
||||
- Isolierte Python-3.12-Entwicklungsumgebung mit uv-Lockfile und Ruff vorbereitet.
|
||||
- Offizielle VS-Code-Erweiterungen für Python, Pylance und Python Environments eingerichtet.
|
||||
- `qwen3:8b` mit echten deutschen Antworten und GPU-/Zeitmessungen auf der RTX 3060 geprüft.
|
||||
|
||||
### Security
|
||||
|
||||
|
||||
+30
-9
@@ -53,7 +53,11 @@ Rootserver:
|
||||
- Toolchain eingerichtet: uv 0.11.32 und CPython 3.12.13 isoliert unter `D:\Javis-Tools`; Ruff 0.16.0 in der lokalen `.venv`.
|
||||
- Offizielle VS-Code-Erweiterungen installiert: Python 2026.4.0, Pylance 2026.3.1, Python Environments 1.36.0 und Debugpy 2026.6.0.
|
||||
- Windows-PATH und vorhandene Python-Installationen wurden nicht verändert.
|
||||
- Ollama oder llama.cpp sind noch nicht installiert.
|
||||
- Ollama 0.32.5 ist portabel unter `D:\Javis-Tools\ollama` installiert.
|
||||
- Genau ein Modell ist installiert: `qwen3:8b`, GGUF `Q4_K_M`, 5,2 GB, Apache-2.0.
|
||||
- Modelle liegen außerhalb von Git unter `D:\Javis-Data\ollama-models`.
|
||||
- Der lokale Ollama-Dienst bindet nur an `127.0.0.1:11434`; PATH, Registry,
|
||||
Autostart und Windows-Dienste blieben unverändert.
|
||||
- Kein Obsidian-, Laptop- oder Rootserverzugriff wurde implementiert.
|
||||
- Keine KI-, Sprach-, Mobil- oder Statusfunktion ist implementiert.
|
||||
|
||||
@@ -83,6 +87,11 @@ Rootserver:
|
||||
- Handoff-Verdichtung als Commit `e6eb995` nach `origin/main` gepusht.
|
||||
- Branch `feat/core-chat` von diesem Stand erstellt.
|
||||
- uv, CPython 3.12, lokale `.venv`, Ruff, Lockfile und offizielle VS-Code-Python-Erweiterungen eingerichtet.
|
||||
- Ollama und llama.cpp anhand offizieller Quellen verglichen; Ollama als einfachere
|
||||
erste Windows-Laufzeit gewählt.
|
||||
- Ollama-Archiv gegen die offizielle SHA-256-Prüfsumme verifiziert und portabel installiert.
|
||||
- `qwen3:8b` außerhalb des Repositories geladen und mit zwei echten deutschen
|
||||
Modellantworten auf der RTX 3060 geprüft.
|
||||
- Obsidian, Ubuntu-Laptop und Rootserver blieben unverändert.
|
||||
|
||||
## Aktuelle Tests
|
||||
@@ -99,7 +108,18 @@ Letzter bestätigter Grundgerüststand:
|
||||
- Python in `.venv`: 3.12.13
|
||||
- Ruff in `.venv`: 0.16.0
|
||||
|
||||
Für den Textchat existieren noch keine Funktions- oder Modell-Smoke-Tests.
|
||||
Lokaler Modell-Smoke-Test:
|
||||
|
||||
- Ollama-Version/API: 0.32.5, localhost erreichbar
|
||||
- Modell: 5.225.388.164 Byte, 8,2B, Q4_K_M, Apache-2.0
|
||||
- kalter Aufruf: 36,19 s Wandzeit, davon 17,53 s Laden, ungefähr 7,22 Token/s
|
||||
- warmer kurzer Aufruf: 0,56 s Wandzeit, ungefähr 55,51 Token/s
|
||||
- GPU-Belegung: 1.418 MiB vorher, 6.842 MiB mit geladenem Modell
|
||||
- Ollama meldet 100 % GPU und 5,6 GB Modellbelegung
|
||||
|
||||
Zwölf vorbereitete Unit-Tests für Konfiguration, SQLite, Kern, Provider und CLI
|
||||
laufen in der Arbeitskopie bereits erfolgreich; sie sind noch nicht in den
|
||||
Feature-Branch übernommen.
|
||||
|
||||
## Git-Stand
|
||||
|
||||
@@ -108,7 +128,7 @@ Für den Textchat existieren noch keine Funktions- oder Modell-Smoke-Tests.
|
||||
- Grundgerüstcommit: `6d04171`
|
||||
- letzter Commit vor der Handoff-Verdichtung: `0e82748`
|
||||
- Handoff-Verdichtung auf `main`: `e6eb995`
|
||||
- aktueller Feature-Commit ist über `git log -1 --oneline` zu bestimmen
|
||||
- Python-Entwicklungsumgebung auf dem Feature-Branch: `fa90a5c`
|
||||
- `origin` verwendet HTTPS
|
||||
- kein Force-Push und keine umgeschriebene Historie
|
||||
|
||||
@@ -119,11 +139,12 @@ Für den Textchat existieren noch keine Funktions- oder Modell-Smoke-Tests.
|
||||
- `0e82748`: Werkzeug-, Token- und Handoff-Regeln
|
||||
- `e6eb995`: einmalige Archivierung und Verdichtung des Handoffs
|
||||
- aktuell: isolierte Python-Toolchain und reproduzierbare Entwicklungsumgebung
|
||||
- aktuell: portable Ollama-Laufzeit und `qwen3:8b` außerhalb von Git verifiziert
|
||||
|
||||
## Offene Entscheidungen und Fehler
|
||||
|
||||
- endgültiger Produkt-/Repositoryname bleibt offen
|
||||
- lokale Modelllaufzeit und erstes Modell sind noch nicht installiert oder benchmarked
|
||||
- Startmechanismus für Ollama ist noch bewusst manuell und nur pro Prozess konfiguriert
|
||||
- genauer späterer Obsidian-Schreibbereich ist nicht freigegeben
|
||||
- endgültiger Secret-Provider ist offen; lokale Klartext-XML wäre nur restriktiv geschützt und Git-ignoriert zulässig
|
||||
- Gaming-PC zeigt derzeit nur 8 statt 16 logische CPU-Prozessoren; Ursache ungeklärt
|
||||
@@ -143,10 +164,10 @@ Für den Textchat existieren noch keine Funktions- oder Modell-Smoke-Tests.
|
||||
|
||||
Der genehmigte nächste Meilenstein ist `feat/core-chat`:
|
||||
|
||||
1. Ollama als einfachere Windows-Laufzeit installieren; llama.cpp bleibt dokumentierte Alternative
|
||||
2. genau `qwen3:8b` (`Q4_K_M`, 5,2 GB, Apache-2.0) herunterladen und auf der RTX 3060 messen
|
||||
3. echten lokalen CLI-Chat mit Provider-Schnittstelle und SQLite-Sitzungen implementieren
|
||||
4. Unit-, Ruff-, Persistenz-, Secret- und echten Modell-Smoke-Test ausführen
|
||||
5. nur bei vollständig erfüllter Abnahme nach `main` mergen
|
||||
1. vorbereiteten lokalen CLI-Chat mit Provider-Schnittstelle und SQLite-Sitzungen
|
||||
in den Feature-Branch übernehmen
|
||||
2. Unit-, Ruff-, Persistenz-, Secret- und echten CLI-Modell-Smoke-Test ausführen
|
||||
3. Dokumentation und Handoff auf den tatsächlichen Endstand bringen
|
||||
4. Feature-Branch pushen und nur bei vollständig erfüllter Abnahme nach `main` mergen
|
||||
|
||||
Nicht Teil dieses Meilensteins: Obsidian-Integration, Serverzugriff, Sprache, Mobile Client oder Living-Mind-Code.
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
# Lokales Modell
|
||||
|
||||
Stand: 30.07.2026, erster Windows-Test auf dem Gaming-PC.
|
||||
|
||||
## Auswahl
|
||||
|
||||
- Laufzeit: Ollama `0.32.5`, portable Windows-Version
|
||||
- Modell: `qwen3:8b`
|
||||
- Format: GGUF
|
||||
- Quantisierung: `Q4_K_M`
|
||||
- Parameter: 8,2 Milliarden
|
||||
- Kontext laut Modellmetadaten: 40.960 Token; Ollama-Testkontext: 4.096
|
||||
- Downloadgröße laut lokaler Ollama-API: 5.225.388.164 Byte, ungefähr 5,2 GB
|
||||
- Lizenz: Apache License 2.0
|
||||
|
||||
Ollama wurde gegenüber llama.cpp für diesen ersten Windows-Test gewählt, weil die
|
||||
offizielle portable Laufzeit ohne Build, Installer, PATH-Änderung oder Systemdienst
|
||||
eine stabile lokale HTTP-Schnittstelle bereitstellt. llama.cpp bleibt eine mögliche
|
||||
spätere Alternative, falls auf schwächerer Hardware feinere Kontrolle über Kontext,
|
||||
Offloading oder Quantisierung benötigt wird.
|
||||
|
||||
`qwen3:8b` wurde gewählt, weil die Variante unter 10 GB bleibt, vollständig in den
|
||||
12-GB-VRAM der RTX 3060 passt, deutschsprachige Antworten liefert und nach dem
|
||||
Download offline über localhost nutzbar ist.
|
||||
|
||||
## Speicherorte
|
||||
|
||||
- portable Laufzeit: `D:\Javis-Tools\ollama`
|
||||
- Modellablage: `D:\Javis-Data\ollama-models`
|
||||
- Repository: enthält weder Laufzeit noch Modell
|
||||
|
||||
Die Ablage wird beim Start des Dienstes über `OLLAMA_MODELS` nur für diesen Prozess
|
||||
gesetzt. PATH, Registry, Autostart und Windows-Dienste wurden nicht verändert.
|
||||
|
||||
## Gemessener Test
|
||||
|
||||
Hardware: AMD Ryzen 7 9700X, 64 GB RAM, Nvidia RTX 3060 12 GB, Windows 11.
|
||||
|
||||
- Laufzeit-Archiv: 1.457.824.795 Byte
|
||||
- verifizierte SHA-256:
|
||||
`7c941ae084569d298062d29f8139163a3187c76dbca0479c70d085e78fd8c7bb`
|
||||
- kalter deutscher Zweitsatz-Test: 36,19 Sekunden Wandzeit
|
||||
- davon Modell-Ladezeit: 17,53 Sekunden
|
||||
- Ausgabe: 49 Token mit ungefähr 7,22 Token/Sekunde
|
||||
- warmer kurzer Test: 0,56 Sekunden Wandzeit
|
||||
- Ausgabe: 19 Token mit ungefähr 55,51 Token/Sekunde
|
||||
- GPU-Grundbelegung vor Laden: 1.418 MiB
|
||||
- GPU-Belegung bei geladenem Modell/Test: 6.842 MiB
|
||||
- beobachtete zusätzliche VRAM-Belegung: ungefähr 5.424 MiB
|
||||
- `ollama ps`: 5,6 GB, 100 % GPU, Kontext 4.096
|
||||
|
||||
Die Messwerte sind Momentaufnahmen und hängen von Prompt, Kontext, bereits belegtem
|
||||
VRAM und Warmzustand ab.
|
||||
|
||||
## Grenze
|
||||
|
||||
Dieses Modell ist der bestätigte erste Gaming-PC-Test, nicht automatisch das
|
||||
endgültige Modell für den ASUS-Laptop mit GTX 1050 4 GB. Dort müssen später
|
||||
kleineres Modell, stärkere Quantisierung, teilweises CPU-Offloading und tatsächliche
|
||||
Antwortqualität separat gemessen werden. Ein Laptop-Deployment gehört nicht zu
|
||||
diesem Arbeitspaket.
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
## Ziel
|
||||
|
||||
Nächstes Arbeitspaket auf `feat/core-chat`: genau eine lokale Modelllaufzeit und ein echter lokaler CLI-Textchat mit SQLite-Sitzungen.
|
||||
Nächstes Arbeitspaket auf `feat/core-chat`: den vorbereiteten lokalen CLI-Textchat
|
||||
mit SQLite-Sitzungen übernehmen, vollständig testen und dokumentieren.
|
||||
|
||||
## Vor Änderungen erneut prüfen
|
||||
|
||||
@@ -13,10 +14,10 @@ Nächstes Arbeitspaket auf `feat/core-chat`: genau eine lokale Modelllaufzeit un
|
||||
|
||||
## Vorgeschlagener Umfang
|
||||
|
||||
- Ollama und llama.cpp offiziell vergleichen; nur eine Laufzeit und ein Modell unter ungefähr 10 GB installieren
|
||||
- lokale Konfiguration, Provider-Schnittstelle und SQLite-Sitzungen implementieren
|
||||
- CLI mit neuen, gelisteten und fortsetzbaren Sitzungen
|
||||
- Unit-, Ruff-, Persistenz-, Secret- und echter Modell-Smoke-Test
|
||||
- Unit-, Ruff-, Persistenz-, Secret- und echter CLI-Modell-Smoke-Test
|
||||
- Feature-Branch pushen und nur bei erfüllter Abnahme nach `main` mergen
|
||||
|
||||
## Nicht beginnen
|
||||
|
||||
|
||||
+10
-3
@@ -1,6 +1,6 @@
|
||||
# Projektstatus
|
||||
|
||||
Stand: Toolchain-Arbeitspaket auf `feat/core-chat`, 30.07.2026.
|
||||
Stand: lokale Modelllaufzeit auf `feat/core-chat`, 30.07.2026.
|
||||
|
||||
## Erreicht
|
||||
|
||||
@@ -15,10 +15,15 @@ Stand: Toolchain-Arbeitspaket auf `feat/core-chat`, 30.07.2026.
|
||||
- uv 0.11.32 und CPython 3.12.13 isoliert unter `D:\Javis-Tools` installiert
|
||||
- lokale `.venv`, reproduzierbares `uv.lock` und Ruff 0.16.0 eingerichtet
|
||||
- offizielle VS-Code-Erweiterungen Python, Pylance und Python Environments installiert
|
||||
- Ollama 0.32.5 portabel und ohne Systemänderungen unter `D:\Javis-Tools` installiert
|
||||
- `qwen3:8b` (Q4_K_M, 5,2 GB, Apache-2.0) unter `D:\Javis-Data` geladen
|
||||
- zwei echte deutsche Modellantworten erfolgreich vollständig auf der RTX 3060 erzeugt
|
||||
- kalter Test 36,19 s, warmer Kurztest 0,56 s; geladene GPU-Belegung 6.842 MiB
|
||||
|
||||
## Nicht implementiert
|
||||
|
||||
KI, Chat, Provider, Gedächtnis, Obsidian-Adapter, Tools, Serverzugriff, Sprache, Mobile Client und Living-Mind-Frontend.
|
||||
CLI-Chat, Provider im Repository, Sitzungsspeicher, Obsidian-Adapter, Tools,
|
||||
Serverzugriff, Sprache, Mobile Client und Living-Mind-Frontend.
|
||||
|
||||
## Git
|
||||
|
||||
@@ -29,4 +34,6 @@ KI, Chat, Provider, Gedächtnis, Obsidian-Adapter, Tools, Serverzugriff, Sprache
|
||||
|
||||
## Bekannte Einschränkung
|
||||
|
||||
Die Toolchain ist nutzbar, ohne den Windows-`PATH` zu verändern. Eine lokale Modelllaufzeit und der Textchat sind noch nicht implementiert.
|
||||
Toolchain und lokale Modelllaufzeit sind nutzbar, ohne den Windows-`PATH`, Registry,
|
||||
Autostart oder Windows-Dienste zu verändern. Der Textchat ist als Nächstes in den
|
||||
Feature-Branch zu übernehmen und vollständig gegen das reale Modell zu prüfen.
|
||||
|
||||
Reference in New Issue
Block a user