Spaces:
Sleeping
Sleeping
| """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", | |
| ] | |