trae_agent_rs_core/config/
model_config.rs

1//! Model configuration structures
2
3use serde::{Deserialize, Serialize};
4
5/// Configuration for a specific model
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct ModelConfig {
8    /// Model provider name
9    pub model_provider: String,
10    
11    /// Model name/identifier
12    pub model: String,
13    
14    /// Maximum tokens for generation
15    pub max_tokens: Option<u32>,
16    
17    /// Temperature for generation (0.0 to 1.0)
18    pub temperature: Option<f32>,
19    
20    /// Top-p sampling parameter
21    pub top_p: Option<f32>,
22    
23    /// Top-k sampling parameter
24    pub top_k: Option<u32>,
25    
26    /// Maximum number of retries for failed requests
27    pub max_retries: Option<u32>,
28    
29    /// Whether to enable parallel tool calls
30    pub parallel_tool_calls: Option<bool>,
31    
32    /// Stop sequences for generation
33    pub stop_sequences: Option<Vec<String>>,
34}
35
36impl Default for ModelConfig {
37    fn default() -> Self {
38        Self {
39            model_provider: "anthropic".to_string(),
40            model: "claude-3-5-sonnet-20241022".to_string(),
41            max_tokens: Some(4096),
42            temperature: Some(0.5),
43            top_p: Some(1.0),
44            top_k: None,
45            max_retries: Some(3),
46            parallel_tool_calls: Some(true),
47            stop_sequences: None,
48        }
49    }
50}