Skip to main content

mistral_openapi_client/models/
response.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 Response {
16    /// The ID of the job.
17    #[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    /// The current status of the fine-tuning job.
24    #[serde(rename = "status")]
25    pub status: Status,
26    /// The UNIX timestamp (in seconds) for when the fine-tuning job was created.
27    #[serde(rename = "created_at")]
28    pub created_at: i32,
29    /// The UNIX timestamp (in seconds) for when the fine-tuning job was last modified.
30    #[serde(rename = "modified_at")]
31    pub modified_at: i32,
32    /// A list containing the IDs of uploaded files that contain training data.
33    #[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    /// The type of job (`FT` for fine-tuning).
50    #[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/// The current status of the fine-tuning job.
115#[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/// 
145#[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/// The type of job (`FT` for fine-tuning).
157#[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