feat: Vision-Support für Gemma-4, Bilderkennung im Web UI

- Modell gewechselt zu aratan/gemma-4-E4B-q8-it-heretic:latest
- Multimodale Anfragen (Text + Bild) über Ollama API
- Bild-Upload im Chat-Interface mit Vorschau
- Automatisches Image-Resizing und JPEG-Kompression
- Vision-Regeln im Persona-Prompt integriert
- Memory-System erweitert für Bildhinweise
- Frontend: Bildvorschau, Upload-Button, responsive Styling
- README aktualisiert
This commit is contained in:
Arch Agent
2026-05-04 13:44:00 +02:00
parent 27dcaf6552
commit f4b79a1004
8 changed files with 461 additions and 194 deletions
+14 -7
View File
@@ -1,6 +1,6 @@
# Nimue - Submissive AI Companion
Ein lokaler Chatbot mit Langzeit- und Kurzzeitgedächtnis basierend auf Ollama.
Ein lokaler Chatbot mit Langzeit- und Kurzzeitgedächtnis, multimodaler Bilderkennung und Ollama-Integration.
## Features
@@ -12,6 +12,7 @@ Ein lokaler Chatbot mit Langzeit- und Kurzzeitgedächtnis basierend auf Ollama.
- **Token-Schutz**: Verhindert Context-Overflow
- **Rate Limiting**: Schutz vor Überlastung
- **Stream-Response**: Echtzeit-Antworten
- **Vision / Bilderkennung**: Unterstützt Bild-Uploads über das Webinterface (Gemma-4 Vision)
## Installation
@@ -21,8 +22,8 @@ Ein lokaler Chatbot mit Langzeit- und Kurzzeitgedächtnis basierend auf Ollama.
# Ollama installieren
curl -fsSL https://ollama.com/install.sh | sh
# Modell herunterladen
ollama pull HammerAI/rocinante-v1.1:12b-q4_K_M
# Vision-Modell herunterladen
ollama pull aratan/gemma-4-E4B-q8-it-heretic:latest
# Python-Abhängigkeiten
pip install -r requirements.txt
@@ -35,7 +36,7 @@ Editiere `config.yaml`:
```yaml
ollama:
host: "http://localhost:11434"
model: "HammerAI/rocinante-v1.1:12b-q4_K_M"
model: "aratan/gemma-4-E4B-q8-it-heretic:latest"
memory:
max_context_tokens: 4096 # Kontextfenster
@@ -60,14 +61,18 @@ cd nimue && python -m nimue.app
firefox http://localhost:5000
```
### Bilder senden
Im Chat-Interface auf die 📷-Schaltfläche klicken, ein Bild auswählen und optional Text hinzufügen. Nimue analysiert und beschreibt das Bild vollständig.
## Architektur
```
Benutzer-Eingabe
Benutzer-Eingabe (+ optional Bild)
MemoryManager (Kurzzeit)
OllamaClient → Local LLM
OllamaClient → Local LLM (Vision-fähig)
MemoryManager (Speicherung)
@@ -79,10 +84,12 @@ Stream-Antwort
- **Kurzzeit**: Aktuelle Sitzung (RAM)
- **Langzeit**: Alle vergangenen Gespräche (SQLite)
- **Zusammenfassung**: Bei 80% Token-Nutzung werden alte Nachrichten komprimiert und archiviert
- **Bilder**: Werden in der Session verarbeitet, im Langzeitgedächtnis als Hinweis gespeichert
## Sicherheit
- Rate Limiting: 30 Anfragen/Minute
- Session Timeouts nach 60 Min Inaktivität
- Maximale Eingabelänge: 2000 Zeichen
- Keine externen Datenverbindungen
- Maximale Bildgröße: 8MB (automatisch resized für Ollama)
- Keine externen Datenverbindungen