pub struct StreamingModelRunner { /* private fields */ }Expand description
Runs ML inference on stream events with automatic batching.
Events are collected until either batch_size events accumulate
or max_latency_ms elapses, then inference is run on the batch.
Implementations§
Source§impl StreamingModelRunner
impl StreamingModelRunner
Sourcepub fn new(config: ModelConfig) -> Self
pub fn new(config: ModelConfig) -> Self
Creates a new streaming model runner.
Sourcepub fn enqueue(
&self,
features: Array1<f64>,
event_id: String,
) -> Option<Vec<Prediction>>
pub fn enqueue( &self, features: Array1<f64>, event_id: String, ) -> Option<Vec<Prediction>>
Enqueues an event for prediction.
Returns predictions if a batch was triggered.
Sourcepub fn flush_if_due(&self) -> Option<Vec<Prediction>>
pub fn flush_if_due(&self) -> Option<Vec<Prediction>>
Flushes any pending events if the latency threshold has been exceeded.
Returns predictions if flush was needed.
Sourcepub fn flush(&self) -> Vec<Prediction>
pub fn flush(&self) -> Vec<Prediction>
Forces inference on all pending events regardless of thresholds.
Sourcepub fn predict(&self, events: &[(Array1<f64>, String)]) -> Vec<Prediction>
pub fn predict(&self, events: &[(Array1<f64>, String)]) -> Vec<Prediction>
Runs batched inference directly on a slice of stream events.
Sourcepub fn update_weights(&self, weights: Array1<f64>, bias: f64)
pub fn update_weights(&self, weights: Array1<f64>, bias: f64)
Updates the model weights.
Sourcepub fn stats(&self) -> ModelRunnerStats
pub fn stats(&self) -> ModelRunnerStats
Returns runner statistics.
Sourcepub fn pending_count(&self) -> usize
pub fn pending_count(&self) -> usize
Returns the number of pending events.
Auto Trait Implementations§
impl Freeze for StreamingModelRunner
impl !RefUnwindSafe for StreamingModelRunner
impl Send for StreamingModelRunner
impl Sync for StreamingModelRunner
impl Unpin for StreamingModelRunner
impl UnsafeUnpin for StreamingModelRunner
impl !UnwindSafe for StreamingModelRunner
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.