pub struct MemoryVectorStore { /* private fields */ }Expand description
A simple in-memory VectorStore.
Thread-safe via Arc<Mutex<_>> — suitable for concurrent Axum handlers.
For production use, replace with a dedicated vector database.
Implementations§
Trait Implementations§
Source§impl Clone for MemoryVectorStore
impl Clone for MemoryVectorStore
Source§fn clone(&self) -> MemoryVectorStore
fn clone(&self) -> MemoryVectorStore
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryVectorStore
impl Debug for MemoryVectorStore
Source§impl Default for MemoryVectorStore
impl Default for MemoryVectorStore
Source§fn default() -> MemoryVectorStore
fn default() -> MemoryVectorStore
Returns the “default value” for a type. Read more
Source§impl VectorStore for MemoryVectorStore
impl VectorStore for MemoryVectorStore
Source§fn add_documents<'life0, 'async_trait>(
&'life0 self,
docs: Vec<Document>,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryVectorStore: 'async_trait,
fn add_documents<'life0, 'async_trait>(
&'life0 self,
docs: Vec<Document>,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryVectorStore: 'async_trait,
Persist a batch of documents (with their embeddings) to the store.
Source§fn search<'life0, 'async_trait>(
&'life0 self,
query_vector: Vec<f32>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryVectorStore: 'async_trait,
fn search<'life0, 'async_trait>(
&'life0 self,
query_vector: Vec<f32>,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<Document>, Box<dyn Error + Sync + Send>>> + Send + 'async_trait>>where
'life0: 'async_trait,
MemoryVectorStore: 'async_trait,
Return the
limit documents whose embeddings are most similar to
query_vector (cosine similarity, descending).Auto Trait Implementations§
impl Freeze for MemoryVectorStore
impl RefUnwindSafe for MemoryVectorStore
impl Send for MemoryVectorStore
impl Sync for MemoryVectorStore
impl Unpin for MemoryVectorStore
impl UnsafeUnpin for MemoryVectorStore
impl UnwindSafe for MemoryVectorStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more