pub struct CachedChatModel { /* private fields */ }Expand description
A ChatModel wrapper that caches responses using an LlmCache.
Cache keys are generated by serializing the ChatRequest to JSON.
Streaming (stream_chat) delegates directly to the inner model without caching.
Implementations§
Trait Implementations§
Source§impl ChatModel for CachedChatModel
impl ChatModel for CachedChatModel
fn chat<'life0, 'async_trait>(
&'life0 self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatResponse, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_chat(&self, request: ChatRequest) -> ChatStream<'_>
Source§fn profile(&self) -> Option<ModelProfile>
fn profile(&self) -> Option<ModelProfile>
Return the model’s capability profile, if known.
Auto Trait Implementations§
impl Freeze for CachedChatModel
impl !RefUnwindSafe for CachedChatModel
impl Send for CachedChatModel
impl Sync for CachedChatModel
impl Unpin for CachedChatModel
impl UnsafeUnpin for CachedChatModel
impl !UnwindSafe for CachedChatModel
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