Expand description
LanceDB embedded vector store integration for Synaptic.
This crate provides LanceDbVectorStore, an implementation of the
VectorStore trait backed by
LanceDB — a serverless, embedded
vector database that requires no separate server process.
§Dependency Note
The lancedb crate (>= 0.20) has transitive dependencies on aws-smithy
crates that require Rust >= 1.91. Until those dependencies stabilise at
MSRV-compatible versions this crate ships a pure-Rust in-memory backend
with the full VectorStore interface so that your application can compile
and test today, and you can swap in the real LanceDB backend by replacing
LanceDbVectorStore::new with a lancedb-backed constructor when your
toolchain supports it.
§Data Layout
LanceDB stores data in the Lance columnar
format on the local filesystem (or in cloud object storage such as S3/GCS).
The embedded implementation in this crate mirrors that interface: a single
table per store keyed by the uri and table_name fields of
LanceDbConfig.
§Example
use synaptic_lancedb::{LanceDbConfig, LanceDbVectorStore};
// Local file-based storage
let config = LanceDbConfig::new("/var/lib/myapp/vectors", "documents", 1536);
let store = LanceDbVectorStore::new(config).await?;
// Cloud-backed storage (when using the native lancedb crate)
// let config = LanceDbConfig::new("s3://my-bucket/vectors", "documents", 1536);Structs§
- Lance
DbConfig - Configuration for a LanceDB vector store.
- Lance
DbVector Store - A
VectorStoreimplementation that mirrors the LanceDB API surface.