pub struct CompositeRouter { /* private fields */ }Expand description
Runs a stage router with a tier the judge picks.
Implementations§
Source§impl CompositeRouter
impl CompositeRouter
Sourcepub fn new(
capable: ModelId,
efficient: ModelId,
config: CompositeRouterConfig,
) -> Result<Self>
pub fn new( capable: ModelId, efficient: ModelId, config: CompositeRouterConfig, ) -> Result<Self>
Stacks the judge over a stage router across the same tier pair.
Errors on a configuration either algorithm rejects and on every_request.
A stage router carrying its own judge is allowed, but that judge sits ahead of the fall-open tier and so answers most of the turns this one set a tier for.
Trait Implementations§
Source§impl Algorithm for CompositeRouter
impl Algorithm for CompositeRouter
Source§fn name(&self) -> &str
fn name(&self) -> &str
Stable, low-cardinality name identifying this algorithm — the
algorithm attribute on every span, metric, and log line the crate
emits for its runs.Source§fn route<'async_trait>(
self: Arc<Self>,
driver: Driver,
request: Request,
) -> Pin<Box<dyn Future<Output = Result<RoutingOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
fn route<'async_trait>(
self: Arc<Self>,
driver: Driver,
request: Request,
) -> Pin<Box<dyn Future<Output = Result<RoutingOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
Run one request to completion: make routing-time model calls with
Driver::call_model and return the terminal RoutingOutcome.
The method an algorithm implements; run_stream drives it.Source§fn run_stream(self: Arc<Self>, request: Request) -> StepStream
fn run_stream(self: Arc<Self>, request: Request) -> StepStream
Auto Trait Implementations§
impl !Freeze for CompositeRouter
impl !RefUnwindSafe for CompositeRouter
impl Send for CompositeRouter
impl Sync for CompositeRouter
impl Unpin for CompositeRouter
impl UnsafeUnpin for CompositeRouter
impl !UnwindSafe for CompositeRouter
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