Skip to main content

next_plaid/
lib.rs

1//! Next-Plaid: 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;
14#[cfg(feature = "cuda")]
15pub mod cuda;
16pub mod delete;
17pub mod embeddings;
18pub mod error;
19pub mod filtering;
20pub mod index;
21pub mod kmeans;
22pub mod maxsim;
23pub mod mmap;
24pub mod search;
25pub mod update;
26pub mod utils;
27
28pub use codec::ResidualCodec;
29pub use delete::delete_from_index;
30pub use error::{Error, Result};
31pub use index::MmapIndex;
32pub use index::{IndexConfig, Metadata};
33pub use kmeans::{
34    compute_centroids, compute_centroids_from_documents, compute_kmeans, estimate_num_partitions,
35    ComputeKmeansConfig, FastKMeans, KMeansConfig,
36};
37pub use search::{QueryResult, SearchParameters};
38pub use update::UpdateConfig;
39
40#[cfg(feature = "cuda")]
41pub use cuda::CudaContext;