@@ -18,140 +18,151 @@ const (
1818
1919var AzureModels = map[ModelID]Model{
2020 AzureGPT41: {
21− ID: AzureGPT41,
22− Name: "Azure OpenAI – GPT 4.1",
23− Provider: ProviderAzure,
24− APIModel: "gpt-4.1",
25− CostPer1MIn: OpenAIModels[GPT41].CostPer1MIn,
26− CostPer1MInCached: OpenAIModels[GPT41].CostPer1MInCached,
27− CostPer1MOut: OpenAIModels[GPT41].CostPer1MOut,
28− CostPer1MOutCached: OpenAIModels[GPT41].CostPer1MOutCached,
29− ContextWindow: OpenAIModels[GPT41].ContextWindow,
30− DefaultMaxTokens: OpenAIModels[GPT41].DefaultMaxTokens,
21+ ID: AzureGPT41,
22+ Name: "Azure OpenAI – GPT 4.1",
23+ Provider: ProviderAzure,
24+ APIModel: "gpt-4.1",
25+ CostPer1MIn: OpenAIModels[GPT41].CostPer1MIn,
26+ CostPer1MInCached: OpenAIModels[GPT41].CostPer1MInCached,
27+ CostPer1MOut: OpenAIModels[GPT41].CostPer1MOut,
28+ CostPer1MOutCached: OpenAIModels[GPT41].CostPer1MOutCached,
29+ ContextWindow: OpenAIModels[GPT41].ContextWindow,
30+ DefaultMaxTokens: OpenAIModels[GPT41].DefaultMaxTokens,
31+ SupportsAttachments: true,
3132 },
3233 AzureGPT41Mini: {
33− ID: AzureGPT41Mini,
34− Name: "Azure OpenAI – GPT 4.1 mini",
35− Provider: ProviderAzure,
36− APIModel: "gpt-4.1-mini",
37− CostPer1MIn: OpenAIModels[GPT41Mini].CostPer1MIn,
38− CostPer1MInCached: OpenAIModels[GPT41Mini].CostPer1MInCached,
39− CostPer1MOut: OpenAIModels[GPT41Mini].CostPer1MOut,
40− CostPer1MOutCached: OpenAIModels[GPT41Mini].CostPer1MOutCached,
41− ContextWindow: OpenAIModels[GPT41Mini].ContextWindow,
42− DefaultMaxTokens: OpenAIModels[GPT41Mini].DefaultMaxTokens,
34+ ID: AzureGPT41Mini,
35+ Name: "Azure OpenAI – GPT 4.1 mini",
36+ Provider: ProviderAzure,
37+ APIModel: "gpt-4.1-mini",
38+ CostPer1MIn: OpenAIModels[GPT41Mini].CostPer1MIn,
39+ CostPer1MInCached: OpenAIModels[GPT41Mini].CostPer1MInCached,
40+ CostPer1MOut: OpenAIModels[GPT41Mini].CostPer1MOut,
41+ CostPer1MOutCached: OpenAIModels[GPT41Mini].CostPer1MOutCached,
42+ ContextWindow: OpenAIModels[GPT41Mini].ContextWindow,
43+ DefaultMaxTokens: OpenAIModels[GPT41Mini].DefaultMaxTokens,
44+ SupportsAttachments: true,
4345 },
4446 AzureGPT41Nano: {
45− ID: AzureGPT41Nano,
46− Name: "Azure OpenAI – GPT 4.1 nano",
47− Provider: ProviderAzure,
48− APIModel: "gpt-4.1-nano",
49− CostPer1MIn: OpenAIModels[GPT41Nano].CostPer1MIn,
50− CostPer1MInCached: OpenAIModels[GPT41Nano].CostPer1MInCached,
51− CostPer1MOut: OpenAIModels[GPT41Nano].CostPer1MOut,
52− CostPer1MOutCached: OpenAIModels[GPT41Nano].CostPer1MOutCached,
53− ContextWindow: OpenAIModels[GPT41Nano].ContextWindow,
54− DefaultMaxTokens: OpenAIModels[GPT41Nano].DefaultMaxTokens,
47+ ID: AzureGPT41Nano,
48+ Name: "Azure OpenAI – GPT 4.1 nano",
49+ Provider: ProviderAzure,
50+ APIModel: "gpt-4.1-nano",
51+ CostPer1MIn: OpenAIModels[GPT41Nano].CostPer1MIn,
52+ CostPer1MInCached: OpenAIModels[GPT41Nano].CostPer1MInCached,
53+ CostPer1MOut: OpenAIModels[GPT41Nano].CostPer1MOut,
54+ CostPer1MOutCached: OpenAIModels[GPT41Nano].CostPer1MOutCached,
55+ ContextWindow: OpenAIModels[GPT41Nano].ContextWindow,
56+ DefaultMaxTokens: OpenAIModels[GPT41Nano].DefaultMaxTokens,
57+ SupportsAttachments: true,
5558 },
5659 AzureGPT45Preview: {
57− ID: AzureGPT45Preview,
58− Name: "Azure OpenAI – GPT 4.5 preview",
59− Provider: ProviderAzure,
60− APIModel: "gpt-4.5-preview",
61− CostPer1MIn: OpenAIModels[GPT45Preview].CostPer1MIn,
62− CostPer1MInCached: OpenAIModels[GPT45Preview].CostPer1MInCached,
63− CostPer1MOut: OpenAIModels[GPT45Preview].CostPer1MOut,
64− CostPer1MOutCached: OpenAIModels[GPT45Preview].CostPer1MOutCached,
65− ContextWindow: OpenAIModels[GPT45Preview].ContextWindow,
66− DefaultMaxTokens: OpenAIModels[GPT45Preview].DefaultMaxTokens,
60+ ID: AzureGPT45Preview,
61+ Name: "Azure OpenAI – GPT 4.5 preview",
62+ Provider: ProviderAzure,
63+ APIModel: "gpt-4.5-preview",
64+ CostPer1MIn: OpenAIModels[GPT45Preview].CostPer1MIn,
65+ CostPer1MInCached: OpenAIModels[GPT45Preview].CostPer1MInCached,
66+ CostPer1MOut: OpenAIModels[GPT45Preview].CostPer1MOut,
67+ CostPer1MOutCached: OpenAIModels[GPT45Preview].CostPer1MOutCached,
68+ ContextWindow: OpenAIModels[GPT45Preview].ContextWindow,
69+ DefaultMaxTokens: OpenAIModels[GPT45Preview].DefaultMaxTokens,
70+ SupportsAttachments: true,
6771 },
6872 AzureGPT4o: {
69− ID: AzureGPT4o,
70− Name: "Azure OpenAI – GPT-4o",
71− Provider: ProviderAzure,
72− APIModel: "gpt-4o",
73− CostPer1MIn: OpenAIModels[GPT4o].CostPer1MIn,
74− CostPer1MInCached: OpenAIModels[GPT4o].CostPer1MInCached,
75− CostPer1MOut: OpenAIModels[GPT4o].CostPer1MOut,
76− CostPer1MOutCached: OpenAIModels[GPT4o].CostPer1MOutCached,
77− ContextWindow: OpenAIModels[GPT4o].ContextWindow,
78− DefaultMaxTokens: OpenAIModels[GPT4o].DefaultMaxTokens,
73+ ID: AzureGPT4o,
74+ Name: "Azure OpenAI – GPT-4o",
75+ Provider: ProviderAzure,
76+ APIModel: "gpt-4o",
77+ CostPer1MIn: OpenAIModels[GPT4o].CostPer1MIn,
78+ CostPer1MInCached: OpenAIModels[GPT4o].CostPer1MInCached,
79+ CostPer1MOut: OpenAIModels[GPT4o].CostPer1MOut,
80+ CostPer1MOutCached: OpenAIModels[GPT4o].CostPer1MOutCached,
81+ ContextWindow: OpenAIModels[GPT4o].ContextWindow,
82+ DefaultMaxTokens: OpenAIModels[GPT4o].DefaultMaxTokens,
83+ SupportsAttachments: true,
7984 },
8085 AzureGPT4oMini: {
81− ID: AzureGPT4oMini,
82− Name: "Azure OpenAI – GPT-4o mini",
83− Provider: ProviderAzure,
84− APIModel: "gpt-4o-mini",
85− CostPer1MIn: OpenAIModels[GPT4oMini].CostPer1MIn,
86− CostPer1MInCached: OpenAIModels[GPT4oMini].CostPer1MInCached,
87− CostPer1MOut: OpenAIModels[GPT4oMini].CostPer1MOut,
88− CostPer1MOutCached: OpenAIModels[GPT4oMini].CostPer1MOutCached,
89− ContextWindow: OpenAIModels[GPT4oMini].ContextWindow,
90− DefaultMaxTokens: OpenAIModels[GPT4oMini].DefaultMaxTokens,
86+ ID: AzureGPT4oMini,
87+ Name: "Azure OpenAI – GPT-4o mini",
88+ Provider: ProviderAzure,
89+ APIModel: "gpt-4o-mini",
90+ CostPer1MIn: OpenAIModels[GPT4oMini].CostPer1MIn,
91+ CostPer1MInCached: OpenAIModels[GPT4oMini].CostPer1MInCached,
92+ CostPer1MOut: OpenAIModels[GPT4oMini].CostPer1MOut,
93+ CostPer1MOutCached: OpenAIModels[GPT4oMini].CostPer1MOutCached,
94+ ContextWindow: OpenAIModels[GPT4oMini].ContextWindow,
95+ DefaultMaxTokens: OpenAIModels[GPT4oMini].DefaultMaxTokens,
96+ SupportsAttachments: true,
9197 },
9298 AzureO1: {
93− ID: AzureO1,
94− Name: "Azure OpenAI – O1",
95− Provider: ProviderAzure,
96− APIModel: "o1",
97− CostPer1MIn: OpenAIModels[O1].CostPer1MIn,
98− CostPer1MInCached: OpenAIModels[O1].CostPer1MInCached,
99− CostPer1MOut: OpenAIModels[O1].CostPer1MOut,
100− CostPer1MOutCached: OpenAIModels[O1].CostPer1MOutCached,
101− ContextWindow: OpenAIModels[O1].ContextWindow,
102− DefaultMaxTokens: OpenAIModels[O1].DefaultMaxTokens,
103− CanReason: OpenAIModels[O1].CanReason,
99+ ID: AzureO1,
100+ Name: "Azure OpenAI – O1",
101+ Provider: ProviderAzure,
102+ APIModel: "o1",
103+ CostPer1MIn: OpenAIModels[O1].CostPer1MIn,
104+ CostPer1MInCached: OpenAIModels[O1].CostPer1MInCached,
105+ CostPer1MOut: OpenAIModels[O1].CostPer1MOut,
106+ CostPer1MOutCached: OpenAIModels[O1].CostPer1MOutCached,
107+ ContextWindow: OpenAIModels[O1].ContextWindow,
108+ DefaultMaxTokens: OpenAIModels[O1].DefaultMaxTokens,
109+ CanReason: OpenAIModels[O1].CanReason,
110+ SupportsAttachments: true,
104111 },
105112 AzureO1Mini: {
106− ID: AzureO1Mini,
107− Name: "Azure OpenAI – O1 mini",
108− Provider: ProviderAzure,
109− APIModel: "o1-mini",
110− CostPer1MIn: OpenAIModels[O1Mini].CostPer1MIn,
111− CostPer1MInCached: OpenAIModels[O1Mini].CostPer1MInCached,
112− CostPer1MOut: OpenAIModels[O1Mini].CostPer1MOut,
113− CostPer1MOutCached: OpenAIModels[O1Mini].CostPer1MOutCached,
114− ContextWindow: OpenAIModels[O1Mini].ContextWindow,
115− DefaultMaxTokens: OpenAIModels[O1Mini].DefaultMaxTokens,
116− CanReason: OpenAIModels[O1Mini].CanReason,
113+ ID: AzureO1Mini,
114+ Name: "Azure OpenAI – O1 mini",
115+ Provider: ProviderAzure,
116+ APIModel: "o1-mini",
117+ CostPer1MIn: OpenAIModels[O1Mini].CostPer1MIn,
118+ CostPer1MInCached: OpenAIModels[O1Mini].CostPer1MInCached,
119+ CostPer1MOut: OpenAIModels[O1Mini].CostPer1MOut,
120+ CostPer1MOutCached: OpenAIModels[O1Mini].CostPer1MOutCached,
121+ ContextWindow: OpenAIModels[O1Mini].ContextWindow,
122+ DefaultMaxTokens: OpenAIModels[O1Mini].DefaultMaxTokens,
123+ CanReason: OpenAIModels[O1Mini].CanReason,
124+ SupportsAttachments: true,
117125 },
118126 AzureO3: {
119− ID: AzureO3,
120− Name: "Azure OpenAI – O3",
121− Provider: ProviderAzure,
122− APIModel: "o3",
123− CostPer1MIn: OpenAIModels[O3].CostPer1MIn,
124− CostPer1MInCached: OpenAIModels[O3].CostPer1MInCached,
125− CostPer1MOut: OpenAIModels[O3].CostPer1MOut,
126− CostPer1MOutCached: OpenAIModels[O3].CostPer1MOutCached,
127− ContextWindow: OpenAIModels[O3].ContextWindow,
128− DefaultMaxTokens: OpenAIModels[O3].DefaultMaxTokens,
129− CanReason: OpenAIModels[O3].CanReason,
127+ ID: AzureO3,
128+ Name: "Azure OpenAI – O3",
129+ Provider: ProviderAzure,
130+ APIModel: "o3",
131+ CostPer1MIn: OpenAIModels[O3].CostPer1MIn,
132+ CostPer1MInCached: OpenAIModels[O3].CostPer1MInCached,
133+ CostPer1MOut: OpenAIModels[O3].CostPer1MOut,
134+ CostPer1MOutCached: OpenAIModels[O3].CostPer1MOutCached,
135+ ContextWindow: OpenAIModels[O3].ContextWindow,
136+ DefaultMaxTokens: OpenAIModels[O3].DefaultMaxTokens,
137+ CanReason: OpenAIModels[O3].CanReason,
138+ SupportsAttachments: true,
130139 },
131140 AzureO3Mini: {
132− ID: AzureO3Mini,
133− Name: "Azure OpenAI – O3 mini",
134− Provider: ProviderAzure,
135− APIModel: "o3-mini",
136− CostPer1MIn: OpenAIModels[O3Mini].CostPer1MIn,
137− CostPer1MInCached: OpenAIModels[O3Mini].CostPer1MInCached,
138− CostPer1MOut: OpenAIModels[O3Mini].CostPer1MOut,
139− CostPer1MOutCached: OpenAIModels[O3Mini].CostPer1MOutCached,
140− ContextWindow: OpenAIModels[O3Mini].ContextWindow,
141− DefaultMaxTokens: OpenAIModels[O3Mini].DefaultMaxTokens,
142− CanReason: OpenAIModels[O3Mini].CanReason,
141+ ID: AzureO3Mini,
142+ Name: "Azure OpenAI – O3 mini",
143+ Provider: ProviderAzure,
144+ APIModel: "o3-mini",
145+ CostPer1MIn: OpenAIModels[O3Mini].CostPer1MIn,
146+ CostPer1MInCached: OpenAIModels[O3Mini].CostPer1MInCached,
147+ CostPer1MOut: OpenAIModels[O3Mini].CostPer1MOut,
148+ CostPer1MOutCached: OpenAIModels[O3Mini].CostPer1MOutCached,
149+ ContextWindow: OpenAIModels[O3Mini].ContextWindow,
150+ DefaultMaxTokens: OpenAIModels[O3Mini].DefaultMaxTokens,
151+ CanReason: OpenAIModels[O3Mini].CanReason,
152+ SupportsAttachments: false,
143153 },
144154 AzureO4Mini: {
145− ID: AzureO4Mini,
146− Name: "Azure OpenAI – O4 mini",
147− Provider: ProviderAzure,
148− APIModel: "o4-mini",
149− CostPer1MIn: OpenAIModels[O4Mini].CostPer1MIn,
150− CostPer1MInCached: OpenAIModels[O4Mini].CostPer1MInCached,
151− CostPer1MOut: OpenAIModels[O4Mini].CostPer1MOut,
152− CostPer1MOutCached: OpenAIModels[O4Mini].CostPer1MOutCached,
153− ContextWindow: OpenAIModels[O4Mini].ContextWindow,
154− DefaultMaxTokens: OpenAIModels[O4Mini].DefaultMaxTokens,
155− CanReason: OpenAIModels[O4Mini].CanReason,
155+ ID: AzureO4Mini,
156+ Name: "Azure OpenAI – O4 mini",
157+ Provider: ProviderAzure,
158+ APIModel: "o4-mini",
159+ CostPer1MIn: OpenAIModels[O4Mini].CostPer1MIn,
160+ CostPer1MInCached: OpenAIModels[O4Mini].CostPer1MInCached,
161+ CostPer1MOut: OpenAIModels[O4Mini].CostPer1MOut,
162+ CostPer1MOutCached: OpenAIModels[O4Mini].CostPer1MOutCached,
163+ ContextWindow: OpenAIModels[O4Mini].ContextWindow,
164+ DefaultMaxTokens: OpenAIModels[O4Mini].DefaultMaxTokens,
165+ CanReason: OpenAIModels[O4Mini].CanReason,
166+ SupportsAttachments: true,
156167 },
157168}