mistral_openapi_client/models/
response.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Response {
16 #[serde(rename = "id")]
18 pub id: uuid::Uuid,
19 #[serde(rename = "auto_start")]
20 pub auto_start: bool,
21 #[serde(rename = "model")]
22 pub model: String,
23 #[serde(rename = "status")]
25 pub status: Status,
26 #[serde(rename = "created_at")]
28 pub created_at: i32,
29 #[serde(rename = "modified_at")]
31 pub modified_at: i32,
32 #[serde(rename = "training_files")]
34 pub training_files: Vec<uuid::Uuid>,
35 #[serde(rename = "validation_files", skip_serializing_if = "Option::is_none")]
36 pub validation_files: Option<Vec<uuid::Uuid>>,
37 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
38 pub object: Option<Object>,
39 #[serde(rename = "fine_tuned_model", skip_serializing_if = "Option::is_none")]
40 pub fine_tuned_model: Option<String>,
41 #[serde(rename = "suffix", skip_serializing_if = "Option::is_none")]
42 pub suffix: Option<String>,
43 #[serde(rename = "integrations", skip_serializing_if = "Option::is_none")]
44 pub integrations: Option<Vec<models::WandbIntegrationOut>>,
45 #[serde(rename = "trained_tokens", skip_serializing_if = "Option::is_none")]
46 pub trained_tokens: Option<i32>,
47 #[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
48 pub metadata: Option<Box<models::JobMetadataOut>>,
49 #[serde(rename = "job_type", skip_serializing_if = "Option::is_none")]
51 pub job_type: Option<JobType>,
52 #[serde(rename = "hyperparameters")]
53 pub hyperparameters: Box<models::ClassifierTrainingParameters>,
54 #[serde(rename = "repositories", skip_serializing_if = "Option::is_none")]
55 pub repositories: Option<Vec<models::GithubRepositoryOut>>,
56 #[serde(rename = "expected_duration_seconds", skip_serializing_if = "Option::is_none")]
57 pub expected_duration_seconds: Option<i32>,
58 #[serde(rename = "cost", skip_serializing_if = "Option::is_none")]
59 pub cost: Option<f64>,
60 #[serde(rename = "cost_currency", skip_serializing_if = "Option::is_none")]
61 pub cost_currency: Option<String>,
62 #[serde(rename = "train_tokens_per_step", skip_serializing_if = "Option::is_none")]
63 pub train_tokens_per_step: Option<i32>,
64 #[serde(rename = "train_tokens", skip_serializing_if = "Option::is_none")]
65 pub train_tokens: Option<i32>,
66 #[serde(rename = "data_tokens", skip_serializing_if = "Option::is_none")]
67 pub data_tokens: Option<i32>,
68 #[serde(rename = "estimated_start_time", skip_serializing_if = "Option::is_none")]
69 pub estimated_start_time: Option<i32>,
70 #[serde(rename = "deprecated", skip_serializing_if = "Option::is_none")]
71 pub deprecated: Option<bool>,
72 #[serde(rename = "details")]
73 pub details: String,
74 #[serde(rename = "epochs", skip_serializing_if = "Option::is_none")]
75 pub epochs: Option<f64>,
76 #[serde(rename = "training_steps", skip_serializing_if = "Option::is_none")]
77 pub training_steps: Option<i32>,
78}
79
80impl Response {
81 pub fn new(id: uuid::Uuid, auto_start: bool, model: String, status: Status, created_at: i32, modified_at: i32, training_files: Vec<uuid::Uuid>, hyperparameters: models::ClassifierTrainingParameters, details: String) -> Response {
82 Response {
83 id,
84 auto_start,
85 model,
86 status,
87 created_at,
88 modified_at,
89 training_files,
90 validation_files: None,
91 object: None,
92 fine_tuned_model: None,
93 suffix: None,
94 integrations: None,
95 trained_tokens: None,
96 metadata: None,
97 job_type: None,
98 hyperparameters: Box::new(hyperparameters),
99 repositories: None,
100 expected_duration_seconds: None,
101 cost: None,
102 cost_currency: None,
103 train_tokens_per_step: None,
104 train_tokens: None,
105 data_tokens: None,
106 estimated_start_time: None,
107 deprecated: None,
108 details,
109 epochs: None,
110 training_steps: None,
111 }
112 }
113}
114#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
116pub enum Status {
117 #[serde(rename = "QUEUED")]
118 Queued,
119 #[serde(rename = "STARTED")]
120 Started,
121 #[serde(rename = "VALIDATING")]
122 Validating,
123 #[serde(rename = "VALIDATED")]
124 Validated,
125 #[serde(rename = "RUNNING")]
126 Running,
127 #[serde(rename = "FAILED_VALIDATION")]
128 FailedValidation,
129 #[serde(rename = "FAILED")]
130 Failed,
131 #[serde(rename = "SUCCESS")]
132 Success,
133 #[serde(rename = "CANCELLED")]
134 Cancelled,
135 #[serde(rename = "CANCELLATION_REQUESTED")]
136 CancellationRequested,
137}
138
139impl Default for Status {
140 fn default() -> Status {
141 Self::Queued
142 }
143}
144#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
146pub enum Object {
147 #[serde(rename = "job.metadata")]
148 JobMetadata,
149}
150
151impl Default for Object {
152 fn default() -> Object {
153 Self::JobMetadata
154 }
155}
156#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
158pub enum JobType {
159 #[serde(rename = "classifier")]
160 Classifier,
161}
162
163impl Default for JobType {
164 fn default() -> JobType {
165 Self::Classifier
166 }
167}
168