pub struct ModelProfile {Show 23 fields
pub name: String,
pub family: String,
pub description: Option<String>,
pub release_date: Option<String>,
pub last_updated: Option<String>,
pub attachment: bool,
pub reasoning: bool,
pub temperature: bool,
pub knowledge: Option<String>,
pub tool_call: bool,
pub structured_output: bool,
pub open_weights: bool,
pub cost: Option<ModelCost>,
pub limits: Option<ModelLimits>,
pub modalities: Option<ModelModalities>,
pub reasoning_effort: Option<ReasoningEffortConfig>,
pub speed: Option<SpeedConfig>,
pub verbosity: Option<VerbosityConfig>,
pub tool_search: bool,
pub supported_parameters: Vec<String>,
pub supports_phases: bool,
pub supports_server_compaction: bool,
pub decisions: Option<DecisionModelProfile>,
}Expand description
LLM Model Profile describing model capabilities Based on models.dev structure (https://models.dev/api.json)
The registry of profiles lives in crate::model_profile_data::profiles; retired models are
dropped from it as vendors sunset them.
Fields§
§name: StringDisplay name of the model
family: StringModel family (e.g., “gpt-5.6-sol”, “claude-sonnet-5”)
description: Option<String>Short human-readable description of the model’s strengths and intended use
release_date: Option<String>Release date (YYYY-MM-DD format)
last_updated: Option<String>Last updated date (YYYY-MM-DD format)
attachment: boolWhether the model supports file/image attachments
reasoning: boolWhether the model has reasoning/chain-of-thought capabilities
temperature: boolWhether temperature control is supported
knowledge: Option<String>Knowledge cutoff date (YYYY-MM-DD format)
tool_call: boolWhether the model supports tool/function calling
structured_output: boolWhether the model supports structured output (JSON mode)
open_weights: boolWhether the model has open weights
cost: Option<ModelCost>Cost per million tokens
limits: Option<ModelLimits>Token limits
modalities: Option<ModelModalities>Supported modalities
reasoning_effort: Option<ReasoningEffortConfig>Reasoning effort configuration (for reasoning models)
speed: Option<SpeedConfig>Speed (service tier) configuration, for models served with
selectable latency/price tiers (OpenAI service_tier).
verbosity: Option<VerbosityConfig>Verbosity configuration, for models that expose output-length
control (OpenAI verbosity).
tool_search: boolWhether the model supports tool_search (deferred tool loading). When true, the driver can use namespaces and defer_loading to reduce token usage for large tool sets. Currently supported by GPT-5.4 and newer.
supported_parameters: Vec<String>Provider-advertised request parameters supported by this model.
supports_phases: boolWhether the model supports native execution phases (“commentary” / “final_answer”).
When true, the driver sends the phase field on assistant messages in the wire format.
Currently supported by GPT-5.4 and newer via OpenAI Responses API.
supports_server_compaction: boolWhether the direct provider API supports threshold server-side compaction.
This is an explicit rollout control. Unknown models and provider surfaces that do not opt in remain disabled.
decisions: Option<DecisionModelProfile>Typed semantics when this profile describes a decision model.
Implementations§
Source§impl ModelProfile
impl ModelProfile
Sourcepub fn supports_parameter(&self, parameter: &str) -> bool
pub fn supports_parameter(&self, parameter: &str) -> bool
Whether this profile advertises a provider request parameter.