Memory und Gedächtnis Integration für OpenWebUI (Bild © OpenWebUI)
Das Speichersystem funktioniert, indem es Nutzernachrichten und gespeicherte Daten mit dem konfigurierten LLM teilt, um den Abruf und die Konsolidierung von Erinnerungen zu erleichtern. Das System kann zwar lokal ausgeführt werden, aber bei der Nutzung von Remote-Einbettungsmodellen werden die Daten von den jeweiligen externen Anbietern verarbeitet.
Da das System komplexe Eingabeaufforderungen verwendet und die abgerufenen Erinnerungen in den Chat-Kontext einbindet, ist ein Anstieg der Token-Nutzung zu verzeichnen. Um die Kosten im Griff zu behalten, ist das System mit verschiedenen Modellen kompatibel, darunter lokale LLMs oder effiziente öffentliche Modelle wie qwen3-instruct, gpt-5-nano und gemini-2.5-flash-lite.
Technische Architektur und Abrufverfahren
Das System verwendet einen zweistufigen Arbeitsablauf, um Informationen zu verwalten. In der Eingangsphase stellt die Software zunächst fest, ob eine Nachricht ignoriert werden sollte - sie filtert technische Daten, Code oder mathematische Abfragen mithilfe von Regex-Mustern und semantischer Klassifizierung heraus. Wenn die Nachricht relevant ist, führt das System eine semantische Suche nach verwandten Erinnerungen durch. Um die Genauigkeit zu optimieren, wird automatisch ein LLM-gestützter Reranking-Prozess ausgelöst, wenn die Anzahl der anfänglichen Kandidaten 50 % der Abrufgrenze überschreitet.
Nach der LLM-Antwort beginnt die Auslassphase. Dieser Hintergrundprozess analysiert das Gespräch, um festzustellen, welche Erinnerungen erstellt, aktualisiert oder gelöscht werden müssen. Diese Konsolidierung stellt sicher, dass persönliche Fakten im Laufe der Zeit angereichert und nicht dupliziert werden.
Hardware- und Software-Optimierung
Um die Leistung aufrechtzuerhalten, integriert das System drei spezielle Caches für die Einbettung, den Abruf und den Speicher. Diese Caches verwenden eine LRU-Räumungsstrategie, um sicherzustellen, dass der Speicherbedarf begrenzt und effizient bleibt. Außerdem verwendet das System gestapelte und normalisierte Einbettungen, um Ähnlichkeitsberechnungen zu beschleunigen und redundante API-Aufrufe zu reduzieren.
