azure.go

  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}