1package models
2
3const ProviderAzure ModelProvider = "azure"
4
5const (
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
19var 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}