next_plaid/
lib.rs

1//! Lategrep: CPU-based PLAID implementation for multi-vector search
2//!
3//! This crate provides a pure Rust, CPU-only implementation of the PLAID algorithm
4//! for efficient multi-vector search (late interaction retrieval).
5
6// Link BLAS implementation when feature is enabled
7#[cfg(feature = "accelerate")]
8extern crate blas_src;
9
10#[cfg(feature = "openblas")]
11extern crate openblas_src;
12
13pub mod codec;
14pub mod delete;
15pub mod embeddings;
16pub mod error;
17#[cfg(feature = "filtering")]
18pub mod filtering;
19pub mod index;
20pub mod kmeans;
21pub mod mmap;
22pub mod search;
23pub mod strided_tensor;
24pub mod update;
25pub mod utils;
26
27pub use codec::{CentroidStore, ResidualCodec};
28#[cfg(feature = "npy")]
29pub use delete::delete_from_index;
30pub use error::{Error, Result};
31#[cfg(feature = "npy")]
32pub use index::MmapIndex;
33pub use index::{Index, IndexConfig, LoadedIndex, Metadata};
34pub use kmeans::{
35    compute_centroids, compute_centroids_from_documents, compute_kmeans, estimate_num_partitions,
36    ComputeKmeansConfig, FastKMeans, KMeansConfig,
37};
38pub use search::{QueryResult, SearchParameters};
39pub use strided_tensor::{IvfStridedTensor, StridedTensor};
40pub use update::UpdateConfig;