entrenar/yaml_mode/manifest/
core.rs1use serde::{Deserialize, Serialize};
7
8use super::callback::CallbackConfig;
9use super::data::DataConfig;
10use super::extended::{
11 AuditConfig, BenchmarkConfig, CitlConfig, DebugConfig, DistillationConfig, GraphConfig,
12 InspectConfig, PrivacyConfig, RagConfig, SessionConfig, SigningConfig, StressConfig,
13 VerificationConfig,
14};
15use super::lora::LoraConfig;
16use super::model::ModelConfig;
17use super::monitoring::MonitoringConfig;
18use super::optimizer::OptimizerConfig;
19use super::output::OutputConfig;
20use super::publish::PublishConfig;
21use super::quantize::QuantizeConfig;
22use super::scheduler::SchedulerConfig;
23use super::training::TrainingConfig;
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct TrainingManifest {
33 pub entrenar: String,
35
36 pub name: String,
38
39 pub version: String,
41
42 #[serde(default, skip_serializing_if = "Option::is_none")]
44 pub description: Option<String>,
45
46 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub seed: Option<u64>,
49
50 #[serde(default, skip_serializing_if = "Option::is_none")]
52 pub data: Option<DataConfig>,
53
54 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub model: Option<ModelConfig>,
57
58 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub optimizer: Option<OptimizerConfig>,
61
62 #[serde(default, skip_serializing_if = "Option::is_none")]
64 pub scheduler: Option<SchedulerConfig>,
65
66 #[serde(default, skip_serializing_if = "Option::is_none")]
68 pub training: Option<TrainingConfig>,
69
70 #[serde(default, skip_serializing_if = "Option::is_none")]
72 pub lora: Option<LoraConfig>,
73
74 #[serde(default, skip_serializing_if = "Option::is_none")]
76 pub quantize: Option<QuantizeConfig>,
77
78 #[serde(default, skip_serializing_if = "Option::is_none")]
80 pub monitoring: Option<MonitoringConfig>,
81
82 #[serde(default, skip_serializing_if = "Option::is_none")]
84 pub callbacks: Option<Vec<CallbackConfig>>,
85
86 #[serde(default, skip_serializing_if = "Option::is_none")]
88 pub output: Option<OutputConfig>,
89
90 #[serde(default, skip_serializing_if = "Option::is_none")]
92 pub publish: Option<PublishConfig>,
93
94 #[serde(default, skip_serializing_if = "Option::is_none")]
97 pub citl: Option<CitlConfig>,
98
99 #[serde(default, skip_serializing_if = "Option::is_none")]
101 pub rag: Option<RagConfig>,
102
103 #[serde(default, skip_serializing_if = "Option::is_none")]
105 pub graph: Option<GraphConfig>,
106
107 #[serde(default, skip_serializing_if = "Option::is_none")]
109 pub distillation: Option<DistillationConfig>,
110
111 #[serde(default, skip_serializing_if = "Option::is_none")]
113 pub inspect: Option<InspectConfig>,
114
115 #[serde(default, skip_serializing_if = "Option::is_none")]
117 pub privacy: Option<PrivacyConfig>,
118
119 #[serde(default, skip_serializing_if = "Option::is_none")]
121 pub audit: Option<AuditConfig>,
122
123 #[serde(default, skip_serializing_if = "Option::is_none")]
125 pub session: Option<SessionConfig>,
126
127 #[serde(default, skip_serializing_if = "Option::is_none")]
129 pub stress: Option<StressConfig>,
130
131 #[serde(default, skip_serializing_if = "Option::is_none")]
133 pub benchmark: Option<BenchmarkConfig>,
134
135 #[serde(default, skip_serializing_if = "Option::is_none")]
137 pub debug: Option<DebugConfig>,
138
139 #[serde(default, skip_serializing_if = "Option::is_none")]
141 pub signing: Option<SigningConfig>,
142
143 #[serde(default, skip_serializing_if = "Option::is_none")]
145 pub verification: Option<VerificationConfig>,
146
147 #[serde(default, skip_serializing_if = "Option::is_none")]
149 pub lockfile: Option<String>,
150
151 #[serde(default, skip_serializing_if = "Option::is_none")]
153 pub strict: Option<bool>,
154
155 #[serde(default, skip_serializing_if = "Option::is_none")]
157 pub strict_validation: Option<bool>,
158
159 #[serde(default, skip_serializing_if = "Option::is_none")]
161 pub require_peer_review: Option<bool>,
162}