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§
- BM25
Scorer - BM25 scoring for keyword-based search.
- Metadata
Filter Engine - Engine for evaluating metadata filters against search results.
Type Aliases§
- Filter
Spec - A filter specification: maps operator names to expected values.
Example:
{"<=": 5}or{"in": ["fiction", "drama"]} - Metadata
Filters - Metadata filters: maps field names to their filter specifications.
Example:
{"chapter": {"<=": 5}, "tags": {"in": ["fiction", "drama"]}}