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
|
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:
objectQdrant-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 instancecollection_name (
str) – Name of the collection to usevector_size (
int) – Size of embedding vectorsdistance_metric (
str) – Distance metric for similarity searchembedding_provider (
str) – Provider used to generate embeddingsembedding_model (
str) – Embedding model identifierembedding_dimensions (
Optional[int]) – Expected embedding vector sizeembedding_provider_options (
Optional[Dict[str,Any]]) – Provider-specific embedding optionsembedding_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:
- 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