pub trait Provider: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn call<'a>(
&'a self,
req: LlmRequest,
) -> BoxFut<'a, Result<AssistantMessage, RuntimeError>>;
fn call_streaming(&self, req: LlmRequest) -> Observable<AssistantMessage>;
// Provided method
fn discover_models(&self) -> BoxFut<'static, Vec<DiscoveredModel>> { ... }
}Required Methods§
fn name(&self) -> &str
fn call<'a>( &'a self, req: LlmRequest, ) -> BoxFut<'a, Result<AssistantMessage, RuntimeError>>
fn call_streaming(&self, req: LlmRequest) -> Observable<AssistantMessage>
Provided Methods§
Sourcefn discover_models(&self) -> BoxFut<'static, Vec<DiscoveredModel>>
fn discover_models(&self) -> BoxFut<'static, Vec<DiscoveredModel>>
Discover available models from this provider. Default: empty.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".