@@ -0,0 +1,157 @@
1+package models
2+
3+const ProviderAzure ModelProvider = "azure"
4+
5+const (
6+ AzureGPT41 ModelID = "azure.gpt-4.1"
7+ AzureGPT41Mini ModelID = "azure.gpt-4.1-mini"
8+ AzureGPT41Nano ModelID = "azure.gpt-4.1-nano"
9+ AzureGPT45Preview ModelID = "azure.gpt-4.5-preview"
10+ AzureGPT4o ModelID = "azure.gpt-4o"
11+ AzureGPT4oMini ModelID = "azure.gpt-4o-mini"
12+ AzureO1 ModelID = "azure.o1"
13+ AzureO1Mini ModelID = "azure.o1-mini"
14+ AzureO3 ModelID = "azure.o3"
15+ AzureO3Mini ModelID = "azure.o3-mini"
16+ AzureO4Mini ModelID = "azure.o4-mini"
17+)
18+
19+var AzureModels = map[ModelID]Model{
20+ 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,
31+ },
32+ 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,
43+ },
44+ 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,
55+ },
56+ 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,
67+ },
68+ 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,
79+ },
80+ 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,
91+ },
92+ 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,
104+ },
105+ 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,
117+ },
118+ 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,
130+ },
131+ 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,
143+ },
144+ 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,
156+ },
157+}