use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModelConfig {
pub model_provider: String,
pub model: String,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub max_retries: Option<u32>,
pub parallel_tool_calls: Option<bool>,
pub stop_sequences: Option<Vec<String>>,
}
impl Default for ModelConfig {
fn default() -> Self {
Self {
model_provider: "anthropic".to_string(),
model: "claude-3-5-sonnet-20241022".to_string(),
max_tokens: Some(4096),
temperature: Some(0.5),
top_p: Some(1.0),
top_k: None,
max_retries: Some(3),
parallel_tool_calls: Some(true),
stop_sequences: None,
}
}
}