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
|
|
@ -142,6 +142,13 @@ class Settings(BaseSettings):
|
|||
admin_api_key: str = ""
|
||||
auth_enabled: bool = True
|
||||
history_max_messages: int = 10
|
||||
# Automatische Erinnerungs-Extraktion: das LLM destilliert dauerhafte Fakten
|
||||
# aus dem Gespraech und legt sie als Nutzer-Erinnerungen ab (best-effort,
|
||||
# nicht-blockierend). Leerer Provider = Default-LLM-Provider.
|
||||
memory_extraction_enabled: bool = True
|
||||
memory_extraction_every_n_turns: int = 3
|
||||
memory_extraction_max: int = 50
|
||||
memory_extraction_provider: str = ""
|
||||
audio_stream_default: bool = True # satzweises TTS als Default (Admin kann abschalten)
|
||||
# TTS-Text-Normalisierung: auto|full|light|off. "auto" = piper -> full, Cloud -> light.
|
||||
tts_normalize_level: str = "auto"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue