azure.go

  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}