pub struct CacheBackedEmbeddings { /* private fields */ }Expand description
An embeddings wrapper that caches results in memory.
Previously computed embeddings are stored in an in-memory hash map keyed by the input text. On subsequent calls, cached embeddings are returned directly, and only uncached texts are sent to the inner embeddings provider.
Implementations§
Source§impl CacheBackedEmbeddings
impl CacheBackedEmbeddings
Sourcepub fn new(inner: Arc<dyn Embeddings>) -> Self
pub fn new(inner: Arc<dyn Embeddings>) -> Self
Create a new cached embeddings wrapper around the given embeddings provider.
Trait Implementations§
Source§impl Embeddings for CacheBackedEmbeddings
impl Embeddings for CacheBackedEmbeddings
Source§fn embed_documents<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
texts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, SynapseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn embed_documents<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
texts: &'life1 [&'life2 str],
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>, SynapseError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Embed multiple texts (for batch document embedding).
Auto Trait Implementations§
impl Freeze for CacheBackedEmbeddings
impl !RefUnwindSafe for CacheBackedEmbeddings
impl Send for CacheBackedEmbeddings
impl Sync for CacheBackedEmbeddings
impl Unpin for CacheBackedEmbeddings
impl UnsafeUnpin for CacheBackedEmbeddings
impl !UnwindSafe for CacheBackedEmbeddings
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