openai_gpt_client/
model_variants.rs

1#[derive(
2    Default,
3    Debug,
4    Copy,
5    Clone,
6    serde::Deserialize,
7    serde::Serialize,
8    Ord,
9    PartialOrd,
10    Eq,
11    PartialEq,
12    Hash,
13)]
14pub enum ModelId {
15    #[serde(rename = "ada")]
16    Ada,
17    #[serde(rename = "ada-code-search-code")]
18    AdaCodeSearchCode,
19    #[serde(rename = "ada-code-search-text")]
20    AdaCodeSearchText,
21    #[serde(rename = "ada-search-document")]
22    AdaSearchDocument,
23    #[serde(rename = "ada-search-query")]
24    AdaSearchQuery,
25    #[serde(rename = "ada-similarity")]
26    AdaSimilarity,
27    #[serde(rename = "ada:2020-05-03")]
28    AdaColon20200503,
29    #[serde(rename = "audio-transcribe-deprecated")]
30    AudioTranscribeDeprecated,
31    #[serde(rename = "babbage")]
32    Babbage,
33    #[serde(rename = "babbage-code-search-code")]
34    BabbageCodeSearchCode,
35    #[serde(rename = "babbage-code-search-text")]
36    BabbageCodeSearchText,
37    #[serde(rename = "babbage-search-document")]
38    BabbageSearchDocument,
39    #[serde(rename = "babbage-search-query")]
40    BabbageSearchQuery,
41    #[serde(rename = "babbage-similarity")]
42    BabbageSimilarity,
43    #[serde(rename = "babbage:2020-05-03")]
44    BabbageColon20200503,
45    #[serde(rename = "code-cushman-001")]
46    CodeCushman001,
47    #[serde(rename = "code-davinci-002")]
48    CodeDavinci002,
49    #[serde(rename = "code-davinci-edit-001")]
50    CodeDavinciEdit001,
51    #[serde(rename = "code-search-ada-code-001")]
52    CodeSearchAdaCode001,
53    #[serde(rename = "code-search-ada-text-001")]
54    CodeSearchAdaText001,
55    #[serde(rename = "code-search-babbage-code-001")]
56    CodeSearchBabbageCode001,
57    #[serde(rename = "code-search-babbage-text-001")]
58    CodeSearchBabbageText001,
59    #[serde(rename = "curie")]
60    Curie,
61    #[serde(rename = "curie-instruct-beta")]
62    CurieInstructBeta,
63    #[serde(rename = "curie-search-document")]
64    CurieSearchDocument,
65    #[serde(rename = "curie-search-query")]
66    CurieSearchQuery,
67    #[serde(rename = "curie-similarity")]
68    CurieSimilarity,
69    #[serde(rename = "curie:2020-05-03")]
70    CurieColon20200503,
71    #[serde(rename = "cushman:2020-05-03")]
72    CushmanColon20200503,
73    #[serde(rename = "davinci")]
74    Davinci,
75    #[serde(rename = "davinci-if:3.0.0")]
76    DavinciIfColon3Period0Period0,
77    #[serde(rename = "davinci-instruct-beta")]
78    DavinciInstructBeta,
79    #[serde(rename = "davinci-instruct-beta:2.0.0")]
80    DavinciInstructBetaColon2Period0Period0,
81    #[serde(rename = "davinci-search-document")]
82    DavinciSearchDocument,
83    #[serde(rename = "davinci-search-query")]
84    DavinciSearchQuery,
85    #[serde(rename = "davinci-similarity")]
86    DavinciSimilarity,
87    #[serde(rename = "davinci:2020-05-03")]
88    DavinciColon20200503,
89    #[default]
90    #[serde(rename = "gpt-3.5-turbo")]
91    Gpt3Period5Turbo,
92    #[serde(rename = "gpt-3.5-turbo-0301")]
93    Gpt3Period5Turbo0301,
94    #[serde(rename = "if-curie-v2")]
95    IfCurieV2,
96    #[serde(rename = "if-davinci-v2")]
97    IfDavinciV2,
98    #[serde(rename = "if-davinci:3.0.0")]
99    IfDavinciColon3Period0Period0,
100    #[serde(rename = "text-ada-001")]
101    TextAda001,
102    #[serde(rename = "text-ada:001")]
103    TextAdaColon001,
104    #[serde(rename = "text-babbage-001")]
105    TextBabbage001,
106    #[serde(rename = "text-babbage:001")]
107    TextBabbageColon001,
108    #[serde(rename = "text-curie-001")]
109    TextCurie001,
110    #[serde(rename = "text-curie:001")]
111    TextCurieColon001,
112    #[serde(rename = "text-davinci-001")]
113    TextDavinci001,
114    #[serde(rename = "text-davinci-002")]
115    TextDavinci002,
116    #[serde(rename = "text-davinci-003")]
117    TextDavinci003,
118    #[serde(rename = "text-davinci-edit-001")]
119    TextDavinciEdit001,
120    #[serde(rename = "text-davinci-insert-001")]
121    TextDavinciInsert001,
122    #[serde(rename = "text-davinci-insert-002")]
123    TextDavinciInsert002,
124    #[serde(rename = "text-davinci:001")]
125    TextDavinciColon001,
126    #[serde(rename = "text-embedding-ada-002")]
127    TextEmbeddingAda002,
128    #[serde(rename = "text-search-ada-doc-001")]
129    TextSearchAdaDoc001,
130    #[serde(rename = "text-search-ada-query-001")]
131    TextSearchAdaQuery001,
132    #[serde(rename = "text-search-babbage-doc-001")]
133    TextSearchBabbageDoc001,
134    #[serde(rename = "text-search-babbage-query-001")]
135    TextSearchBabbageQuery001,
136    #[serde(rename = "text-search-curie-doc-001")]
137    TextSearchCurieDoc001,
138    #[serde(rename = "text-search-curie-query-001")]
139    TextSearchCurieQuery001,
140    #[serde(rename = "text-search-davinci-doc-001")]
141    TextSearchDavinciDoc001,
142    #[serde(rename = "text-search-davinci-query-001")]
143    TextSearchDavinciQuery001,
144    #[serde(rename = "text-similarity-ada-001")]
145    TextSimilarityAda001,
146    #[serde(rename = "text-similarity-babbage-001")]
147    TextSimilarityBabbage001,
148    #[serde(rename = "text-similarity-curie-001")]
149    TextSimilarityCurie001,
150    #[serde(rename = "text-similarity-davinci-001")]
151    TextSimilarityDavinci001,
152    #[serde(rename = "whisper-1")]
153    Whisper1,
154}
155
156impl core::fmt::Display for ModelId {
157    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> std::fmt::Result {
158        let s = match self {
159            ModelId::Ada => "ada",
160            ModelId::AdaCodeSearchCode => "ada-code-search-code",
161            ModelId::AdaCodeSearchText => "ada-code-search-text",
162            ModelId::AdaSearchDocument => "ada-search-document",
163            ModelId::AdaSearchQuery => "ada-search-query",
164            ModelId::AdaSimilarity => "ada-similarity",
165            ModelId::AdaColon20200503 => "ada:2020-05-03",
166            ModelId::AudioTranscribeDeprecated => "audio-transcribe-deprecated",
167            ModelId::Babbage => "babbage",
168            ModelId::BabbageCodeSearchCode => "babbage-code-search-code",
169            ModelId::BabbageCodeSearchText => "babbage-code-search-text",
170            ModelId::BabbageSearchDocument => "babbage-search-document",
171            ModelId::BabbageSearchQuery => "babbage-search-query",
172            ModelId::BabbageSimilarity => "babbage-similarity",
173            ModelId::BabbageColon20200503 => "babbage:2020-05-03",
174            ModelId::CodeCushman001 => "code-cushman-001",
175            ModelId::CodeDavinci002 => "code-davinci-002",
176            ModelId::CodeDavinciEdit001 => "code-davinci-edit-001",
177            ModelId::CodeSearchAdaCode001 => "code-search-ada-code-001",
178            ModelId::CodeSearchAdaText001 => "code-search-ada-text-001",
179            ModelId::CodeSearchBabbageCode001 => "code-search-babbage-code-001",
180            ModelId::CodeSearchBabbageText001 => "code-search-babbage-text-001",
181            ModelId::Curie => "curie",
182            ModelId::CurieInstructBeta => "curie-instruct-beta",
183            ModelId::CurieSearchDocument => "curie-search-document",
184            ModelId::CurieSearchQuery => "curie-search-query",
185            ModelId::CurieSimilarity => "curie-similarity",
186            ModelId::CurieColon20200503 => "curie:2020-05-03",
187            ModelId::CushmanColon20200503 => "cushman:2020-05-03",
188            ModelId::Davinci => "davinci",
189            ModelId::DavinciIfColon3Period0Period0 => "davinci-if:3.0.0",
190            ModelId::DavinciInstructBeta => "davinci-instruct-beta",
191            ModelId::DavinciInstructBetaColon2Period0Period0 => "davinci-instruct-beta:2.0.0",
192            ModelId::DavinciSearchDocument => "davinci-search-document",
193            ModelId::DavinciSearchQuery => "davinci-search-query",
194            ModelId::DavinciSimilarity => "davinci-similarity",
195            ModelId::DavinciColon20200503 => "davinci:2020-05-03",
196            ModelId::Gpt3Period5Turbo => "gpt-3.5-turbo",
197            ModelId::Gpt3Period5Turbo0301 => "gpt-3.5-turbo-0301",
198            ModelId::IfCurieV2 => "if-curie-v2",
199            ModelId::IfDavinciV2 => "if-davinci-v2",
200            ModelId::IfDavinciColon3Period0Period0 => "if-davinci:3.0.0",
201            ModelId::TextAda001 => "text-ada-001",
202            ModelId::TextAdaColon001 => "text-ada:001",
203            ModelId::TextBabbage001 => "text-babbage-001",
204            ModelId::TextBabbageColon001 => "text-babbage:001",
205            ModelId::TextCurie001 => "text-curie-001",
206            ModelId::TextCurieColon001 => "text-curie:001",
207            ModelId::TextDavinci001 => "text-davinci-001",
208            ModelId::TextDavinci002 => "text-davinci-002",
209            ModelId::TextDavinci003 => "text-davinci-003",
210            ModelId::TextDavinciEdit001 => "text-davinci-edit-001",
211            ModelId::TextDavinciInsert001 => "text-davinci-insert-001",
212            ModelId::TextDavinciInsert002 => "text-davinci-insert-002",
213            ModelId::TextDavinciColon001 => "text-davinci:001",
214            ModelId::TextEmbeddingAda002 => "text-embedding-ada-002",
215            ModelId::TextSearchAdaDoc001 => "text-search-ada-doc-001",
216            ModelId::TextSearchAdaQuery001 => "text-search-ada-query-001",
217            ModelId::TextSearchBabbageDoc001 => "text-search-babbage-doc-001",
218            ModelId::TextSearchBabbageQuery001 => "text-search-babbage-query-001",
219            ModelId::TextSearchCurieDoc001 => "text-search-curie-doc-001",
220            ModelId::TextSearchCurieQuery001 => "text-search-curie-query-001",
221            ModelId::TextSearchDavinciDoc001 => "text-search-davinci-doc-001",
222            ModelId::TextSearchDavinciQuery001 => "text-search-davinci-query-001",
223            ModelId::TextSimilarityAda001 => "text-similarity-ada-001",
224            ModelId::TextSimilarityBabbage001 => "text-similarity-babbage-001",
225            ModelId::TextSimilarityCurie001 => "text-similarity-curie-001",
226            ModelId::TextSimilarityDavinci001 => "text-similarity-davinci-001",
227            ModelId::Whisper1 => "whisper-1",
228        };
229        write!(f, "{s}")
230    }
231}