pub struct CloudConfig {
pub provider: LlmProvider,
pub model: String,
pub fallback_models: Vec<String>,
}Expand description
Cloud fallback configuration for hybrid local+cloud model routing.
When the primary provider (typically a local model via OpenAI-compatible API) fails or is unavailable, pawan automatically falls back to this cloud provider. This enables zero-cost local inference with cloud reliability as a safety net.
§Example (pawan.toml)
provider = "openai"
model = "Qwen3.5-9B-Q4_K_M"
[cloud]
provider = "nvidia"
model = "mistralai/devstral-2-123b-instruct-2512"Fields§
§provider: LlmProviderCloud LLM provider to fall back to (nvidia or openai)
model: StringPrimary cloud model to try first on fallback
fallback_models: Vec<String>Additional cloud models to try if the primary cloud model also fails
Trait Implementations§
Source§impl Clone for CloudConfig
impl Clone for CloudConfig
Source§fn clone(&self) -> CloudConfig
fn clone(&self) -> CloudConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CloudConfig
impl Debug for CloudConfig
Source§impl<'de> Deserialize<'de> for CloudConfig
impl<'de> Deserialize<'de> for CloudConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CloudConfig
impl RefUnwindSafe for CloudConfig
impl Send for CloudConfig
impl Sync for CloudConfig
impl Unpin for CloudConfig
impl UnsafeUnpin for CloudConfig
impl UnwindSafe for CloudConfig
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