openai_struct/models/
assistant_supported_models.rs

1/*
2 * OpenAI API
3 *
4 * The OpenAI REST API. Please see pub https://platform.openai.com/docs/api-reference for more details.
5 *
6 * OpenAPI spec pub version: 2.3.0
7 *
8 * Generated pub by: https://github.com/swagger-api/swagger-codegen.git
9 */
10
11#[allow(unused_imports)]
12use serde_json::Value;
13
14/// # on openapi.yaml
15///
16/// ```yaml
17/// AssistantSupportedModels:
18///   type: string
19///   enum:
20///     - gpt-4.1
21///     - gpt-4.1-mini
22///     - gpt-4.1-nano
23///     - gpt-4.1-2025-04-14
24///     - gpt-4.1-mini-2025-04-14
25///     - gpt-4.1-nano-2025-04-14
26///     - o3-mini
27///     - o3-mini-2025-01-31
28///     - o1
29///     - o1-2024-12-17
30///     - gpt-4o
31///     - gpt-4o-2024-11-20
32///     - gpt-4o-2024-08-06
33///     - gpt-4o-2024-05-13
34///     - gpt-4o-mini
35///     - gpt-4o-mini-2024-07-18
36///     - gpt-4.5-preview
37///     - gpt-4.5-preview-2025-02-27
38///     - gpt-4-turbo
39///     - gpt-4-turbo-2024-04-09
40///     - gpt-4-0125-preview
41///     - gpt-4-turbo-preview
42///     - gpt-4-1106-preview
43///     - gpt-4-vision-preview
44///     - gpt-4
45///     - gpt-4-0314
46///     - gpt-4-0613
47///     - gpt-4-32k
48///     - gpt-4-32k-0314
49///     - gpt-4-32k-0613
50///     - gpt-3.5-turbo
51///     - gpt-3.5-turbo-16k
52///     - gpt-3.5-turbo-0613
53///     - gpt-3.5-turbo-1106
54///     - gpt-3.5-turbo-0125
55///     - gpt-3.5-turbo-16k-0613
56/// ```
57#[derive(Debug, Clone, Serialize, Deserialize)]
58#[serde(rename_all = "kebab-case")]
59pub enum AssistantSupportedModels {
60    #[serde(rename = "gpt-4.1")]
61    Gpt4_1,
62    #[serde(rename = "gpt-4.1-mini")]
63    Gpt4_1Mini,
64    #[serde(rename = "gpt-4.1-nano")]
65    Gpt4_1Nano,
66    #[serde(rename = "gpt-4.1-2025-04-14")]
67    Gpt4_120250414,
68    #[serde(rename = "gpt-4.1-mini-2025-04-14")]
69    Gpt4_1Mini20250414,
70    #[serde(rename = "gpt-4.1-nano-2025-04-14")]
71    Gpt4_1Nano20250414,
72    #[serde(rename = "o3-mini")]
73    O3Mini,
74    #[serde(rename = "o3-mini-2025-01-31")]
75    O3Mini20250131,
76    #[serde(rename = "o1")]
77    O1,
78    #[serde(rename = "o1-2024-12-17")]
79    O120241217,
80    #[serde(rename = "gpt-4o")]
81    Gpt4o,
82    #[serde(rename = "gpt-4o-2024-11-20")]
83    Gpt4o20241120,
84    #[serde(rename = "gpt-4o-2024-08-06")]
85    Gpt4o20240806,
86    #[serde(rename = "gpt-4o-2024-05-13")]
87    Gpt4o20240513,
88    #[serde(rename = "gpt-4o-mini")]
89    Gpt4oMini,
90    #[serde(rename = "gpt-4o-mini-2024-07-18")]
91    Gpt4oMini20240718,
92    #[serde(rename = "gpt-4.5-preview")]
93    Gpt4_5Preview,
94    #[serde(rename = "gpt-4.5-preview-2025-02-27")]
95    Gpt4_5Preview20250227,
96    #[serde(rename = "gpt-4-turbo")]
97    Gpt4Turbo,
98    #[serde(rename = "gpt-4-turbo-2024-04-09")]
99    Gpt4Turbo20240409,
100    #[serde(rename = "gpt-4-0125-preview")]
101    Gpt40125Preview,
102    #[serde(rename = "gpt-4-turbo-preview")]
103    Gpt4TurboPreview,
104    #[serde(rename = "gpt-4-1106-preview")]
105    Gpt41106Preview,
106    #[serde(rename = "gpt-4-vision-preview")]
107    Gpt4VisionPreview,
108    #[serde(rename = "gpt-4")]
109    Gpt4,
110    #[serde(rename = "gpt-4-0314")]
111    Gpt40314,
112    #[serde(rename = "gpt-4-0613")]
113    Gpt40613,
114    #[serde(rename = "gpt-4-32k")]
115    Gpt432k,
116    #[serde(rename = "gpt-4-32k-0314")]
117    Gpt432k0314,
118    #[serde(rename = "gpt-4-32k-0613")]
119    Gpt432k0613,
120    #[serde(rename = "gpt-3.5-turbo")]
121    Gpt3_5Turbo,
122    #[serde(rename = "gpt-3.5-turbo-16k")]
123    Gpt3_5Turbo16k,
124    #[serde(rename = "gpt-3.5-turbo-0613")]
125    Gpt3_5Turbo0613,
126    #[serde(rename = "gpt-3.5-turbo-1106")]
127    Gpt3_5Turbo1106,
128    #[serde(rename = "gpt-3.5-turbo-0125")]
129    Gpt3_5Turbo0125,
130    #[serde(rename = "gpt-3.5-turbo-16k-0613")]
131    Gpt3_5Turbo16k0613,
132}
133
134#[test]
135fn test_serialize() {
136    assert_eq!(
137        serde_json::to_string(&AssistantSupportedModels::Gpt4_1Mini).unwrap(),
138        r#""gpt-4.1-mini""#
139    );
140}