pub struct MemoryBuilder<L, E, V, S> { /* private fields */ }Expand description
Builder for constructing Memory instances.
TigerStyle:
- Fluent API with method chaining
- Panics on build() if required components missing (fail fast)
- All components required (no defaults)
§Example
ⓘ
use umi_memory::umi::Memory;
use umi_memory::{SimLLMProvider, SimEmbeddingProvider};
use umi_memory::storage::{SimVectorBackend, SimStorageBackend, SimConfig};
let memory = Memory::builder()
.with_llm(SimLLMProvider::with_seed(42))
.with_embedder(SimEmbeddingProvider::with_seed(42))
.with_vector(SimVectorBackend::new(42))
.with_storage(SimStorageBackend::new(SimConfig::with_seed(42)))
.build();Implementations§
Source§impl<L, E, V, S> MemoryBuilder<L, E, V, S>where
L: LLMProvider + Clone,
E: EmbeddingProvider + Clone,
V: VectorBackend + Clone,
S: StorageBackend + Clone,
impl<L, E, V, S> MemoryBuilder<L, E, V, S>where
L: LLMProvider + Clone,
E: EmbeddingProvider + Clone,
V: VectorBackend + Clone,
S: StorageBackend + Clone,
Sourcepub fn with_embedder(self, embedder: E) -> Self
pub fn with_embedder(self, embedder: E) -> Self
Set the embedding provider.
§Arguments
embedder- Embedding provider for generating vector embeddings
Sourcepub fn with_vector(self, vector: V) -> Self
pub fn with_vector(self, vector: V) -> Self
Sourcepub fn with_storage(self, storage: S) -> Self
pub fn with_storage(self, storage: S) -> Self
Trait Implementations§
Source§impl<L, E, V, S> Default for MemoryBuilder<L, E, V, S>where
L: LLMProvider + Clone,
E: EmbeddingProvider + Clone,
V: VectorBackend + Clone,
S: StorageBackend + Clone,
impl<L, E, V, S> Default for MemoryBuilder<L, E, V, S>where
L: LLMProvider + Clone,
E: EmbeddingProvider + Clone,
V: VectorBackend + Clone,
S: StorageBackend + Clone,
Auto Trait Implementations§
impl<L, E, V, S> Freeze for MemoryBuilder<L, E, V, S>
impl<L, E, V, S> RefUnwindSafe for MemoryBuilder<L, E, V, S>
impl<L, E, V, S> Send for MemoryBuilder<L, E, V, S>
impl<L, E, V, S> Sync for MemoryBuilder<L, E, V, S>
impl<L, E, V, S> Unpin for MemoryBuilder<L, E, V, S>
impl<L, E, V, S> UnwindSafe for MemoryBuilder<L, E, V, S>
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