pub trait GpuVectorStorage {
// Required methods
fn add_vectors(&mut self, vectors: &[GpuVector]) -> Result<Vec<usize>>;
fn search(
&self,
query: &[f32],
limit: usize,
) -> Result<Vec<GpuSearchResult>>;
fn remove_vectors(&mut self, ids: &[String]) -> Result<()>;
fn vector_count(&self) -> usize;
fn dimension(&self) -> usize;
fn get_vector(&self, id: &str) -> Result<Option<GpuVector>>;
fn clear(&mut self) -> Result<()>;
}
Expand description
GPU vector storage trait
Required Methods§
Sourcefn search(&self, query: &[f32], limit: usize) -> Result<Vec<GpuSearchResult>>
fn search(&self, query: &[f32], limit: usize) -> Result<Vec<GpuSearchResult>>
Search for similar vectors
Sourcefn remove_vectors(&mut self, ids: &[String]) -> Result<()>
fn remove_vectors(&mut self, ids: &[String]) -> Result<()>
Remove vectors by IDs
Sourcefn vector_count(&self) -> usize
fn vector_count(&self) -> usize
Get total vector count