praval.memory.memory_types
Memory types and data structures for Praval agents
Classes
|
A single memory entry |
|
A memory search query |
|
Result of a memory search |
|
Types of memory entries |
- class praval.memory.memory_types.MemoryType(*values)[source]
Bases:
EnumTypes of memory entries
- SHORT_TERM = 'short_term'
- EPISODIC = 'episodic'
- SEMANTIC = 'semantic'
- PROCEDURAL = 'procedural'
- EMOTIONAL = 'emotional'
- class praval.memory.memory_types.MemoryEntry(id, agent_id, memory_type, content, metadata, embedding=None, created_at=None, accessed_at=None, access_count=0, importance=0.5)[source]
Bases:
objectA single memory entry
- Parameters:
id (str)
agent_id (str)
memory_type (MemoryType)
content (str)
metadata (Dict[str, Any])
embedding (List[float] | None)
created_at (datetime)
accessed_at (datetime)
access_count (int)
importance (float)
- id: str
- agent_id: str
- memory_type: MemoryType
- content: str
- metadata: Dict[str, Any]
- embedding: List[float] | None = None
- created_at: datetime = None
- accessed_at: datetime = None
- access_count: int = 0
- importance: float = 0.5
- classmethod from_dict(data)[source]
Create from dictionary
- Return type:
- Parameters:
data (Dict[str, Any])
- __init__(id, agent_id, memory_type, content, metadata, embedding=None, created_at=None, accessed_at=None, access_count=0, importance=0.5)
- Parameters:
id (str)
agent_id (str)
memory_type (MemoryType)
content (str)
metadata (Dict[str, Any])
embedding (List[float] | None)
created_at (datetime)
accessed_at (datetime)
access_count (int)
importance (float)
- Return type:
None
- class praval.memory.memory_types.MemoryQuery(query_text, memory_types=None, agent_id=None, limit=10, similarity_threshold=0.7, include_metadata=True, temporal_filter=None)[source]
Bases:
objectA memory search query
- Parameters:
query_text (str)
memory_types (List[MemoryType])
agent_id (str | None)
limit (int)
similarity_threshold (float)
include_metadata (bool)
temporal_filter (Dict[str, datetime] | None)
- query_text: str
- memory_types: List[MemoryType] = None
- agent_id: str | None = None
- limit: int = 10
- similarity_threshold: float = 0.7
- include_metadata: bool = True
- temporal_filter: Dict[str, datetime] | None = None
- __init__(query_text, memory_types=None, agent_id=None, limit=10, similarity_threshold=0.7, include_metadata=True, temporal_filter=None)
- Parameters:
query_text (str)
memory_types (List[MemoryType])
agent_id (str | None)
limit (int)
similarity_threshold (float)
include_metadata (bool)
temporal_filter (Dict[str, datetime] | None)
- Return type:
None
- class praval.memory.memory_types.MemorySearchResult(entries, scores, query, total_found)[source]
Bases:
objectResult of a memory search
- Parameters:
entries (List[MemoryEntry])
scores (List[float])
query (MemoryQuery)
total_found (int)
- entries: List[MemoryEntry]
- scores: List[float]
- query: MemoryQuery
- total_found: int
- get_best_match()[source]
Get the best matching memory entry
- Return type:
Optional[MemoryEntry]
- get_above_threshold(threshold=0.8)[source]
Get entries above similarity threshold
- Return type:
List[MemoryEntry]- Parameters:
threshold (float)
- __init__(entries, scores, query, total_found)
- Parameters:
entries (List[MemoryEntry])
scores (List[float])
query (MemoryQuery)
total_found (int)
- Return type:
None