mistral_openapi_client/models/
model_conversation.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ModelConversation {
16 #[serde(rename = "instructions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17 pub instructions: Option<Option<String>>,
18 #[serde(rename = "tools", skip_serializing_if = "Option::is_none")]
20 pub tools: Option<Vec<models::ToolsInner>>,
21 #[serde(rename = "completion_args", skip_serializing_if = "Option::is_none")]
23 pub completion_args: Option<Box<models::CompletionArgs>>,
24 #[serde(rename = "guardrails", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub guardrails: Option<Option<Vec<models::GuardrailConfig>>>,
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 = "metadata", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub metadata: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
33 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
34 pub object: Option<Object>,
35 #[serde(rename = "id")]
36 pub id: String,
37 #[serde(rename = "created_at")]
38 pub created_at: String,
39 #[serde(rename = "updated_at")]
40 pub updated_at: String,
41 #[serde(rename = "model")]
42 pub model: String,
43}
44
45impl ModelConversation {
46 pub fn new(id: String, created_at: String, updated_at: String, model: String) -> ModelConversation {
47 ModelConversation {
48 instructions: None,
49 tools: None,
50 completion_args: None,
51 guardrails: None,
52 name: None,
53 description: None,
54 metadata: None,
55 object: None,
56 id,
57 created_at,
58 updated_at,
59 model,
60 }
61 }
62}
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum Object {
66 #[serde(rename = "conversation")]
67 Conversation,
68}
69
70impl Default for Object {
71 fn default() -> Object {
72 Self::Conversation
73 }
74}
75