Skip to main content

provider_runtime_options_for_bare_family

Function provider_runtime_options_for_bare_family 

pub fn provider_runtime_options_for_bare_family(
    config: &Config,
) -> ModelProviderRuntimeOptions
Expand description

Runtime options for a bare family reference (e.g. ollama), which has no alias entry to resolve.

Provider construction for these names stays on the family-default path (config = None at create_model_provider_inner) — that is what keeps a dotted-but-dangling ref fail-closed, per the exclusions documented in create_model_provider_from_ref_with_model. The config-owned [multimodal] policy must still reach the provider, though.

ModelProviderRuntimeOptions::default() embeds MultimodalConfig::default() (max_images = 4, max_image_size_mb = 5). A configured vision_model_provider = "ollama" with max_images = 8 would otherwise re-normalize already-prepared messages under the default cap at the provider boundary, evicting the request’s oldest images down to 4 even though the operator’s configuration legitimately accepted 8.

Only config-owned policy is carried across; every entry-specific option (kind, URI, credentials, vision, …) stays at its default, since a bare family name names no entry to take them from.

Public because the runtime’s live model-switch path builds a replacement provider from the same config and must resolve the same options — a bare family switch that fell back to ModelProviderRuntimeOptions::default() would rebuild the provider boundary under default caps, exactly the mismatch above.