pub struct ProviderDef {Show 15 fields
pub kind: ProviderKind,
pub api_key: Option<String>,
pub base_url: Option<String>,
pub models: Vec<String>,
pub weight: Option<u16>,
pub max_retries: Option<u32>,
pub api_version: Option<String>,
pub timeout: Option<u64>,
pub region: Option<String>,
pub access_key: Option<String>,
pub secret_key: Option<String>,
pub model_path: Option<String>,
pub n_gpu_layers: Option<u32>,
pub n_ctx: Option<u32>,
pub n_threads: Option<u32>,
}Expand description
Configuration for a single LLM provider.
Fields§
§kind: ProviderKindProvider kind determines the dispatch path.
api_key: Option<String>API key (supports ${ENV_VAR} interpolation).
base_url: Option<String>Base URL override. OpenAI-compat providers have sensible defaults.
models: Vec<String>Model names served by this provider.
weight: Option<u16>Routing weight for weighted random selection. Higher = more traffic.
max_retries: Option<u32>Max retries on transient errors before fallback. 0 disables retry.
api_version: Option<String>API version string, used by Azure OpenAI.
timeout: Option<u64>Per-request timeout in seconds. Default: 30.
region: Option<String>AWS region for Bedrock provider.
access_key: Option<String>AWS access key ID for Bedrock provider.
secret_key: Option<String>AWS secret access key for Bedrock provider.
model_path: Option<String>Path to a GGUF model file for the LlamaCpp provider.
n_gpu_layers: Option<u32>Number of GPU layers to offload (LlamaCpp). Default: 0 (CPU only).
n_ctx: Option<u32>Context size in tokens (LlamaCpp). Default: 2048.
n_threads: Option<u32>Number of threads for inference (LlamaCpp). Default: system-chosen.
Implementations§
Source§impl ProviderConfig
impl ProviderConfig
Sourcepub fn effective_kind(&self) -> ProviderKind
pub fn effective_kind(&self) -> ProviderKind
Resolve the effective provider kind.
Returns Anthropic if the field is explicitly set to Anthropic,
or if base_url contains “anthropic”. Otherwise returns the
configured kind.
Trait Implementations§
Source§impl Clone for ProviderConfig
impl Clone for ProviderConfig
Source§fn clone(&self) -> ProviderConfig
fn clone(&self) -> ProviderConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more