feat(memory): automatische Erinnerungs-Extraktion aus Gespraechen
- app/core/memory_extractor.py: LLM destilliert nach je N Turns dauerhafte Fakten/Vorlieben aus dem Verlauf, dedupliziert gegen vorhandene Erinnerungen und legt sie ab - best-effort, nicht-blockierend (Hintergrund-Task), eigener Extraktions-Prompt (JSON, Reasoning aus), Cap-Begrenzung - Trigger in /api/chat und /ws/voice nach dem Persistieren des Turns - Konfig: MEMORY_EXTRACTION_ENABLED/_EVERY_N_TURNS/_MAX/_PROVIDER - Tests: Extraktion, Dedup, kaputtes JSON, Cap, leeres Gespraech, Scheduling - Doku: README + Architektur-Roadmap (Punkt 3 erledigt) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
28c729f1d4
commit
aa64ccf585
8 changed files with 326 additions and 1 deletions
|
|
@ -77,6 +77,14 @@ TTS_SAMPLE_RATE=24000 # Ziel-Sample-Rate (ffmpeg
|
|||
# LLM_FALLBACK=local-openai-compatible
|
||||
# TTS_FALLBACK=piper
|
||||
|
||||
# --- Automatische Erinnerungs-Extraktion -----------------------------------
|
||||
# Das LLM destilliert nach je N Turns dauerhafte Fakten/Vorlieben aus dem Gespraech
|
||||
# und legt sie als Nutzer-Erinnerungen ab (best-effort, nicht-blockierend).
|
||||
# MEMORY_EXTRACTION_ENABLED=true
|
||||
# MEMORY_EXTRACTION_EVERY_N_TURNS=3 # wie oft extrahiert wird
|
||||
# MEMORY_EXTRACTION_MAX=50 # Obergrenze gespeicherter Erinnerungen
|
||||
# MEMORY_EXTRACTION_PROVIDER= # leer = Default-LLM; sonst Registry-Name
|
||||
|
||||
# --- Betrieb: Kontingent & Notfall -----------------------------------------
|
||||
DAILY_REQUEST_LIMIT=0 # Anfragen pro Nutzer/Tag (0 = unbegrenzt)
|
||||
# EMERGENCY_WEBHOOK_URL=https://example.org/alert # optionale Eskalation
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue