openai_types/file/
_gen.rs1#![allow(unused_imports)]
5
6use serde::{Deserialize, Serialize};
7use super::*;
8
9pub type FileChunkingStrategy = serde_json::Value;
10
11pub type FileContent = String;
12
13#[derive(Debug, Clone, Serialize, Deserialize)]
14#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
15pub struct FileCreateParams {
16 pub file: serde_json::Value,
18 pub purpose: FilePurpose,
20 #[serde(skip_serializing_if = "Option::is_none", default)]
22 pub expires_after: Option<ExpiresAfter>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
28pub struct ExpiresAfter {
29 pub anchor: String,
31 pub seconds: i64,
33}
34
35#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
36#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
37#[non_exhaustive]
38pub enum FileListParamsOrder {
39 #[serde(rename = "asc")]
40 Asc,
41 #[serde(rename = "desc")]
42 Desc,
43}
44
45#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
46#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
47#[non_exhaustive]
48pub enum FileObjectPurpose {
49 #[serde(rename = "assistants")]
50 Assistants,
51 #[serde(rename = "assistants_output")]
52 AssistantsOutput,
53 #[serde(rename = "batch")]
54 Batch,
55 #[serde(rename = "batch_output")]
56 BatchOutput,
57 #[serde(rename = "fine-tune")]
58 FineTune,
59 #[serde(rename = "fine-tune-results")]
60 FineTuneResults,
61 #[serde(rename = "vision")]
62 Vision,
63 #[serde(rename = "user_data")]
64 UserData,
65}
66
67#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
68#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
69#[non_exhaustive]
70pub enum FileObjectStatus {
71 #[serde(rename = "uploaded")]
72 Uploaded,
73 #[serde(rename = "processed")]
74 Processed,
75 #[serde(rename = "error")]
76 Error,
77}
78
79#[derive(Debug, Clone, Serialize, Deserialize)]
81#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
82pub struct OtherFileChunkingStrategyObject {
83 #[serde(rename = "type")]
85 pub type_: String,
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
89#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
90pub struct StaticFileChunkingStrategy {
91 pub chunk_overlap_tokens: i64,
93 pub max_chunk_size_tokens: i64,
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
98#[cfg_attr(feature = "structured", derive(schemars::JsonSchema))]
99pub struct StaticFileChunkingStrategyObject {
100 #[serde(rename = "static")]
101 pub static_: StaticFileChunkingStrategy,
102 #[serde(rename = "type")]
104 pub type_: String,
105}