Gedachtnissystem
PRX bietet ein flexibles Gedachtnissystem, das es Agenten ermoglicht, Kontext uber Gesprache hinweg zu persistieren und abzurufen. Das Gedachtnissystem unterstutzt 5 Speicher-Backends, die jeweils fur verschiedene Bereitstellungsszenarien optimiert sind.
Ubersicht
Das Gedachtnissystem erfullt drei primare Funktionen:
- Abruf -- relevante vergangene Interaktionen und Fakten vor jedem LLM-Aufruf abrufen
- Speicherung -- wichtige Informationen aus Gesprachen extrahieren und persistieren
- Komprimierung -- alte Erinnerungen zusammenfassen und komprimieren, um in Kontextlimits zu passen
Speicher-Backends
| Backend | Persistenz | Suche | Geeignet fur |
|---|---|---|---|
| Markdown | Dateibasiert | Volltext-Grep | Einzelbenutzer-CLI, versionskontrolliertes Gedachtnis |
| SQLite | Lokale Datenbank | FTS5-Volltext | Lokale Bereitstellungen, kleine Teams |
| PostgreSQL | Remote-Datenbank | pg_trgm + FTS | Multi-User-Server-Bereitstellungen |
| Embeddings | Vektorspeicher | Semantische Ahnlichkeit | RAG-Abruf, grosse Wissensbasen |
| In-Memory | Keine (nur Sitzung) | Linearer Scan | Ephemere Sitzungen, Tests |
Konfiguration
Wahlen und konfigurieren Sie das Gedachtnis-Backend in config.toml:
toml
[memory]
backend = "sqlite" # "markdown" | "sqlite" | "postgres" | "embeddings" | "memory"
max_recall_items = 20
recall_relevance_threshold = 0.3
[memory.sqlite]
path = "~/.local/share/openprx/memory.db"
[memory.postgres]
url = "postgresql://user:pass@localhost/prx"
[memory.embeddings]
provider = "ollama"
model = "nomic-embed-text"
dimension = 768Gedachtnis-Lebenszyklus
- Extraktion -- nach jeder Gesprachsrunde extrahiert das System Schlusselfakten
- Deduplizierung -- neue Fakten werden mit bestehenden Erinnerungen verglichen
- Speicherung -- einzigartige Fakten werden im konfigurierten Backend persistiert
- Abruf -- vor jedem LLM-Aufruf werden relevante Erinnerungen abgerufen
- Hygiene -- periodische Wartung komprimiert und bereinigt veraltete Eintrage