praval.memory.long_term_memory

Long-term vector memory using Qdrant for Praval agents

This provides persistent, vector-based storage for: - Semantic knowledge and concepts - Long-term conversation history - Learned patterns and insights - Cross-session memory persistence

Classes

LongTermMemory([qdrant_url, ...])

Qdrant-based long-term memory for persistent vector storage

class praval.memory.long_term_memory.LongTermMemory(qdrant_url='http://localhost:6333', collection_name='praval_memories', vector_size=1536, distance_metric='cosine', embedding_provider='openai', embedding_model='text-embedding-3-small', embedding_dimensions=None, embedding_provider_options=None, embedding_runtime=None)[source]

Bases: object

Qdrant-based long-term memory for persistent vector storage

Features: - Vector similarity search - Persistent storage across sessions - Scalable to millions of memories - Semantic search capabilities - Memory importance scoring

Parameters:
  • qdrant_url (str)

  • collection_name (str)

  • vector_size (int)

  • distance_metric (str)

  • embedding_provider (str)

  • embedding_model (str)

  • embedding_dimensions (int | None)

  • embedding_provider_options (Dict[str, Any] | None)

  • embedding_runtime (EmbeddingRuntime | None)

__init__(qdrant_url='http://localhost:6333', collection_name='praval_memories', vector_size=1536, distance_metric='cosine', embedding_provider='openai', embedding_model='text-embedding-3-small', embedding_dimensions=None, embedding_provider_options=None, embedding_runtime=None)[source]

Initialize long-term memory

Parameters:
  • qdrant_url (str) – URL to Qdrant instance

  • collection_name (str) – Name of the collection to use

  • vector_size (int) – Size of embedding vectors

  • distance_metric (str) – Distance metric for similarity search

  • embedding_provider (str) – Provider used to generate embeddings

  • embedding_model (str) – Embedding model identifier

  • embedding_dimensions (Optional[int]) – Expected embedding vector size

  • embedding_provider_options (Optional[Dict[str, Any]]) – Provider-specific embedding options

  • embedding_runtime (Optional[EmbeddingRuntime]) – Preconfigured embedding runtime

store(memory)[source]

Store a memory entry with vector embedding

Parameters:

memory (MemoryEntry) – The memory entry to store

Return type:

str

Returns:

The ID of the stored memory

retrieve(memory_id)[source]

Retrieve a specific memory by ID

Parameters:

memory_id (str) – The ID of the memory to retrieve

Return type:

Optional[MemoryEntry]

Returns:

The memory entry if found, None otherwise

search(query)[source]

Search memories using vector similarity

Parameters:

query (MemoryQuery) – The search query

Return type:

MemorySearchResult

Returns:

Search results with matching memories

delete(memory_id)[source]

Delete a memory entry

Parameters:

memory_id (str) – The ID of the memory to delete

Return type:

bool

Returns:

True if deleted successfully, False otherwise

clear_agent_memories(agent_id)[source]

Clear all memories for a specific agent

Parameters:

agent_id (str)

get_stats()[source]

Get memory statistics

Return type:

Dict[str, Any]

health_check()[source]

Check if Qdrant connection is healthy

Return type:

bool