praval.memory.memory_types๏ƒ

Memory types and data structures for Praval agents

Classes

MemoryEntry(id,ย agent_id,ย memory_type,ย ...)

A single memory entry

MemoryQuery(query_text[,ย memory_types,ย ...])

A memory search query

MemorySearchResult(entries,ย scores,ย query,ย ...)

Result of a memory search

MemoryType(*values)

Types of memory entries

class praval.memory.memory_types.MemoryType(*values)[source]๏ƒ

Bases: Enum

Types 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: object

A single memory entry

Parameters:
id: str๏ƒ
agent_id: str๏ƒ
memory_type: MemoryType๏ƒ
content: str๏ƒ
metadata: Dict[str, Any]๏ƒ
embedding: Optional[List[float]] = None๏ƒ
created_at: datetime = None๏ƒ
accessed_at: datetime = None๏ƒ
access_count: int = 0๏ƒ
importance: float = 0.5๏ƒ
mark_accessed()[source]๏ƒ

Mark this memory as accessed

to_dict()[source]๏ƒ

Convert to dictionary for storage

Return type:

Dict[str, Any]

classmethod from_dict(data)[source]๏ƒ

Create from dictionary

Return type:

MemoryEntry

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:
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: object

A memory search query

Parameters:
query_text: str๏ƒ
memory_types: List[MemoryType] = None๏ƒ
agent_id: Optional[str] = None๏ƒ
limit: int = 10๏ƒ
similarity_threshold: float = 0.7๏ƒ
include_metadata: bool = True๏ƒ
temporal_filter: Optional[Dict[str, datetime]] = None๏ƒ
__init__(query_text, memory_types=None, agent_id=None, limit=10, similarity_threshold=0.7, include_metadata=True, temporal_filter=None)๏ƒ
Parameters:
Return type:

None

class praval.memory.memory_types.MemorySearchResult(entries, scores, query, total_found)[source]๏ƒ

Bases: object

Result of a memory search

Parameters:
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:
Return type:

None