pub struct VectorStore { /* private fields */ }Expand description
Vector store for semantic search
Implementations§
Source§impl VectorStore
impl VectorStore
Sourcepub fn new(config: VectorStoreConfig) -> Self
pub fn new(config: VectorStoreConfig) -> Self
Create a new in-memory vector store
Sourcepub fn with_persistence(
config: VectorStoreConfig,
db_path: impl AsRef<Path>,
) -> Result<Self, MemoryError>
pub fn with_persistence( config: VectorStoreConfig, db_path: impl AsRef<Path>, ) -> Result<Self, MemoryError>
Create a vector store with SQLite persistence
Sourcepub fn add(&mut self, entry: MemoryEntry) -> Result<MemoryId, MemoryError>
pub fn add(&mut self, entry: MemoryEntry) -> Result<MemoryId, MemoryError>
Add a memory entry
Sourcepub fn search(
&mut self,
query_embedding: &Embedding,
limit: usize,
) -> Vec<SearchResult>
pub fn search( &mut self, query_embedding: &Embedding, limit: usize, ) -> Vec<SearchResult>
Search for similar entries
Sourcepub fn search_by_type(
&self,
memory_type: MemoryType,
limit: usize,
) -> Vec<&MemoryEntry>
pub fn search_by_type( &self, memory_type: MemoryType, limit: usize, ) -> Vec<&MemoryEntry>
Search by memory type
Search by tags
Sourcepub fn get(&self, id: &str) -> Option<&MemoryEntry>
pub fn get(&self, id: &str) -> Option<&MemoryEntry>
Get entry by ID
Sourcepub fn stats(&self) -> VectorStoreStats
pub fn stats(&self) -> VectorStoreStats
Get statistics
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
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