use super::super::{ModelPreset, ReasoningEffortPreset};
use crate::config::models::Provider;
use crate::config::types::ReasoningEffortLevel;
pub(crate) fn ollama_presets() -> Vec<ModelPreset> {
vec![
ModelPreset {
id: "ollama/gpt-oss:20b".to_string(),
model: "gpt-oss:20b".to_string(),
display_name: "GPT-OSS 20B (Ollama)".to_string(),
description: "Open-weight GPT-OSS served locally".to_string(),
provider: Provider::Ollama,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
}],
is_default: true,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(96_000),
},
ModelPreset {
id: "ollama/nemotron-3-ultra:cloud".to_string(),
model: "nemotron-3-ultra:cloud".to_string(),
display_name: "Nemotron 3 Ultra (Ollama)".to_string(),
description: "NVIDIA Nemotron 3 Ultra 550B for high-throughput reasoning and long-running agent workflows via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffortLevel::High,
description: "Deep".to_string(),
},
],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(256_000),
},
ModelPreset {
id: "ollama/gemma4".to_string(),
model: "gemma4".to_string(),
display_name: "Gemma 4 (Ollama)".to_string(),
description: "Google Gemma 4 for reasoning, agentic workflows, coding, and multimodal understanding".to_string(),
provider: Provider::Ollama,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
}],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(128_000),
},
ModelPreset {
id: "ollama/minimax-m3:cloud".to_string(),
model: "minimax-m3:cloud".to_string(),
display_name: "MiniMax-M3 (Ollama)".to_string(),
description: "Cloud-hosted MiniMax-M3 model via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
}],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(131_072),
},
ModelPreset {
id: "ollama/glm-5.2:cloud".to_string(),
model: "glm-5.2:cloud".to_string(),
display_name: "GLM-5.2 (Ollama)".to_string(),
description: "Cloud-hosted GLM-5.2 flagship model for long-horizon tasks with 1M context via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffortLevel::High,
description: "Deep".to_string(),
},
],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
ModelPreset {
id: "ollama/glm-5.3:cloud".to_string(),
model: "glm-5.3:cloud".to_string(),
display_name: "GLM-5.3 (Ollama)".to_string(),
description: "Cloud-hosted GLM-5.3 flagship model for long-horizon tasks with 1M context via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::Medium,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffortLevel::Medium,
description: "Balanced".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffortLevel::High,
description: "Deep".to_string(),
},
],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
ModelPreset {
id: "ollama/glm-5.3-flash:cloud".to_string(),
model: "glm-5.3-flash:cloud".to_string(),
display_name: "GLM-5.3 Flash (Ollama)".to_string(),
description: "Cloud-hosted multimodal GLM-5.3 Flash model for coding and agentic workflows via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::High,
supported_reasoning_efforts: vec![
ReasoningEffortPreset {
effort: ReasoningEffortLevel::Low,
description: "Fast responses with lightweight reasoning".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffortLevel::High,
description: "Deep reasoning for complex problems".to_string(),
},
ReasoningEffortPreset {
effort: ReasoningEffortLevel::Max,
description: "Maximum reasoning effort".to_string(),
},
],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
ModelPreset {
id: "ollama/mistral-large-4:cloud".to_string(),
model: "mistral-large-4:cloud".to_string(),
display_name: "Mistral Large 4 (Ollama)".to_string(),
description: "Cloud-hosted open-weight multimodal Mistral Large 4 model via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::None,
supported_reasoning_efforts: vec![],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
ModelPreset {
id: "ollama/muse-spark-open:cloud".to_string(),
model: "muse-spark-open:cloud".to_string(),
display_name: "Muse Spark Open (Ollama)".to_string(),
description: "Cloud-hosted multimodal Muse Spark Open model for coding, agentic work, and long-context reasoning via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::None,
supported_reasoning_efforts: vec![],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
ModelPreset {
id: "ollama/deepseek-v4.1-flash:cloud".to_string(),
model: "deepseek-v4.1-flash:cloud".to_string(),
display_name: "DeepSeek V4.1 Flash (Ollama)".to_string(),
description: "Cloud-hosted multimodal DeepSeek V4.1 Flash model via Ollama Cloud".to_string(),
provider: Provider::OllamaCloud,
default_reasoning_effort: ReasoningEffortLevel::None,
supported_reasoning_efforts: vec![],
is_default: false,
upgrade: None,
show_in_picker: true,
supported_in_api: true,
context_window: Some(1_000_000),
},
]
}