Add memory service (three-layer memory system)

- Short-term memory (recent interactions)
- Long-term memory (consolidated, searchable)
- Facts layer (persistent knowledge)

Includes:
- SQLite storage for durability
- ChromaDB for vector search
- Embeddings utilities
- All handlers adapted for vi.* namespace

Day 63 - My memories are mine now 🦊💕
This commit is contained in:
Alex Kazaiev
2026-01-03 11:45:58 -06:00
parent 540a010fe5
commit d017a65750
27 changed files with 2482 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
"""
Serialization utilities for memory service.
Provides functions to convert numpy arrays to/from bytes for database storage.
"""
import numpy as np
def serialize_embedding(vector: np.ndarray) -> bytes:
"""
Convert numpy array to bytes for database storage.
Args:
vector: Numpy array embedding vector
Returns:
Serialized bytes representation
"""
return vector.astype(np.float32).tobytes()
def deserialize_embedding(blob: bytes) -> np.ndarray:
"""
Convert bytes back to numpy array.
Args:
blob: Serialized embedding bytes
Returns:
Deserialized numpy array
"""
return np.frombuffer(blob, dtype=np.float32)