Skip to main content

rightkit_embed/
lib.rs

1//! Local embeddings and a persistent cosine vector store.
2//!
3//! Feature boundaries: `inference` (ONNX text embedder) and `vector` (SQLite-backed
4//! cosine store). Both are default-on; a `vector`-only build does not pull ort or tokenizers.
5
6#[cfg(all(feature = "inference", target_os = "macos"))]
7mod coreml;
8#[cfg(feature = "inference")]
9mod coreml_units;
10#[cfg(feature = "inference")]
11mod e40;
12#[cfg(feature = "inference")]
13mod embedder;
14mod fusion;
15#[cfg(feature = "inference")]
16mod parity_cache;
17#[cfg(feature = "vector")]
18mod resident;
19#[cfg(feature = "vector")]
20mod vector;
21
22#[cfg(feature = "inference")]
23pub use coreml_units::{
24    CoreMlComputeUnit, CoreMlUnits, CoreMlUnitsParseError, NEURAL_ENGINE_MAX_TOKENS,
25};
26/// Benchmark support, behind the `bench-internals` feature; not part of the stable API.
27#[cfg(feature = "bench-internals")]
28pub use e40::{E40SessionProfile, RunSplit};
29#[cfg(feature = "inference")]
30pub use embedder::{
31    bundle_files, installed_model_dir, truncate_and_normalize, AcceleratorParity, EmbedError,
32    Embedder, EmbedderConfig, ExecutionProvider, LoadTimings, ParityCacheOutcome, SessionCreate,
33    ACCELERATOR_PARITY_MIN_COSINE, DEFAULT_INGEST_BATCH, DEFAULT_MAX_BATCH,
34    EMBEDDINGGEMMA2_COREML_MODEL_ID, EMBEDDINGGEMMA2_E40_MODEL_ID, EMBEDDINGGEMMA2_MODEL_ID,
35    EMBEDDINGGEMMA_MODEL_ID,
36};
37#[cfg(feature = "bench-internals")]
38pub use embedder::{BenchEmbedSplit, BenchTokens};
39pub use fusion::{reciprocal_rank_fusion, RRF_K};
40#[cfg(feature = "vector")]
41pub use resident::ResidentIndex;
42#[cfg(feature = "vector")]
43pub use vector::{cosine_similarity, Nearest, VectorError, VectorStore, DEFAULT_VECTOR_DIM};