pub struct CacheBackedEmbeddings { /* private fields */ }Expand description
An embeddings wrapper that caches results in a Store backend.
Previously computed embeddings are stored in the provided Store keyed
by the SHA-256 hash of the input text. On subsequent calls, cached
embeddings are returned directly, and only uncached texts are sent to the
inner embeddings provider.
This aligns with LangChain Python’s CacheBackedEmbeddings architecture,
allowing any Store implementation (in-memory, SQLite, PostgreSQL, Redis,
etc.) to serve as the caching backend.
Implementations§
Source§impl CacheBackedEmbeddings
impl CacheBackedEmbeddings
Sourcepub fn new(
inner: Arc<dyn Embeddings>,
store: Arc<dyn Store>,
namespace: impl Into<String>,
) -> Self
pub fn new( inner: Arc<dyn Embeddings>, store: Arc<dyn Store>, namespace: impl Into<String>, ) -> Self
Create a new cached embeddings wrapper.
inner— the underlying embeddings provider to delegate to on cache misses.store— theStorebackend for persisting cached embeddings.namespace— a logical namespace within the store (combined with"embedding_cache"as the prefix).
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>>, SynapticError>> + 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>>, SynapticError>> + 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