Skip to main content

mistral_openapi_client/models/
job_in.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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    /// This field will be required in a future release.
27    #[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