pub struct ModelCapabilities {Show 16 fields
pub max_tokens: u32,
pub max_output_tokens: u32,
pub supports_streaming: bool,
pub supports_tools: bool,
pub supports_reasoning: bool,
pub supports_vision: bool,
pub supports_json_mode: bool,
pub supports_embeddings: bool,
pub supports_image_generation: bool,
pub supports_audio_transcription: bool,
pub supports_speech: bool,
pub supports_video_generation: bool,
pub pii_safe: bool,
pub cost_per_1m_input: Option<f64>,
pub cost_per_1m_output: Option<f64>,
pub cost_per_1m_pixels: Option<f64>,
}Expand description
Model capabilities - declares what a model supports.
Aligned with enact-providers config.yml capabilities and related fields:
tool_calls→ supports_tools,reasoning→ supports_reasoning- runtime.max_tokens_default, cost.cost_per_1m_input/output etc. map to max_tokens, cost_per_1m_*, cost_per_1m_pixels
Fields§
§max_tokens: u32Maximum context window (tokens)
max_output_tokens: u32Maximum output tokens
supports_streaming: boolSupports streaming responses
supports_tools: boolSupports tool/function calling (config: capabilities.tool_calls)
supports_reasoning: boolSupports reasoning/thinking (config: capabilities.reasoning)
supports_vision: boolSupports vision/images as input
supports_json_mode: boolSupports structured output (JSON mode)
supports_embeddings: boolSupports embedding generation
supports_image_generation: boolSupports image generation (DALL-E, Flux, etc.)
supports_audio_transcription: boolSupports audio transcription (speech-to-text)
supports_speech: boolSupports text-to-speech
supports_video_generation: boolSupports video generation
pii_safe: boolIs PII-safe (no data retention)
cost_per_1m_input: Option<f64>Cost per 1K input tokens (USD); from config cost.cost_per_1m_input
cost_per_1m_output: Option<f64>Cost per 1K output tokens (USD); from config cost.cost_per_1m_output
cost_per_1m_pixels: Option<f64>Cost per 1K pixels for image (USD); from config cost.cost_per_1m_pixels
Implementations§
Source§impl ModelCapabilities
impl ModelCapabilities
Sourcepub fn claude3_opus() -> Self
pub fn claude3_opus() -> Self
Claude 3 Opus capabilities
Sourcepub fn gemini_pro() -> Self
pub fn gemini_pro() -> Self
Gemini Pro capabilities
Trait Implementations§
Source§impl Clone for ModelCapabilities
impl Clone for ModelCapabilities
Source§fn clone(&self) -> ModelCapabilities
fn clone(&self) -> ModelCapabilities
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more