VectorDatabase

Trait VectorDatabase 

Source
pub trait VectorDatabase {
    // Required methods
    fn create_vector(
        &mut self,
        id: String,
        vector: Array1<f32>,
        tags: Option<HashMap<String, String>>,
    ) -> Result<(), VectraDBError>;
    fn get_vector(&self, id: &str) -> Result<VectorDocument, VectraDBError>;
    fn update_vector(
        &mut self,
        id: &str,
        vector: Array1<f32>,
        tags: Option<HashMap<String, String>>,
    ) -> Result<(), VectraDBError>;
    fn delete_vector(&mut self, id: &str) -> Result<(), VectraDBError>;
    fn upsert_vector(
        &mut self,
        id: String,
        vector: Array1<f32>,
        tags: Option<HashMap<String, String>>,
    ) -> Result<(), VectraDBError>;
    fn search_similar(
        &self,
        query_vector: Array1<f32>,
        top_k: usize,
    ) -> Result<Vec<SimilarityResult>, VectraDBError>;
    fn list_vectors(&self) -> Result<Vec<String>, VectraDBError>;
    fn get_stats(&self) -> Result<DatabaseStats, VectraDBError>;
}
Expand description

Vector database trait for different implementations

Required Methods§

Source

fn create_vector( &mut self, id: String, vector: Array1<f32>, tags: Option<HashMap<String, String>>, ) -> Result<(), VectraDBError>

Create a new vector in the database

Source

fn get_vector(&self, id: &str) -> Result<VectorDocument, VectraDBError>

Fetch a vector by ID

Source

fn update_vector( &mut self, id: &str, vector: Array1<f32>, tags: Option<HashMap<String, String>>, ) -> Result<(), VectraDBError>

Update an existing vector

Source

fn delete_vector(&mut self, id: &str) -> Result<(), VectraDBError>

Delete a vector by ID

Source

fn upsert_vector( &mut self, id: String, vector: Array1<f32>, tags: Option<HashMap<String, String>>, ) -> Result<(), VectraDBError>

Upsert (insert or update) a vector

Source

fn search_similar( &self, query_vector: Array1<f32>, top_k: usize, ) -> Result<Vec<SimilarityResult>, VectraDBError>

Search for similar vectors

Source

fn list_vectors(&self) -> Result<Vec<String>, VectraDBError>

Get all vector IDs

Source

fn get_stats(&self) -> Result<DatabaseStats, VectraDBError>

Get database statistics

Implementors§