pub struct OnnxEmbedder { /* private fields */ }Implementations§
Source§impl OnnxEmbedder
impl OnnxEmbedder
pub fn new() -> Result<Self>
pub fn with_model( name: &str, model_url: &str, tokenizer_url: &str, dimension: usize, output_tensor_name: &str, ) -> Result<Self>
pub fn with_model_and_data( name: &str, model_url: &str, model_data_url: Option<&str>, tokenizer_url: &str, dimension: usize, output_tensor_name: &str, use_token_type_ids: bool, ) -> Result<Self>
Sourcepub async fn warmup(self: &Arc<Self>) -> Result<()>
pub async fn warmup(self: &Arc<Self>) -> Result<()>
Eagerly load the ONNX session so the first embed() call doesn’t pay
the cold-start penalty. Must be called from an async context (uses
spawn_blocking internally since ONNX init creates a mini runtime).
Sourcepub fn try_unload_if_idle(&self) -> bool
pub fn try_unload_if_idle(&self) -> bool
Drops the ONNX session if it has been idle for longer than the timeout,
freeing ~240 MB RSS. The LRU embedding cache is preserved. The session
is re-initialised transparently on the next embed() call.
Sourcepub async fn maintenance_tick(self: &Arc<Self>)
pub async fn maintenance_tick(self: &Arc<Self>)
Periodic maintenance entry-point. Call from a tokio interval timer.
Trait Implementations§
Source§impl Debug for OnnxEmbedder
impl Debug for OnnxEmbedder
Auto Trait Implementations§
impl !Freeze for OnnxEmbedder
impl RefUnwindSafe for OnnxEmbedder
impl Send for OnnxEmbedder
impl Sync for OnnxEmbedder
impl Unpin for OnnxEmbedder
impl UnsafeUnpin for OnnxEmbedder
impl UnwindSafe for OnnxEmbedder
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