use crate::types::ChatTemplate;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct EvictionStrategy {
pub max_safe_tokens: usize,
}
impl Default for EvictionStrategy {
fn default() -> Self {
Self {
max_safe_tokens: 8000,
}
}
}
#[derive(Clone, Debug)]
pub struct AgentConfig {
pub system_prompt: String,
pub template: ChatTemplate,
pub max_iterations: usize,
pub eviction_strategy: EvictionStrategy,
}
impl Default for AgentConfig {
fn default() -> Self {
Self {
system_prompt: String::new(),
template: ChatTemplate::chatml(),
max_iterations: 10,
eviction_strategy: EvictionStrategy::default(),
}
}
}