pub struct VectorStore { /* private fields */ }Expand description
In-memory vector store with persistence
Implementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn open(path: &Path, dimension: usize) -> MemoryResult<Self>
pub fn open(path: &Path, dimension: usize) -> MemoryResult<Self>
Open or create a persistent vector store
Sourcepub fn store(&mut self, episode_id: Uuid, vector: Vec<f32>) -> MemoryResult<()>
pub fn store(&mut self, episode_id: Uuid, vector: Vec<f32>) -> MemoryResult<()>
Store a vector for an episode
Sourcepub fn remove(&mut self, episode_id: Uuid) -> MemoryResult<()>
pub fn remove(&mut self, episode_id: Uuid) -> MemoryResult<()>
Remove a vector
Sourcepub fn search(&self, query: &[f32], limit: usize) -> Vec<(Uuid, f64)>
pub fn search(&self, query: &[f32], limit: usize) -> Vec<(Uuid, f64)>
Search for similar vectors using cosine similarity
Sourcepub fn episode_ids(&self) -> Vec<Uuid>
pub fn episode_ids(&self) -> Vec<Uuid>
Get all episode IDs
Auto Trait Implementations§
impl Freeze for VectorStore
impl RefUnwindSafe for VectorStore
impl Send for VectorStore
impl Sync for VectorStore
impl Unpin for VectorStore
impl UnsafeUnpin 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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more