use serde::Deserialize;
use serde::Serialize;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ClusterConfig {
pub provider: String,
pub host: String,
pub model: String,
pub timeout_secs: u64,
pub temperature: f32,
pub seed: u64,
pub num_ctx: usize,
pub num_predict: usize,
#[serde(skip_serializing_if = "Option::is_none")]
pub api_key: Option<String>,
pub parallel: usize,
}
impl Default for ClusterConfig {
fn default() -> Self {
Self {
provider: "ollama".to_string(),
host: "http://localhost:11434".to_string(),
model: "qwen2.5-coder:14b-instruct".to_string(),
timeout_secs: 60,
temperature: 0.1,
seed: 42,
num_ctx: 4096,
num_predict: 2048,
api_key: None,
parallel: 1,
}
}
}