pub struct VectorStore { /* private fields */ }Expand description
Vector store for managing embeddings
Implementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn new(config: VectorStoreConfig) -> Self
pub fn new(config: VectorStoreConfig) -> Self
Create a new vector store
Sourcepub fn put(&mut self, entry: VectorEntry) -> Result<()>
pub fn put(&mut self, entry: VectorEntry) -> Result<()>
Insert a vector
Sourcepub fn put_embedding(
&mut self,
id: impl Into<String>,
embedding: impl Into<Embedding>,
) -> Result<()>
pub fn put_embedding( &mut self, id: impl Into<String>, embedding: impl Into<Embedding>, ) -> Result<()>
Insert a vector with just ID and embedding
Sourcepub fn search(&self, query: &Embedding, k: usize) -> Vec<SearchResult>
pub fn search(&self, query: &Embedding, k: usize) -> Vec<SearchResult>
Search for similar vectors
Sourcepub fn search_with_filter<F>(
&self,
query: &Embedding,
k: usize,
filter: F,
) -> Vec<SearchResult>
pub fn search_with_filter<F>( &self, query: &Embedding, k: usize, filter: F, ) -> Vec<SearchResult>
Search with a filter on metadata
Sourcepub fn search_namespace(
&self,
query: &Embedding,
k: usize,
namespace: &str,
) -> Vec<SearchResult>
pub fn search_namespace( &self, query: &Embedding, k: usize, namespace: &str, ) -> Vec<SearchResult>
Search by namespace
Sourcepub fn get(&self, id: &str) -> Option<&VectorEntry>
pub fn get(&self, id: &str) -> Option<&VectorEntry>
Get a vector by ID
Sourcepub fn similarity(&self, id1: &str, id2: &str) -> Option<f32>
pub fn similarity(&self, id1: &str, id2: &str) -> Option<f32>
Compute similarity between two vectors by ID
Sourcepub fn upsert(&mut self, entry: VectorEntry) -> Result<bool>
pub fn upsert(&mut self, entry: VectorEntry) -> Result<bool>
Upsert: insert or update a vector
Sourcepub fn stats(&self) -> VectorStoreStats
pub fn stats(&self) -> VectorStoreStats
Get store statistics
Sourcepub fn find_similar(&self, id: &str, k: usize) -> Vec<SearchResult>
pub fn find_similar(&self, id: &str, k: usize) -> Vec<SearchResult>
Find vectors similar to a given ID
Sourcepub fn config(&self) -> &VectorStoreConfig
pub fn config(&self) -> &VectorStoreConfig
Get the configuration
Sourcepub fn update_metadata(
&mut self,
id: &str,
key: impl Into<String>,
value: impl Into<Value>,
) -> bool
pub fn update_metadata( &mut self, id: &str, key: impl Into<String>, value: impl Into<Value>, ) -> bool
Update metadata for an existing vector
Sourcepub fn get_namespace(&self, namespace: &str) -> Vec<&VectorEntry>
pub fn get_namespace(&self, namespace: &str) -> Vec<&VectorEntry>
Get all vectors in a namespace
Sourcepub fn count_namespace(&self, namespace: &str) -> usize
pub fn count_namespace(&self, namespace: &str) -> usize
Count vectors in a namespace
Sourcepub fn delete_namespace(&mut self, namespace: &str) -> usize
pub fn delete_namespace(&mut self, namespace: &str) -> usize
Delete all vectors in a namespace
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VectorStore
impl RefUnwindSafe for VectorStore
impl Send for VectorStore
impl Sync for VectorStore
impl Unpin for VectorStore
impl UnwindSafe for VectorStore
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