pub struct CostRouter { /* private fields */ }Expand description
Router that selects providers based on lowest cost.
Implementations§
Source§impl CostRouter
impl CostRouter
Sourcepub fn new(
providers: Vec<Arc<dyn Provider>>,
config: CostRouterConfig,
) -> Result<Self>
pub fn new( providers: Vec<Arc<dyn Provider>>, config: CostRouterConfig, ) -> Result<Self>
Create a cost router using the provided config.
§Errors
Returns a routing error if providers or costs are missing.
Sourcepub async fn complete(
&self,
request: &CompletionRequest,
) -> Result<CompletionResponse>
pub async fn complete( &self, request: &CompletionRequest, ) -> Result<CompletionResponse>
Execute a completion request using cost-based selection.
Sourcepub async fn stream(
&self,
request: &CompletionRequest,
) -> Result<Box<dyn Stream<Item = Result<CompletionChunk>> + Send + Unpin>>
pub async fn stream( &self, request: &CompletionRequest, ) -> Result<Box<dyn Stream<Item = Result<CompletionChunk>> + Send + Unpin>>
Execute a streaming request using cost-based selection.
Auto Trait Implementations§
impl !Freeze for CostRouter
impl !RefUnwindSafe for CostRouter
impl Send for CostRouter
impl Sync for CostRouter
impl Unpin for CostRouter
impl !UnwindSafe for CostRouter
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