pub trait VectorCompressor: Send + Sync {
// Required methods
fn compress(&self, vector: &Vector) -> Result<Vec<u8>, VectorError>;
fn decompress(
&self,
data: &[u8],
dimensions: usize,
) -> Result<Vector, VectorError>;
fn compression_ratio(&self) -> f32;
}