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
This commit is contained in:
88
README.md
Normal file
88
README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user