pub struct GeminiConfig {
pub api_key: String,
pub model: String,
pub timeout: Duration,
pub retry: HttpRetryConfig,
}Expand description
Configuration for the Gemini provider.
Fields§
§api_key: StringAPI key from Google AI Studio. Sent as a query parameter; redacted in Debug.
model: StringModel used when the request names none
timeout: DurationHTTP request timeout for a client the provider builds itself
retry: HttpRetryConfigRetry policy for transient failures (429, 503, thinking-only answers)
Implementations§
Source§impl GeminiConfig
impl GeminiConfig
Sourcepub fn new(api_key: impl Into<String>) -> Self
pub fn new(api_key: impl Into<String>) -> Self
A configuration with the given key and every other field at its default.
Sourcepub fn from_env() -> Result<Self, RunnerError>
pub fn from_env() -> Result<Self, RunnerError>
Read the configuration from the environment.
§Errors
Returns RunnerError with ErrorKind::Config when GEMINI_API_KEY
is not set.
Sourcepub fn with_model(self, model: impl Into<String>) -> Self
pub fn with_model(self, model: impl Into<String>) -> Self
Set the default model
Sourcepub const fn with_timeout(self, timeout: Duration) -> Self
pub const fn with_timeout(self, timeout: Duration) -> Self
Set the request timeout
Sourcepub fn with_retry(self, retry: HttpRetryConfig) -> Self
pub fn with_retry(self, retry: HttpRetryConfig) -> Self
Set the retry policy
Trait Implementations§
Source§impl Clone for GeminiConfig
impl Clone for GeminiConfig
Auto Trait Implementations§
impl Freeze for GeminiConfig
impl RefUnwindSafe for GeminiConfig
impl Send for GeminiConfig
impl Sync for GeminiConfig
impl Unpin for GeminiConfig
impl UnsafeUnpin for GeminiConfig
impl UnwindSafe for GeminiConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.