pub struct Client {
pub openrouter_client: Client,
}Expand description
Client that manages connections to all upstream providers.
Handles provider selection, BYOK key injection, and fallback between providers.
Fields§
§openrouter_client: ClientOpenRouter provider client.
Implementations§
Source§impl Client
impl Client
Sourcepub async fn create_streaming(
&self,
ctx: Context<impl ContextExt + Send + Sync + 'static>,
id: String,
first_chunk_timeout: Duration,
other_chunk_timeout: Duration,
ensemble_llm: Arc<EnsembleLlm>,
request: Params,
) -> Result<Option<impl Stream<Item = Result<ChatCompletionChunk, Error>> + Send + Unpin + 'static>, Error>
pub async fn create_streaming( &self, ctx: Context<impl ContextExt + Send + Sync + 'static>, id: String, first_chunk_timeout: Duration, other_chunk_timeout: Duration, ensemble_llm: Arc<EnsembleLlm>, request: Params, ) -> Result<Option<impl Stream<Item = Result<ChatCompletionChunk, Error>> + Send + Unpin + 'static>, Error>
Creates a streaming completion, trying each upstream provider in order.
First attempts with BYOK if available, then falls back to the default key.
Returns Ok(None) if no upstreams were available.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more