Trait ModelBackend
pub trait ModelBackend {
// Required method
fn complete<'a>(
&'a self,
request: &'a ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>;
// Provided method
fn stream<'a>(
&'a self,
request: &'a ModelRequest,
sink: Box<dyn FnMut(StreamEvent) + 'a>,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>> { ... }
}Required Methods§
fn complete<'a>( &'a self, request: &'a ModelRequest, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>
Provided Methods§
fn stream<'a>(
&'a self,
request: &'a ModelRequest,
sink: Box<dyn FnMut(StreamEvent) + 'a>,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>
fn stream<'a>( &'a self, request: &'a ModelRequest, sink: Box<dyn FnMut(StreamEvent) + 'a>, ) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + 'a>>
Backends may override for live deltas. Dropping the future cancels the local subscription. The returned response, not EOF, is authoritative.