pub struct ProviderLlm {
pub port: Arc<dyn LlmPort>,
pub model_id: String,
pub mechanism: ExtractMechanism,
pub model_digest: Option<String>,
pub tokenizer: Option<Arc<dyn TokenizerPort>>,
pub source: ResolutionSource,
}Expand description
A resolved LLM provider: the port plus everything ExtractorConfig and
Brain need to reflect it (model id, mechanism, weights digest, exact
tokenizer when the provider ships one, plus the resolution source for
provenance).
Fields§
§port: Arc<dyn LlmPort>§model_id: String§mechanism: ExtractMechanism§model_digest: Option<String>blake3 hex digest of the weights, when the provider is a local artifact (§9.5 — weight changes must invalidate the extraction cache).
tokenizer: Option<Arc<dyn TokenizerPort>>§source: ResolutionSourceWhere the resolution ladder picked this provider. Task 5 threads
profile identity / model digest into ExtractorId provenance from
this field; the CLI does not edit ExtractorConfig directly here.
Implementations§
Source§impl ProviderLlm
impl ProviderLlm
Sourcepub fn profile_id(&self) -> Option<String>
pub fn profile_id(&self) -> Option<String>
Foundation profile id when the provider came from a profile
resolution; None for the legacy compat env / explicit override /
local GGUF paths. Consumed by Task 5 to fold the binding into
ExtractorConfig::provider_profile_id and invalidate cached
summaries when the role changes (§13).