use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LoraConfig {
pub enabled: bool,
pub rank: usize,
pub alpha: f64,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dropout: Option<f64>,
pub target_modules: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target_modules_pattern: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bias: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub init_weights: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantize_base: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quantize_bits: Option<u8>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub double_quantize: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub quant_type: Option<String>,
}