Spaces:
Sleeping
Sleeping
File size: 1,735 Bytes
bb3ee41 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | """Memory module for ScrapeRL agent memory management.
This module provides a multi-layered memory system for RL agents:
- **ShortTermMemory**: Episode-scoped dictionary storage that auto-clears
- **WorkingMemory**: LRU-based reasoning/scratch space with limited capacity
- **LongTermMemory**: Persistent vector storage with ChromaDB for semantic search
- **SharedMemory**: Thread-safe pub/sub and state sharing for multi-agent coordination
- **MemoryManager**: Unified interface to all memory layers
Example:
>>> from app.config import get_settings
>>> from app.memory import MemoryManager, MemoryType
>>>
>>> settings = get_settings()
>>> memory = MemoryManager(settings)
>>> await memory.initialize()
>>>
>>> # Store in short-term memory
>>> await memory.store("key", "value", MemoryType.SHORT_TERM)
>>>
>>> # Semantic search in long-term memory
>>> results = await memory.search("query", MemoryType.LONG_TERM)
>>>
>>> # Cleanup
>>> await memory.shutdown()
"""
from app.memory.long_term import Document, LongTermMemory, SearchResult
from app.memory.manager import MemoryManager, MemoryStats, MemoryType
from app.memory.shared import Channel, Message, SharedMemory, Subscription
from app.memory.short_term import MemoryEntry, ShortTermMemory
from app.memory.working import WorkingMemory, WorkingMemoryItem
__all__ = [
# Manager
"MemoryManager",
"MemoryStats",
"MemoryType",
# Short-term
"ShortTermMemory",
"MemoryEntry",
# Working
"WorkingMemory",
"WorkingMemoryItem",
# Long-term
"LongTermMemory",
"Document",
"SearchResult",
# Shared
"SharedMemory",
"Channel",
"Message",
"Subscription",
]
|