pub mod pipeline;
#[cfg(feature = "fastembed-reranker")]
pub mod fastembed_reranker;
pub use pipeline::{
DEFAULT_MIN_CANDIDATES, DEFAULT_RRF_COMBINE_K, DEFAULT_TOP_K_RERANK, RerankCombine,
rerank_step, rerank_step_with_combine,
};
#[cfg(feature = "fastembed-reranker")]
pub use fastembed_reranker::FastEmbedReranker;
#[cfg(feature = "native")]
pub mod native;
#[cfg(feature = "native")]
pub mod native_embedder;
#[cfg(feature = "native")]
pub use native::NativeReranker;
#[cfg(feature = "native")]
pub use native_embedder::NativeEmbedder;
pub const DEFAULT_MODEL_NAME: &str = "rerank-default-v1";
pub const DEFAULT_MAX_LENGTH: usize = 512;
#[must_use]
pub fn ids_to_truncated_i64(ids: &[u32], max_length: usize) -> Vec<i64> {
ids.iter()
.take(max_length)
.map(|&id| i64::from(id))
.collect()
}