langfuse_rs/models/
create_generation_body.rs

1/*
2 * langfuse
3 *
4 * ## Authentication  Authenticate with the API using [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), get API keys in the project settings:  - username: Langfuse Public Key - password: Langfuse Secret Key  ## Exports  - OpenAPI spec: https://cloud.langfuse.com/generated/api/openapi.yml - Postman collection: https://cloud.langfuse.com/generated/postman/collection.json
5 *
6 * The version of the OpenAPI document:
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 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}
142
143impl CreateGenerationBody {
144	pub fn new() -> CreateGenerationBody {
145		CreateGenerationBody {
146			completion_start_time: None,
147			model: None,
148			model_parameters: None,
149			usage: None,
150			usage_details: None,
151			cost_details: None,
152			prompt_name: None,
153			prompt_version: None,
154			end_time: None,
155			id: None,
156			trace_id: None,
157			name: None,
158			start_time: None,
159			metadata: None,
160			input: None,
161			output: None,
162			level: None,
163			status_message: None,
164			parent_observation_id: None,
165			version: None,
166		}
167	}
168}