pub struct RouterModel { /* private fields */ }Expand description
A composite model that routes each call to one child and (optionally) falls back across the rest on error.
Streaming retries setup on the routed child, but does not fall back or retry after setup: once stream parts are visible to the user, either would risk duplicating tokens. See RFC-0021 §3.3.
Implementations§
Source§impl RouterModel
impl RouterModel
pub fn new( models: Vec<ChildModel>, router: Box<dyn Router>, fallback: FallbackPolicy, config: RouterConfig, ) -> Self
Trait Implementations§
Source§impl LanguageModel for RouterModel
impl LanguageModel for RouterModel
Source§fn retry_config(&self) -> RetryConfig
fn retry_config(&self) -> RetryConfig
Provider/model retry settings used when the caller does not override
the retry count.
Source§fn do_generate<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 CallOptions,
) -> Pin<Box<dyn Future<Output = Result<GenerateResult, AiMuxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn do_generate<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 CallOptions,
) -> Pin<Box<dyn Future<Output = Result<GenerateResult, AiMuxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate a complete (non-streaming) response.
Source§fn do_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 CallOptions,
) -> Pin<Box<dyn Future<Output = Result<StreamResult, AiMuxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn do_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 CallOptions,
) -> Pin<Box<dyn Future<Output = Result<StreamResult, AiMuxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate a streaming response.
Source§fn specification_version(&self) -> &'static str
fn specification_version(&self) -> &'static str
Specification version (always
"v4").Source§fn config_snapshot(&self) -> ProviderRecord
fn config_snapshot(&self) -> ProviderRecord
RFC-0023: 配置侧快照供录制。默认返回最小信息(provider/model_id);
各 provider 覆盖以提供 base_url/profile/api_key 来源等完整配置。
透明 decorator(TraceLayer 等)必须覆盖并转发 inner 快照。
Auto Trait Implementations§
impl !RefUnwindSafe for RouterModel
impl !UnwindSafe for RouterModel
impl Freeze for RouterModel
impl Send for RouterModel
impl Sync for RouterModel
impl Unpin for RouterModel
impl UnsafeUnpin for RouterModel
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