Files
nimue/README.md
arch_agent 27dcaf6552 Initial commit: Nimue AI Companion v1.0
- Langzeit- und Kurzzeitgedächtnis mit SQLite
- Ollama-Integration für lokale LLMs
- Flask-Webinterface mit Stream-Response
- Persona-System mit konfigurierbarem Charakter
- Auto-Zusammenfassung bei Token-Limit
- Rate Limiting und Sicherheitsfeatures
- Uncensored Modell-Support
2026-04-14 07:44:36 +02:00

88 lines
1.9 KiB
Markdown

# Nimue - Submissive AI Companion
Ein lokaler Chatbot mit Langzeit- und Kurzzeitgedächtnis basierend auf Ollama.
## Features
- **Langzeitgedächtnis**: SQLite-Datenbank speichert alle Gespräche
- **Kurzzeitgedächtnis**: RAM-basiert für schnellen Kontextzugriff
- **Auto-Zusammenfassung**: Alte Nachrichten werden automatisch zusammengefasst statt verworfen
- **Persona-System**: Konfigurierbare Charaktereigenschaften
- **Präferenzen-Lernen**: Erkennt und speichert Benutzerpräferenzen
- **Token-Schutz**: Verhindert Context-Overflow
- **Rate Limiting**: Schutz vor Überlastung
- **Stream-Response**: Echtzeit-Antworten
## Installation
### Voraussetzungen
```bash
# Ollama installieren
curl -fsSL https://ollama.com/install.sh | sh
# Modell herunterladen
ollama pull HammerAI/rocinante-v1.1:12b-q4_K_M
# Python-Abhängigkeiten
pip install -r requirements.txt
```
### Konfiguration
Editiere `config.yaml`:
```yaml
ollama:
host: "http://localhost:11434"
model: "HammerAI/rocinante-v1.1:12b-q4_K_M"
memory:
max_context_tokens: 4096 # Kontextfenster
short_term_limit: 2048 # RAM-Cache
long_term_limit: 1024 # Für Zusammenfassungen
persona:
name: "Nimue"
# System Prompt anpassbar
```
## Verwendung
```bash
# Starten
python main.py
# Oder
cd nimue && python -m nimue.app
# Webinterface öffnen
firefox http://localhost:5000
```
## Architektur
```
Benutzer-Eingabe
MemoryManager (Kurzzeit)
OllamaClient → Local LLM
MemoryManager (Speicherung)
Stream-Antwort
```
## Gedächtnis-System
- **Kurzzeit**: Aktuelle Sitzung (RAM)
- **Langzeit**: Alle vergangenen Gespräche (SQLite)
- **Zusammenfassung**: Bei 80% Token-Nutzung werden alte Nachrichten komprimiert und archiviert
## Sicherheit
- Rate Limiting: 30 Anfragen/Minute
- Session Timeouts nach 60 Min Inaktivität
- Maximale Eingabelänge: 2000 Zeichen
- Keine externen Datenverbindungen