pub struct InMemoryStorage<E: Embeddings> { /* private fields */ }Expand description
In-memory storage implementation.
Implementations§
Source§impl<E: Embeddings> InMemoryStorage<E>
impl<E: Embeddings> InMemoryStorage<E>
Sourcepub fn from_documents(embeddings: E, documents: Vec<EmbeddingsData>) -> Self
pub fn from_documents(embeddings: E, documents: Vec<EmbeddingsData>) -> Self
Creates a new instance of InMemoryStorage.
Sourcepub fn from_multiple_documents<T>(
embeddings: E,
documents: Vec<(T, Vec<EmbeddingsData>)>,
) -> Self
pub fn from_multiple_documents<T>( embeddings: E, documents: Vec<(T, Vec<EmbeddingsData>)>, ) -> Self
Creates a new instance of InMemoryStorage.
Source§impl<E: Embeddings> InMemoryStorage<E>
impl<E: Embeddings> InMemoryStorage<E>
pub async fn vector_search( &self, embeddings: Vec<EmbeddingsData>, limit: usize, threshold: f32, ) -> Result<Vec<(DocumentId, f32)>, VectorStoreError>
pub fn build_hnsw(data: &[EmbeddingsData]) -> Hnsw<'static, f64, DistCosine>
Trait Implementations§
Source§impl<E: Embeddings> Storage for InMemoryStorage<E>
impl<E: Embeddings> Storage for InMemoryStorage<E>
Source§fn save<'life0, 'async_trait>(
&'life0 self,
value: String,
) -> Pin<Box<dyn Future<Output = Result<(), VectorStoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn save<'life0, 'async_trait>(
&'life0 self,
value: String,
) -> Pin<Box<dyn Future<Output = Result<(), VectorStoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Saves a value into the storage.
Source§fn search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
limit: usize,
threshold: f32,
) -> Pin<Box<dyn Future<Output = TopNResults> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
limit: usize,
threshold: f32,
) -> Pin<Box<dyn Future<Output = TopNResults> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Searches the storage with a query, limiting the results and applying a threshold.
Auto Trait Implementations§
impl<E> !RefUnwindSafe for InMemoryStorage<E>
impl<E> !UnwindSafe for InMemoryStorage<E>
impl<E> Freeze for InMemoryStorage<E>
impl<E> Send for InMemoryStorage<E>
impl<E> Sync for InMemoryStorage<E>
impl<E> Unpin for InMemoryStorage<E>
impl<E> UnsafeUnpin for InMemoryStorage<E>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
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