mistral_openapi_client/models/
base_model_card.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct BaseModelCard {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
19 pub object: Option<String>,
20 #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
21 pub created: Option<i32>,
22 #[serde(rename = "owned_by", skip_serializing_if = "Option::is_none")]
23 pub owned_by: Option<String>,
24 #[serde(rename = "capabilities")]
25 pub capabilities: Box<models::ModelCapabilities>,
26 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub name: Option<Option<String>>,
28 #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29 pub description: Option<Option<String>>,
30 #[serde(rename = "max_context_length", skip_serializing_if = "Option::is_none")]
31 pub max_context_length: Option<i32>,
32 #[serde(rename = "aliases", skip_serializing_if = "Option::is_none")]
33 pub aliases: Option<Vec<String>>,
34 #[serde(rename = "deprecation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub deprecation: Option<Option<String>>,
36 #[serde(rename = "deprecation_replacement_model", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub deprecation_replacement_model: Option<Option<String>>,
38 #[serde(rename = "default_model_temperature", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub default_model_temperature: Option<Option<f64>>,
40 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
41 pub r#type: Option<Type>,
42}
43
44impl BaseModelCard {
45 pub fn new(id: String, capabilities: models::ModelCapabilities) -> BaseModelCard {
46 BaseModelCard {
47 id,
48 object: None,
49 created: None,
50 owned_by: None,
51 capabilities: Box::new(capabilities),
52 name: None,
53 description: None,
54 max_context_length: None,
55 aliases: None,
56 deprecation: None,
57 deprecation_replacement_model: None,
58 default_model_temperature: None,
59 r#type: None,
60 }
61 }
62}
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum Type {
66 #[serde(rename = "base")]
67 Base,
68}
69
70impl Default for Type {
71 fn default() -> Type {
72 Self::Base
73 }
74}
75