pub struct CachedInference {
pub cache: SemanticCache,
}Expand description
Middleware wrapper that checks the semantic cache before running inference.
use oxibonsai_runtime::semantic_cache::{CachedInference, SemanticCacheConfig};
let ci = CachedInference::new(SemanticCacheConfig::default());
// First call: cache miss — closure runs.
let (resp, hit) = ci.run_or_cache(
"What is the capital of France?",
|| "Paris is the capital of France.".to_string(),
);
assert!(!hit);
assert_eq!(resp, "Paris is the capital of France.");Fields§
§cache: SemanticCacheThe underlying semantic cache. Exposed so callers can inspect stats.
Implementations§
Source§impl CachedInference
impl CachedInference
Sourcepub fn new(config: SemanticCacheConfig) -> Self
pub fn new(config: SemanticCacheConfig) -> Self
Create a new CachedInference backed by a freshly initialised cache.
Auto Trait Implementations§
impl !Freeze for CachedInference
impl RefUnwindSafe for CachedInference
impl Send for CachedInference
impl Sync for CachedInference
impl Unpin for CachedInference
impl UnsafeUnpin for CachedInference
impl UnwindSafe for CachedInference
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