lnmp_embedding/
lib.rs

1pub mod decoder;
2pub mod delta;
3pub mod encoder;
4pub mod vector;
5
6pub use decoder::Decoder;
7pub use delta::{DeltaChange, UpdateStrategy, VectorDelta};
8pub use encoder::Encoder;
9pub use vector::{EmbeddingType, SimilarityMetric, Vector};
10
11#[cfg(test)]
12mod tests {
13    use super::*;
14    use crate::decoder::Decoder;
15    use crate::encoder::Encoder;
16
17    #[test]
18    fn test_encode_decode() {
19        let original = Vector::from_f32(vec![0.5, -0.5, 1.0]);
20        let encoded = Encoder::encode(&original).expect("Failed to encode");
21        let decoded = Decoder::decode(&encoded).expect("Failed to decode");
22
23        assert_eq!(original.dim, decoded.dim);
24        assert_eq!(original.dtype, decoded.dtype);
25        assert_eq!(original.data, decoded.data);
26    }
27}