pub struct EmbeddedVectorStore { /* private fields */ }Expand description
In-memory brute-force vector store.
§Construction
use engram::vector_embedded::EmbeddedVectorStore;
let store = EmbeddedVectorStore::new(128);Implementations§
Trait Implementations§
Source§impl VectorStore for EmbeddedVectorStore
impl VectorStore for EmbeddedVectorStore
Source§fn upsert<'life0, 'async_trait>(
&'life0 self,
id: FactId,
embedding: Vec<f32>,
metadata: Value,
) -> Pin<Box<dyn Future<Output = Result<(), MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn upsert<'life0, 'async_trait>(
&'life0 self,
id: FactId,
embedding: Vec<f32>,
metadata: Value,
) -> Pin<Box<dyn Future<Output = Result<(), MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Insert or replace the embedding for
id. Read moreSource§fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 [f32],
filter: &'life2 VectorFilter,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<VectorMatch>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn search<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
query: &'life1 [f32],
filter: &'life2 VectorFilter,
top_k: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<VectorMatch>, MemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Return the top-
top_k most similar vectors to query, applying
filter constraints. Results are ordered by descending similarity score.Auto Trait Implementations§
impl !Freeze for EmbeddedVectorStore
impl RefUnwindSafe for EmbeddedVectorStore
impl Send for EmbeddedVectorStore
impl Sync for EmbeddedVectorStore
impl Unpin for EmbeddedVectorStore
impl UnsafeUnpin for EmbeddedVectorStore
impl UnwindSafe for EmbeddedVectorStore
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