1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CancelFineTuneError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum CreateAnswerError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum CreateChatCompletionError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum CreateClassificationError {
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum CreateCompletionError {
50 UnknownValue(serde_json::Value),
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum CreateEditError {
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum CreateEmbeddingError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum CreateFileError {
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum CreateFineTuneError {
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum CreateImageError {
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum CreateImageEditError {
92 UnknownValue(serde_json::Value),
93}
94
95#[derive(Debug, Clone, Serialize, Deserialize)]
97#[serde(untagged)]
98pub enum CreateImageVariationError {
99 UnknownValue(serde_json::Value),
100}
101
102#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum CreateModerationError {
106 UnknownValue(serde_json::Value),
107}
108
109#[derive(Debug, Clone, Serialize, Deserialize)]
111#[serde(untagged)]
112pub enum CreateSearchError {
113 UnknownValue(serde_json::Value),
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum CreateTranscriptionError {
120 UnknownValue(serde_json::Value),
121}
122
123#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(untagged)]
126pub enum CreateTranslationError {
127 UnknownValue(serde_json::Value),
128}
129
130#[derive(Debug, Clone, Serialize, Deserialize)]
132#[serde(untagged)]
133pub enum DeleteFileError {
134 UnknownValue(serde_json::Value),
135}
136
137#[derive(Debug, Clone, Serialize, Deserialize)]
139#[serde(untagged)]
140pub enum DeleteModelError {
141 UnknownValue(serde_json::Value),
142}
143
144#[derive(Debug, Clone, Serialize, Deserialize)]
146#[serde(untagged)]
147pub enum DownloadFileError {
148 UnknownValue(serde_json::Value),
149}
150
151#[derive(Debug, Clone, Serialize, Deserialize)]
153#[serde(untagged)]
154pub enum ListEnginesError {
155 UnknownValue(serde_json::Value),
156}
157
158#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum ListFilesError {
162 UnknownValue(serde_json::Value),
163}
164
165#[derive(Debug, Clone, Serialize, Deserialize)]
167#[serde(untagged)]
168pub enum ListFineTuneEventsError {
169 UnknownValue(serde_json::Value),
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize)]
174#[serde(untagged)]
175pub enum ListFineTunesError {
176 UnknownValue(serde_json::Value),
177}
178
179#[derive(Debug, Clone, Serialize, Deserialize)]
181#[serde(untagged)]
182pub enum ListModelsError {
183 UnknownValue(serde_json::Value),
184}
185
186#[derive(Debug, Clone, Serialize, Deserialize)]
188#[serde(untagged)]
189pub enum RetrieveEngineError {
190 UnknownValue(serde_json::Value),
191}
192
193#[derive(Debug, Clone, Serialize, Deserialize)]
195#[serde(untagged)]
196pub enum RetrieveFileError {
197 UnknownValue(serde_json::Value),
198}
199
200#[derive(Debug, Clone, Serialize, Deserialize)]
202#[serde(untagged)]
203pub enum RetrieveFineTuneError {
204 UnknownValue(serde_json::Value),
205}
206
207#[derive(Debug, Clone, Serialize, Deserialize)]
209#[serde(untagged)]
210pub enum RetrieveModelError {
211 UnknownValue(serde_json::Value),
212}
213
214
215pub async fn cancel_fine_tune(configuration: &configuration::Configuration, fine_tune_id: &str) -> Result<crate::models::FineTune, Error<CancelFineTuneError>> {
216 let local_var_configuration = configuration;
217
218 let local_var_client = &local_var_configuration.client;
219
220 let local_var_uri_str = format!("{}/fine-tunes/{fine_tune_id}/cancel", local_var_configuration.base_path, fine_tune_id=crate::apis::urlencode(fine_tune_id));
221 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
222
223 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
224 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
225 }
226
227 let local_var_req = local_var_req_builder.build()?;
228 let local_var_resp = local_var_client.execute(local_var_req).await?;
229
230 let local_var_status = local_var_resp.status();
231 let local_var_content = local_var_resp.text().await?;
232
233 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
234 serde_json::from_str(&local_var_content).map_err(Error::from)
235 } else {
236 let local_var_entity: Option<CancelFineTuneError> = serde_json::from_str(&local_var_content).ok();
237 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
238 Err(Error::ResponseError(local_var_error))
239 }
240}
241
242pub async fn create_answer(configuration: &configuration::Configuration, create_answer_request: crate::models::CreateAnswerRequest) -> Result<crate::models::CreateAnswerResponse, Error<CreateAnswerError>> {
243 let local_var_configuration = configuration;
244
245 let local_var_client = &local_var_configuration.client;
246
247 let local_var_uri_str = format!("{}/answers", local_var_configuration.base_path);
248 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
249
250 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
251 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
252 }
253 local_var_req_builder = local_var_req_builder.json(&create_answer_request);
254
255 let local_var_req = local_var_req_builder.build()?;
256 let local_var_resp = local_var_client.execute(local_var_req).await?;
257
258 let local_var_status = local_var_resp.status();
259 let local_var_content = local_var_resp.text().await?;
260
261 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
262 serde_json::from_str(&local_var_content).map_err(Error::from)
263 } else {
264 let local_var_entity: Option<CreateAnswerError> = serde_json::from_str(&local_var_content).ok();
265 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
266 Err(Error::ResponseError(local_var_error))
267 }
268}
269
270pub async fn create_chat_completion(configuration: &configuration::Configuration, create_chat_completion_request: crate::models::CreateChatCompletionRequest) -> Result<crate::models::CreateChatCompletionResponse, Error<CreateChatCompletionError>> {
271 let local_var_configuration = configuration;
272
273 let local_var_client = &local_var_configuration.client;
274
275 let local_var_uri_str = format!("{}/chat/completions", local_var_configuration.base_path);
276 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
277
278 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
279 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
280 }
281 local_var_req_builder = local_var_req_builder.json(&create_chat_completion_request);
282
283 let local_var_req = local_var_req_builder.build()?;
284 let local_var_resp = local_var_client.execute(local_var_req).await?;
285
286 let local_var_status = local_var_resp.status();
287 let local_var_content = local_var_resp.text().await?;
288
289 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
290 serde_json::from_str(&local_var_content).map_err(Error::from)
291 } else {
292 let local_var_entity: Option<CreateChatCompletionError> = serde_json::from_str(&local_var_content).ok();
293 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
294 Err(Error::ResponseError(local_var_error))
295 }
296}
297
298pub async fn create_classification(configuration: &configuration::Configuration, create_classification_request: crate::models::CreateClassificationRequest) -> Result<crate::models::CreateClassificationResponse, Error<CreateClassificationError>> {
299 let local_var_configuration = configuration;
300
301 let local_var_client = &local_var_configuration.client;
302
303 let local_var_uri_str = format!("{}/classifications", local_var_configuration.base_path);
304 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
305
306 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
307 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
308 }
309 local_var_req_builder = local_var_req_builder.json(&create_classification_request);
310
311 let local_var_req = local_var_req_builder.build()?;
312 let local_var_resp = local_var_client.execute(local_var_req).await?;
313
314 let local_var_status = local_var_resp.status();
315 let local_var_content = local_var_resp.text().await?;
316
317 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
318 serde_json::from_str(&local_var_content).map_err(Error::from)
319 } else {
320 let local_var_entity: Option<CreateClassificationError> = serde_json::from_str(&local_var_content).ok();
321 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
322 Err(Error::ResponseError(local_var_error))
323 }
324}
325
326pub async fn create_completion(configuration: &configuration::Configuration, create_completion_request: crate::models::CreateCompletionRequest) -> Result<crate::models::CreateCompletionResponse, Error<CreateCompletionError>> {
327 let local_var_configuration = configuration;
328
329 let local_var_client = &local_var_configuration.client;
330
331 let local_var_uri_str = format!("{}/completions", local_var_configuration.base_path);
332 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
333
334 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
335 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
336 }
337 local_var_req_builder = local_var_req_builder.json(&create_completion_request);
338
339 let local_var_req = local_var_req_builder.build()?;
340 let local_var_resp = local_var_client.execute(local_var_req).await?;
341
342 let local_var_status = local_var_resp.status();
343 let local_var_content = local_var_resp.text().await?;
344
345 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
346 serde_json::from_str(&local_var_content).map_err(Error::from)
347 } else {
348 let local_var_entity: Option<CreateCompletionError> = serde_json::from_str(&local_var_content).ok();
349 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
350 Err(Error::ResponseError(local_var_error))
351 }
352}
353
354pub async fn create_edit(configuration: &configuration::Configuration, create_edit_request: crate::models::CreateEditRequest) -> Result<crate::models::CreateEditResponse, Error<CreateEditError>> {
355 let local_var_configuration = configuration;
356
357 let local_var_client = &local_var_configuration.client;
358
359 let local_var_uri_str = format!("{}/edits", local_var_configuration.base_path);
360 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
361
362 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
363 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
364 }
365 local_var_req_builder = local_var_req_builder.json(&create_edit_request);
366
367 let local_var_req = local_var_req_builder.build()?;
368 let local_var_resp = local_var_client.execute(local_var_req).await?;
369
370 let local_var_status = local_var_resp.status();
371 let local_var_content = local_var_resp.text().await?;
372
373 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
374 serde_json::from_str(&local_var_content).map_err(Error::from)
375 } else {
376 let local_var_entity: Option<CreateEditError> = serde_json::from_str(&local_var_content).ok();
377 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
378 Err(Error::ResponseError(local_var_error))
379 }
380}
381
382pub async fn create_embedding(configuration: &configuration::Configuration, create_embedding_request: crate::models::CreateEmbeddingRequest) -> Result<crate::models::CreateEmbeddingResponse, Error<CreateEmbeddingError>> {
383 let local_var_configuration = configuration;
384
385 let local_var_client = &local_var_configuration.client;
386
387 let local_var_uri_str = format!("{}/embeddings", local_var_configuration.base_path);
388 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
389
390 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
391 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
392 }
393 local_var_req_builder = local_var_req_builder.json(&create_embedding_request);
394
395 let local_var_req = local_var_req_builder.build()?;
396 let local_var_resp = local_var_client.execute(local_var_req).await?;
397
398 let local_var_status = local_var_resp.status();
399 let local_var_content = local_var_resp.text().await?;
400
401 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
402 serde_json::from_str(&local_var_content).map_err(Error::from)
403 } else {
404 let local_var_entity: Option<CreateEmbeddingError> = serde_json::from_str(&local_var_content).ok();
405 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
406 Err(Error::ResponseError(local_var_error))
407 }
408}
409
410pub async fn create_file(configuration: &configuration::Configuration, file: std::path::PathBuf, purpose: &str) -> Result<crate::models::OpenAiFile, Error<CreateFileError>> {
411 let local_var_configuration = configuration;
412
413 let local_var_client = &local_var_configuration.client;
414
415 let local_var_uri_str = format!("{}/files", local_var_configuration.base_path);
416 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
417
418 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
419 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
420 }
421 let mut local_var_form = reqwest::multipart::Form::new();
422 local_var_form = local_var_form.text("purpose", purpose.to_string());
424 local_var_req_builder = local_var_req_builder.multipart(local_var_form);
425
426 let local_var_req = local_var_req_builder.build()?;
427 let local_var_resp = local_var_client.execute(local_var_req).await?;
428
429 let local_var_status = local_var_resp.status();
430 let local_var_content = local_var_resp.text().await?;
431
432 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
433 serde_json::from_str(&local_var_content).map_err(Error::from)
434 } else {
435 let local_var_entity: Option<CreateFileError> = serde_json::from_str(&local_var_content).ok();
436 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
437 Err(Error::ResponseError(local_var_error))
438 }
439}
440
441pub async fn create_fine_tune(configuration: &configuration::Configuration, create_fine_tune_request: crate::models::CreateFineTuneRequest) -> Result<crate::models::FineTune, Error<CreateFineTuneError>> {
442 let local_var_configuration = configuration;
443
444 let local_var_client = &local_var_configuration.client;
445
446 let local_var_uri_str = format!("{}/fine-tunes", local_var_configuration.base_path);
447 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
448
449 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
450 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
451 }
452 local_var_req_builder = local_var_req_builder.json(&create_fine_tune_request);
453
454 let local_var_req = local_var_req_builder.build()?;
455 let local_var_resp = local_var_client.execute(local_var_req).await?;
456
457 let local_var_status = local_var_resp.status();
458 let local_var_content = local_var_resp.text().await?;
459
460 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
461 serde_json::from_str(&local_var_content).map_err(Error::from)
462 } else {
463 let local_var_entity: Option<CreateFineTuneError> = serde_json::from_str(&local_var_content).ok();
464 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
465 Err(Error::ResponseError(local_var_error))
466 }
467}
468
469pub async fn create_image(configuration: &configuration::Configuration, create_image_request: crate::models::CreateImageRequest) -> Result<crate::models::ImagesResponse, Error<CreateImageError>> {
470 let local_var_configuration = configuration;
471
472 let local_var_client = &local_var_configuration.client;
473
474 let local_var_uri_str = format!("{}/images/generations", local_var_configuration.base_path);
475 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
476
477 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
478 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
479 }
480 local_var_req_builder = local_var_req_builder.json(&create_image_request);
481
482 let local_var_req = local_var_req_builder.build()?;
483 let local_var_resp = local_var_client.execute(local_var_req).await?;
484
485 let local_var_status = local_var_resp.status();
486 let local_var_content = local_var_resp.text().await?;
487
488 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
489 serde_json::from_str(&local_var_content).map_err(Error::from)
490 } else {
491 let local_var_entity: Option<CreateImageError> = serde_json::from_str(&local_var_content).ok();
492 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
493 Err(Error::ResponseError(local_var_error))
494 }
495}
496
497pub async fn create_image_edit(configuration: &configuration::Configuration, image: std::path::PathBuf, prompt: &str, mask: Option<std::path::PathBuf>, n: Option<i32>, size: Option<&str>, response_format: Option<&str>, user: Option<&str>) -> Result<crate::models::ImagesResponse, Error<CreateImageEditError>> {
498 let local_var_configuration = configuration;
499
500 let local_var_client = &local_var_configuration.client;
501
502 let local_var_uri_str = format!("{}/images/edits", local_var_configuration.base_path);
503 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
504
505 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
506 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
507 }
508 let mut local_var_form = reqwest::multipart::Form::new();
509 local_var_form = local_var_form.text("prompt", prompt.to_string());
512 if let Some(local_var_param_value) = n {
513 local_var_form = local_var_form.text("n", local_var_param_value.to_string());
514 }
515 if let Some(local_var_param_value) = size {
516 local_var_form = local_var_form.text("size", local_var_param_value.to_string());
517 }
518 if let Some(local_var_param_value) = response_format {
519 local_var_form = local_var_form.text("response_format", local_var_param_value.to_string());
520 }
521 if let Some(local_var_param_value) = user {
522 local_var_form = local_var_form.text("user", local_var_param_value.to_string());
523 }
524 local_var_req_builder = local_var_req_builder.multipart(local_var_form);
525
526 let local_var_req = local_var_req_builder.build()?;
527 let local_var_resp = local_var_client.execute(local_var_req).await?;
528
529 let local_var_status = local_var_resp.status();
530 let local_var_content = local_var_resp.text().await?;
531
532 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
533 serde_json::from_str(&local_var_content).map_err(Error::from)
534 } else {
535 let local_var_entity: Option<CreateImageEditError> = serde_json::from_str(&local_var_content).ok();
536 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
537 Err(Error::ResponseError(local_var_error))
538 }
539}
540
541pub async fn create_image_variation(configuration: &configuration::Configuration, image: std::path::PathBuf, n: Option<i32>, size: Option<&str>, response_format: Option<&str>, user: Option<&str>) -> Result<crate::models::ImagesResponse, Error<CreateImageVariationError>> {
542 let local_var_configuration = configuration;
543
544 let local_var_client = &local_var_configuration.client;
545
546 let local_var_uri_str = format!("{}/images/variations", local_var_configuration.base_path);
547 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
548
549 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
550 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
551 }
552 let mut local_var_form = reqwest::multipart::Form::new();
553 if let Some(local_var_param_value) = n {
555 local_var_form = local_var_form.text("n", local_var_param_value.to_string());
556 }
557 if let Some(local_var_param_value) = size {
558 local_var_form = local_var_form.text("size", local_var_param_value.to_string());
559 }
560 if let Some(local_var_param_value) = response_format {
561 local_var_form = local_var_form.text("response_format", local_var_param_value.to_string());
562 }
563 if let Some(local_var_param_value) = user {
564 local_var_form = local_var_form.text("user", local_var_param_value.to_string());
565 }
566 local_var_req_builder = local_var_req_builder.multipart(local_var_form);
567
568 let local_var_req = local_var_req_builder.build()?;
569 let local_var_resp = local_var_client.execute(local_var_req).await?;
570
571 let local_var_status = local_var_resp.status();
572 let local_var_content = local_var_resp.text().await?;
573
574 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
575 serde_json::from_str(&local_var_content).map_err(Error::from)
576 } else {
577 let local_var_entity: Option<CreateImageVariationError> = serde_json::from_str(&local_var_content).ok();
578 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
579 Err(Error::ResponseError(local_var_error))
580 }
581}
582
583pub async fn create_moderation(configuration: &configuration::Configuration, create_moderation_request: crate::models::CreateModerationRequest) -> Result<crate::models::CreateModerationResponse, Error<CreateModerationError>> {
584 let local_var_configuration = configuration;
585
586 let local_var_client = &local_var_configuration.client;
587
588 let local_var_uri_str = format!("{}/moderations", local_var_configuration.base_path);
589 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
590
591 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
592 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
593 }
594 local_var_req_builder = local_var_req_builder.json(&create_moderation_request);
595
596 let local_var_req = local_var_req_builder.build()?;
597 let local_var_resp = local_var_client.execute(local_var_req).await?;
598
599 let local_var_status = local_var_resp.status();
600 let local_var_content = local_var_resp.text().await?;
601
602 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
603 serde_json::from_str(&local_var_content).map_err(Error::from)
604 } else {
605 let local_var_entity: Option<CreateModerationError> = serde_json::from_str(&local_var_content).ok();
606 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
607 Err(Error::ResponseError(local_var_error))
608 }
609}
610
611pub async fn create_search(configuration: &configuration::Configuration, engine_id: &str, create_search_request: crate::models::CreateSearchRequest) -> Result<crate::models::CreateSearchResponse, Error<CreateSearchError>> {
612 let local_var_configuration = configuration;
613
614 let local_var_client = &local_var_configuration.client;
615
616 let local_var_uri_str = format!("{}/engines/{engine_id}/search", local_var_configuration.base_path, engine_id=crate::apis::urlencode(engine_id));
617 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
618
619 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
620 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
621 }
622 local_var_req_builder = local_var_req_builder.json(&create_search_request);
623
624 let local_var_req = local_var_req_builder.build()?;
625 let local_var_resp = local_var_client.execute(local_var_req).await?;
626
627 let local_var_status = local_var_resp.status();
628 let local_var_content = local_var_resp.text().await?;
629
630 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
631 serde_json::from_str(&local_var_content).map_err(Error::from)
632 } else {
633 let local_var_entity: Option<CreateSearchError> = serde_json::from_str(&local_var_content).ok();
634 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
635 Err(Error::ResponseError(local_var_error))
636 }
637}
638
639pub async fn create_transcription(configuration: &configuration::Configuration, file: std::path::PathBuf, model: &str, prompt: Option<&str>, response_format: Option<&str>, temperature: Option<f32>, language: Option<&str>) -> Result<crate::models::CreateTranscriptionResponse, Error<CreateTranscriptionError>> {
640 let local_var_configuration = configuration;
641
642 let local_var_client = &local_var_configuration.client;
643
644 let local_var_uri_str = format!("{}/audio/transcriptions", local_var_configuration.base_path);
645 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
646
647 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
648 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
649 }
650 let mut local_var_form = reqwest::multipart::Form::new();
651 local_var_form = local_var_form.text("model", model.to_string());
653 if let Some(local_var_param_value) = prompt {
654 local_var_form = local_var_form.text("prompt", local_var_param_value.to_string());
655 }
656 if let Some(local_var_param_value) = response_format {
657 local_var_form = local_var_form.text("response_format", local_var_param_value.to_string());
658 }
659 if let Some(local_var_param_value) = temperature {
660 local_var_form = local_var_form.text("temperature", local_var_param_value.to_string());
661 }
662 if let Some(local_var_param_value) = language {
663 local_var_form = local_var_form.text("language", local_var_param_value.to_string());
664 }
665 local_var_req_builder = local_var_req_builder.multipart(local_var_form);
666
667 let local_var_req = local_var_req_builder.build()?;
668 let local_var_resp = local_var_client.execute(local_var_req).await?;
669
670 let local_var_status = local_var_resp.status();
671 let local_var_content = local_var_resp.text().await?;
672
673 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
674 serde_json::from_str(&local_var_content).map_err(Error::from)
675 } else {
676 let local_var_entity: Option<CreateTranscriptionError> = serde_json::from_str(&local_var_content).ok();
677 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
678 Err(Error::ResponseError(local_var_error))
679 }
680}
681
682pub async fn create_translation(configuration: &configuration::Configuration, file: std::path::PathBuf, model: &str, prompt: Option<&str>, response_format: Option<&str>, temperature: Option<f32>) -> Result<crate::models::CreateTranslationResponse, Error<CreateTranslationError>> {
683 let local_var_configuration = configuration;
684
685 let local_var_client = &local_var_configuration.client;
686
687 let local_var_uri_str = format!("{}/audio/translations", local_var_configuration.base_path);
688 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
689
690 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
691 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
692 }
693 let mut local_var_form = reqwest::multipart::Form::new();
694 local_var_form = local_var_form.text("model", model.to_string());
696 if let Some(local_var_param_value) = prompt {
697 local_var_form = local_var_form.text("prompt", local_var_param_value.to_string());
698 }
699 if let Some(local_var_param_value) = response_format {
700 local_var_form = local_var_form.text("response_format", local_var_param_value.to_string());
701 }
702 if let Some(local_var_param_value) = temperature {
703 local_var_form = local_var_form.text("temperature", local_var_param_value.to_string());
704 }
705 local_var_req_builder = local_var_req_builder.multipart(local_var_form);
706
707 let local_var_req = local_var_req_builder.build()?;
708 let local_var_resp = local_var_client.execute(local_var_req).await?;
709
710 let local_var_status = local_var_resp.status();
711 let local_var_content = local_var_resp.text().await?;
712
713 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
714 serde_json::from_str(&local_var_content).map_err(Error::from)
715 } else {
716 let local_var_entity: Option<CreateTranslationError> = serde_json::from_str(&local_var_content).ok();
717 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
718 Err(Error::ResponseError(local_var_error))
719 }
720}
721
722pub async fn delete_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::DeleteFileResponse, Error<DeleteFileError>> {
723 let local_var_configuration = configuration;
724
725 let local_var_client = &local_var_configuration.client;
726
727 let local_var_uri_str = format!("{}/files/{file_id}", local_var_configuration.base_path, file_id=crate::apis::urlencode(file_id));
728 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
729
730 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
731 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
732 }
733
734 let local_var_req = local_var_req_builder.build()?;
735 let local_var_resp = local_var_client.execute(local_var_req).await?;
736
737 let local_var_status = local_var_resp.status();
738 let local_var_content = local_var_resp.text().await?;
739
740 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
741 serde_json::from_str(&local_var_content).map_err(Error::from)
742 } else {
743 let local_var_entity: Option<DeleteFileError> = serde_json::from_str(&local_var_content).ok();
744 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
745 Err(Error::ResponseError(local_var_error))
746 }
747}
748
749pub async fn delete_model(configuration: &configuration::Configuration, model: &str) -> Result<crate::models::DeleteModelResponse, Error<DeleteModelError>> {
750 let local_var_configuration = configuration;
751
752 let local_var_client = &local_var_configuration.client;
753
754 let local_var_uri_str = format!("{}/models/{model}", local_var_configuration.base_path, model=crate::apis::urlencode(model));
755 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
756
757 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
758 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
759 }
760
761 let local_var_req = local_var_req_builder.build()?;
762 let local_var_resp = local_var_client.execute(local_var_req).await?;
763
764 let local_var_status = local_var_resp.status();
765 let local_var_content = local_var_resp.text().await?;
766
767 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
768 serde_json::from_str(&local_var_content).map_err(Error::from)
769 } else {
770 let local_var_entity: Option<DeleteModelError> = serde_json::from_str(&local_var_content).ok();
771 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
772 Err(Error::ResponseError(local_var_error))
773 }
774}
775
776pub async fn download_file(configuration: &configuration::Configuration, file_id: &str) -> Result<String, Error<DownloadFileError>> {
777 let local_var_configuration = configuration;
778
779 let local_var_client = &local_var_configuration.client;
780
781 let local_var_uri_str = format!("{}/files/{file_id}/content", local_var_configuration.base_path, file_id=crate::apis::urlencode(file_id));
782 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
783
784 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
785 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
786 }
787
788 let local_var_req = local_var_req_builder.build()?;
789 let local_var_resp = local_var_client.execute(local_var_req).await?;
790
791 let local_var_status = local_var_resp.status();
792 let local_var_content = local_var_resp.text().await?;
793
794 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
795 serde_json::from_str(&local_var_content).map_err(Error::from)
796 } else {
797 let local_var_entity: Option<DownloadFileError> = serde_json::from_str(&local_var_content).ok();
798 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
799 Err(Error::ResponseError(local_var_error))
800 }
801}
802
803pub async fn list_engines(configuration: &configuration::Configuration, ) -> Result<crate::models::ListEnginesResponse, Error<ListEnginesError>> {
804 let local_var_configuration = configuration;
805
806 let local_var_client = &local_var_configuration.client;
807
808 let local_var_uri_str = format!("{}/engines", local_var_configuration.base_path);
809 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
810
811 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
812 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
813 }
814
815 let local_var_req = local_var_req_builder.build()?;
816 let local_var_resp = local_var_client.execute(local_var_req).await?;
817
818 let local_var_status = local_var_resp.status();
819 let local_var_content = local_var_resp.text().await?;
820
821 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
822 serde_json::from_str(&local_var_content).map_err(Error::from)
823 } else {
824 let local_var_entity: Option<ListEnginesError> = serde_json::from_str(&local_var_content).ok();
825 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
826 Err(Error::ResponseError(local_var_error))
827 }
828}
829
830pub async fn list_files(configuration: &configuration::Configuration, ) -> Result<crate::models::ListFilesResponse, Error<ListFilesError>> {
831 let local_var_configuration = configuration;
832
833 let local_var_client = &local_var_configuration.client;
834
835 let local_var_uri_str = format!("{}/files", local_var_configuration.base_path);
836 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
837
838 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
839 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
840 }
841
842 let local_var_req = local_var_req_builder.build()?;
843 let local_var_resp = local_var_client.execute(local_var_req).await?;
844
845 let local_var_status = local_var_resp.status();
846 let local_var_content = local_var_resp.text().await?;
847
848 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
849 serde_json::from_str(&local_var_content).map_err(Error::from)
850 } else {
851 let local_var_entity: Option<ListFilesError> = serde_json::from_str(&local_var_content).ok();
852 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
853 Err(Error::ResponseError(local_var_error))
854 }
855}
856
857pub async fn list_fine_tune_events(configuration: &configuration::Configuration, fine_tune_id: &str, stream: Option<bool>) -> Result<crate::models::ListFineTuneEventsResponse, Error<ListFineTuneEventsError>> {
858 let local_var_configuration = configuration;
859
860 let local_var_client = &local_var_configuration.client;
861
862 let local_var_uri_str = format!("{}/fine-tunes/{fine_tune_id}/events", local_var_configuration.base_path, fine_tune_id=crate::apis::urlencode(fine_tune_id));
863 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
864
865 if let Some(ref local_var_str) = stream {
866 local_var_req_builder = local_var_req_builder.query(&[("stream", &local_var_str.to_string())]);
867 }
868 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
869 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
870 }
871
872 let local_var_req = local_var_req_builder.build()?;
873 let local_var_resp = local_var_client.execute(local_var_req).await?;
874
875 let local_var_status = local_var_resp.status();
876 let local_var_content = local_var_resp.text().await?;
877
878 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
879 serde_json::from_str(&local_var_content).map_err(Error::from)
880 } else {
881 let local_var_entity: Option<ListFineTuneEventsError> = serde_json::from_str(&local_var_content).ok();
882 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
883 Err(Error::ResponseError(local_var_error))
884 }
885}
886
887pub async fn list_fine_tunes(configuration: &configuration::Configuration, ) -> Result<crate::models::ListFineTunesResponse, Error<ListFineTunesError>> {
888 let local_var_configuration = configuration;
889
890 let local_var_client = &local_var_configuration.client;
891
892 let local_var_uri_str = format!("{}/fine-tunes", local_var_configuration.base_path);
893 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
894
895 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
896 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
897 }
898
899 let local_var_req = local_var_req_builder.build()?;
900 let local_var_resp = local_var_client.execute(local_var_req).await?;
901
902 let local_var_status = local_var_resp.status();
903 let local_var_content = local_var_resp.text().await?;
904
905 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
906 serde_json::from_str(&local_var_content).map_err(Error::from)
907 } else {
908 let local_var_entity: Option<ListFineTunesError> = serde_json::from_str(&local_var_content).ok();
909 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
910 Err(Error::ResponseError(local_var_error))
911 }
912}
913
914pub async fn list_models(configuration: &configuration::Configuration, ) -> Result<crate::models::ListModelsResponse, Error<ListModelsError>> {
915 let local_var_configuration = configuration;
916
917 let local_var_client = &local_var_configuration.client;
918
919 let local_var_uri_str = format!("{}/models", local_var_configuration.base_path);
920 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
921
922 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
923 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
924 }
925
926 let local_var_req = local_var_req_builder.build()?;
927 let local_var_resp = local_var_client.execute(local_var_req).await?;
928
929 let local_var_status = local_var_resp.status();
930 let local_var_content = local_var_resp.text().await?;
931
932 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
933 serde_json::from_str(&local_var_content).map_err(Error::from)
934 } else {
935 let local_var_entity: Option<ListModelsError> = serde_json::from_str(&local_var_content).ok();
936 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
937 Err(Error::ResponseError(local_var_error))
938 }
939}
940
941pub async fn retrieve_engine(configuration: &configuration::Configuration, engine_id: &str) -> Result<crate::models::Engine, Error<RetrieveEngineError>> {
942 let local_var_configuration = configuration;
943
944 let local_var_client = &local_var_configuration.client;
945
946 let local_var_uri_str = format!("{}/engines/{engine_id}", local_var_configuration.base_path, engine_id=crate::apis::urlencode(engine_id));
947 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
948
949 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
950 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
951 }
952
953 let local_var_req = local_var_req_builder.build()?;
954 let local_var_resp = local_var_client.execute(local_var_req).await?;
955
956 let local_var_status = local_var_resp.status();
957 let local_var_content = local_var_resp.text().await?;
958
959 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
960 serde_json::from_str(&local_var_content).map_err(Error::from)
961 } else {
962 let local_var_entity: Option<RetrieveEngineError> = serde_json::from_str(&local_var_content).ok();
963 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
964 Err(Error::ResponseError(local_var_error))
965 }
966}
967
968pub async fn retrieve_file(configuration: &configuration::Configuration, file_id: &str) -> Result<crate::models::OpenAiFile, Error<RetrieveFileError>> {
969 let local_var_configuration = configuration;
970
971 let local_var_client = &local_var_configuration.client;
972
973 let local_var_uri_str = format!("{}/files/{file_id}", local_var_configuration.base_path, file_id=crate::apis::urlencode(file_id));
974 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
975
976 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
977 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
978 }
979
980 let local_var_req = local_var_req_builder.build()?;
981 let local_var_resp = local_var_client.execute(local_var_req).await?;
982
983 let local_var_status = local_var_resp.status();
984 let local_var_content = local_var_resp.text().await?;
985
986 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
987 serde_json::from_str(&local_var_content).map_err(Error::from)
988 } else {
989 let local_var_entity: Option<RetrieveFileError> = serde_json::from_str(&local_var_content).ok();
990 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
991 Err(Error::ResponseError(local_var_error))
992 }
993}
994
995pub async fn retrieve_fine_tune(configuration: &configuration::Configuration, fine_tune_id: &str) -> Result<crate::models::FineTune, Error<RetrieveFineTuneError>> {
996 let local_var_configuration = configuration;
997
998 let local_var_client = &local_var_configuration.client;
999
1000 let local_var_uri_str = format!("{}/fine-tunes/{fine_tune_id}", local_var_configuration.base_path, fine_tune_id=crate::apis::urlencode(fine_tune_id));
1001 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1002
1003 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1004 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1005 }
1006
1007 let local_var_req = local_var_req_builder.build()?;
1008 let local_var_resp = local_var_client.execute(local_var_req).await?;
1009
1010 let local_var_status = local_var_resp.status();
1011 let local_var_content = local_var_resp.text().await?;
1012
1013 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1014 serde_json::from_str(&local_var_content).map_err(Error::from)
1015 } else {
1016 let local_var_entity: Option<RetrieveFineTuneError> = serde_json::from_str(&local_var_content).ok();
1017 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1018 Err(Error::ResponseError(local_var_error))
1019 }
1020}
1021
1022pub async fn retrieve_model(configuration: &configuration::Configuration, model: &str) -> Result<crate::models::Model, Error<RetrieveModelError>> {
1023 let local_var_configuration = configuration;
1024
1025 let local_var_client = &local_var_configuration.client;
1026
1027 let local_var_uri_str = format!("{}/models/{model}", local_var_configuration.base_path, model=crate::apis::urlencode(model));
1028 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1029
1030 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1031 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1032 }
1033
1034 let local_var_req = local_var_req_builder.build()?;
1035 let local_var_resp = local_var_client.execute(local_var_req).await?;
1036
1037 let local_var_status = local_var_resp.status();
1038 let local_var_content = local_var_resp.text().await?;
1039
1040 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1041 serde_json::from_str(&local_var_content).map_err(Error::from)
1042 } else {
1043 let local_var_entity: Option<RetrieveModelError> = serde_json::from_str(&local_var_content).ok();
1044 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1045 Err(Error::ResponseError(local_var_error))
1046 }
1047}
1048