#[non_exhaustive]pub struct LLMConfig {
pub provider: LLMProvider,
pub endpoint: String,
pub model: String,
pub api_key: Option<String>,
pub timeout_secs: u64,
pub system_prompt: String,
pub token_budget: Option<u32>,
pub retry_max: u32,
pub retry_base_delay_ms: u64,
pub retry_max_delay_ms: u64,
}Expand description
LLM provider configuration.
§Stability
This struct is #[non_exhaustive] — new fields may be added in minor releases.
Construct using LLMConfig::default() or use ..Default::default() for updates.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.provider: LLMProviderProvider type: litellm, openrouter, ollama, openai
endpoint: StringEndpoint URL (e.g., http://litellm:4000, http://localhost:11434, https://api.openai.com)
model: StringDefault model to use
api_key: Option<String>API key (prefer env var)
timeout_secs: u64Request timeout in seconds
system_prompt: StringSystem prompt / persona for the agent
token_budget: Option<u32>Token budget (v0.5) — maximum tokens per run
retry_max: u32Retry max attempts (v0.5) — default 3
retry_base_delay_ms: u64Retry base delay in ms (v0.5) — default 100
retry_max_delay_ms: u64Retry max delay in ms (v0.5) — default 10000
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LLMConfig
impl<'de> Deserialize<'de> for LLMConfig
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 LLMConfig
impl RefUnwindSafe for LLMConfig
impl Send for LLMConfig
impl Sync for LLMConfig
impl Unpin for LLMConfig
impl UnsafeUnpin for LLMConfig
impl UnwindSafe for LLMConfig
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request