lnmp_embedding/
lib.rs

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