- 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 🦊💕
33 lines
694 B
Python
33 lines
694 B
Python
"""
|
|
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)
|