mistral_openapi_client/models/
job_in.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct JobIn {
16 #[serde(rename = "model")]
17 pub model: String,
18 #[serde(rename = "training_files", skip_serializing_if = "Option::is_none")]
19 pub training_files: Option<Vec<models::TrainingFile>>,
20 #[serde(rename = "validation_files", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub validation_files: Option<Option<Vec<uuid::Uuid>>>,
22 #[serde(rename = "suffix", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub suffix: Option<Option<String>>,
24 #[serde(rename = "integrations", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub integrations: Option<Option<Vec<models::WandbIntegration>>>,
26 #[serde(rename = "auto_start", skip_serializing_if = "Option::is_none")]
28 pub auto_start: Option<bool>,
29 #[serde(rename = "invalid_sample_skip_percentage", skip_serializing_if = "Option::is_none")]
30 pub invalid_sample_skip_percentage: Option<f64>,
31 #[serde(rename = "job_type", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub job_type: Option<Option<models::FineTuneableModelType>>,
33 #[serde(rename = "hyperparameters")]
34 pub hyperparameters: Box<models::Hyperparameters>,
35 #[serde(rename = "repositories", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub repositories: Option<Option<Vec<models::GithubRepositoryIn>>>,
37 #[serde(rename = "classifier_targets", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38 pub classifier_targets: Option<Option<Vec<models::ClassifierTargetIn>>>,
39}
40
41impl JobIn {
42 pub fn new(model: String, hyperparameters: models::Hyperparameters) -> JobIn {
43 JobIn {
44 model,
45 training_files: None,
46 validation_files: None,
47 suffix: None,
48 integrations: None,
49 auto_start: None,
50 invalid_sample_skip_percentage: None,
51 job_type: None,
52 hyperparameters: Box::new(hyperparameters),
53 repositories: None,
54 classifier_targets: None,
55 }
56 }
57}
58