Skip to main content

Crate leann_core

Crate leann_core 

Source
Expand description

LEANN — Lightweight Embedding-Augmented Nearest Neighbors.

Build, search, and manage vector indexes with optional graph-based embedding recomputation for 97% storage reduction.

§Quick start

use leann_core::{LeannBuilder, LeannSearcher};

// Build an index
let mut builder = LeannBuilder::new("model-name", Some(384), "sentence-transformers");
builder.add_text("Hello world", Default::default());
builder.build_index(&path, &provider)?;

// Search
let searcher = LeannSearcher::open(&path)?;
let results = searcher.search("hello", 5)?;

Re-exports§

pub use backend::BackendConfig;
pub use backend::BackendIndex;
pub use builder::LeannBuilder;
pub use chat::LeannChat;
pub use index::IndexMeta;
pub use passages::Passage;
pub use passages::PassageManager;
pub use search_result::SearchResult;
pub use searcher::LeannSearcher;
pub use searcher::SearcherOptions;

Modules§

backend
Backend abstraction for LEANN index engines.
builder
chat
chunking
document_loaders
Document loaders for various file formats.
embedding
hnsw
index
multi_vector
Multi-vector (ColBERT) index support.
passages
react_agent
search_result
searcher
sources_manifest
Sources manifest for incremental build support.
sync

Structs§

BM25Scorer
BM25 scoring for keyword-based search.
MetadataFilterEngine
Engine for evaluating metadata filters against search results.

Type Aliases§

FilterSpec
A filter specification: maps operator names to expected values. Example: {"<=": 5} or {"in": ["fiction", "drama"]}
MetadataFilters
Metadata filters: maps field names to their filter specifications. Example: {"chapter": {"<=": 5}, "tags": {"in": ["fiction", "drama"]}}