1package models
2
3const ProviderAzure InferenceProvider = "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 SupportsAttachments: true,
32 },
33 AzureGPT41Mini: {
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,
45 },
46 AzureGPT41Nano: {
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,
58 },
59 AzureGPT45Preview: {
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,
71 },
72 AzureGPT4o: {
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,
84 },
85 AzureGPT4oMini: {
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,
97 },
98 AzureO1: {
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,
111 },
112 AzureO1Mini: {
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,
125 },
126 AzureO3: {
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,
139 },
140 AzureO3Mini: {
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,
153 },
154 AzureO4Mini: {
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,
167 },
168}