langfuse_client_base/models/
create_generation_body.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CreateGenerationBody {
16 #[serde(
17 rename = "completionStartTime",
18 default,
19 with = "::serde_with::rust::double_option",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub completion_start_time: Option<Option<String>>,
23 #[serde(
24 rename = "model",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub model: Option<Option<String>>,
30 #[serde(
31 rename = "modelParameters",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub model_parameters: Option<Option<std::collections::HashMap<String, models::MapValue>>>,
37 #[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
38 pub usage: Option<Box<models::IngestionUsage>>,
39 #[serde(rename = "usageDetails", skip_serializing_if = "Option::is_none")]
40 pub usage_details: Option<Box<models::UsageDetails>>,
41 #[serde(
42 rename = "costDetails",
43 default,
44 with = "::serde_with::rust::double_option",
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub cost_details: Option<Option<std::collections::HashMap<String, f64>>>,
48 #[serde(
49 rename = "promptName",
50 default,
51 with = "::serde_with::rust::double_option",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub prompt_name: Option<Option<String>>,
55 #[serde(
56 rename = "promptVersion",
57 default,
58 with = "::serde_with::rust::double_option",
59 skip_serializing_if = "Option::is_none"
60 )]
61 pub prompt_version: Option<Option<i32>>,
62 #[serde(
63 rename = "endTime",
64 default,
65 with = "::serde_with::rust::double_option",
66 skip_serializing_if = "Option::is_none"
67 )]
68 pub end_time: Option<Option<String>>,
69 #[serde(
70 rename = "id",
71 default,
72 with = "::serde_with::rust::double_option",
73 skip_serializing_if = "Option::is_none"
74 )]
75 pub id: Option<Option<String>>,
76 #[serde(
77 rename = "traceId",
78 default,
79 with = "::serde_with::rust::double_option",
80 skip_serializing_if = "Option::is_none"
81 )]
82 pub trace_id: Option<Option<String>>,
83 #[serde(
84 rename = "name",
85 default,
86 with = "::serde_with::rust::double_option",
87 skip_serializing_if = "Option::is_none"
88 )]
89 pub name: Option<Option<String>>,
90 #[serde(
91 rename = "startTime",
92 default,
93 with = "::serde_with::rust::double_option",
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub start_time: Option<Option<String>>,
97 #[serde(
98 rename = "metadata",
99 default,
100 with = "::serde_with::rust::double_option",
101 skip_serializing_if = "Option::is_none"
102 )]
103 pub metadata: Option<Option<serde_json::Value>>,
104 #[serde(
105 rename = "input",
106 default,
107 with = "::serde_with::rust::double_option",
108 skip_serializing_if = "Option::is_none"
109 )]
110 pub input: Option<Option<serde_json::Value>>,
111 #[serde(
112 rename = "output",
113 default,
114 with = "::serde_with::rust::double_option",
115 skip_serializing_if = "Option::is_none"
116 )]
117 pub output: Option<Option<serde_json::Value>>,
118 #[serde(rename = "level", skip_serializing_if = "Option::is_none")]
119 pub level: Option<models::ObservationLevel>,
120 #[serde(
121 rename = "statusMessage",
122 default,
123 with = "::serde_with::rust::double_option",
124 skip_serializing_if = "Option::is_none"
125 )]
126 pub status_message: Option<Option<String>>,
127 #[serde(
128 rename = "parentObservationId",
129 default,
130 with = "::serde_with::rust::double_option",
131 skip_serializing_if = "Option::is_none"
132 )]
133 pub parent_observation_id: Option<Option<String>>,
134 #[serde(
135 rename = "version",
136 default,
137 with = "::serde_with::rust::double_option",
138 skip_serializing_if = "Option::is_none"
139 )]
140 pub version: Option<Option<String>>,
141 #[serde(
142 rename = "environment",
143 default,
144 with = "::serde_with::rust::double_option",
145 skip_serializing_if = "Option::is_none"
146 )]
147 pub environment: Option<Option<String>>,
148}
149
150impl CreateGenerationBody {
151 pub fn new() -> CreateGenerationBody {
152 CreateGenerationBody {
153 completion_start_time: None,
154 model: None,
155 model_parameters: None,
156 usage: None,
157 usage_details: None,
158 cost_details: None,
159 prompt_name: None,
160 prompt_version: None,
161 end_time: None,
162 id: None,
163 trace_id: None,
164 name: None,
165 start_time: None,
166 metadata: None,
167 input: None,
168 output: None,
169 level: None,
170 status_message: None,
171 parent_observation_id: None,
172 version: None,
173 environment: None,
174 }
175 }
176}