azure.go 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package models
  2. const ProviderAzure ModelProvider = "azure"
  3. const (
  4. AzureGPT41 ModelID = "azure.gpt-4.1"
  5. AzureGPT41Mini ModelID = "azure.gpt-4.1-mini"
  6. AzureGPT41Nano ModelID = "azure.gpt-4.1-nano"
  7. AzureGPT45Preview ModelID = "azure.gpt-4.5-preview"
  8. AzureGPT4o ModelID = "azure.gpt-4o"
  9. AzureGPT4oMini ModelID = "azure.gpt-4o-mini"
  10. AzureO1 ModelID = "azure.o1"
  11. AzureO1Mini ModelID = "azure.o1-mini"
  12. AzureO3 ModelID = "azure.o3"
  13. AzureO3Mini ModelID = "azure.o3-mini"
  14. AzureO4Mini ModelID = "azure.o4-mini"
  15. )
  16. var AzureModels = map[ModelID]Model{
  17. AzureGPT41: {
  18. ID: AzureGPT41,
  19. Name: "Azure OpenAI – GPT 4.1",
  20. Provider: ProviderAzure,
  21. APIModel: "gpt-4.1",
  22. CostPer1MIn: OpenAIModels[GPT41].CostPer1MIn,
  23. CostPer1MInCached: OpenAIModels[GPT41].CostPer1MInCached,
  24. CostPer1MOut: OpenAIModels[GPT41].CostPer1MOut,
  25. CostPer1MOutCached: OpenAIModels[GPT41].CostPer1MOutCached,
  26. ContextWindow: OpenAIModels[GPT41].ContextWindow,
  27. DefaultMaxTokens: OpenAIModels[GPT41].DefaultMaxTokens,
  28. SupportsAttachments: true,
  29. },
  30. AzureGPT41Mini: {
  31. ID: AzureGPT41Mini,
  32. Name: "Azure OpenAI – GPT 4.1 mini",
  33. Provider: ProviderAzure,
  34. APIModel: "gpt-4.1-mini",
  35. CostPer1MIn: OpenAIModels[GPT41Mini].CostPer1MIn,
  36. CostPer1MInCached: OpenAIModels[GPT41Mini].CostPer1MInCached,
  37. CostPer1MOut: OpenAIModels[GPT41Mini].CostPer1MOut,
  38. CostPer1MOutCached: OpenAIModels[GPT41Mini].CostPer1MOutCached,
  39. ContextWindow: OpenAIModels[GPT41Mini].ContextWindow,
  40. DefaultMaxTokens: OpenAIModels[GPT41Mini].DefaultMaxTokens,
  41. SupportsAttachments: true,
  42. },
  43. AzureGPT41Nano: {
  44. ID: AzureGPT41Nano,
  45. Name: "Azure OpenAI – GPT 4.1 nano",
  46. Provider: ProviderAzure,
  47. APIModel: "gpt-4.1-nano",
  48. CostPer1MIn: OpenAIModels[GPT41Nano].CostPer1MIn,
  49. CostPer1MInCached: OpenAIModels[GPT41Nano].CostPer1MInCached,
  50. CostPer1MOut: OpenAIModels[GPT41Nano].CostPer1MOut,
  51. CostPer1MOutCached: OpenAIModels[GPT41Nano].CostPer1MOutCached,
  52. ContextWindow: OpenAIModels[GPT41Nano].ContextWindow,
  53. DefaultMaxTokens: OpenAIModels[GPT41Nano].DefaultMaxTokens,
  54. SupportsAttachments: true,
  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. SupportsAttachments: true,
  68. },
  69. AzureGPT4o: {
  70. ID: AzureGPT4o,
  71. Name: "Azure OpenAI – GPT-4o",
  72. Provider: ProviderAzure,
  73. APIModel: "gpt-4o",
  74. CostPer1MIn: OpenAIModels[GPT4o].CostPer1MIn,
  75. CostPer1MInCached: OpenAIModels[GPT4o].CostPer1MInCached,
  76. CostPer1MOut: OpenAIModels[GPT4o].CostPer1MOut,
  77. CostPer1MOutCached: OpenAIModels[GPT4o].CostPer1MOutCached,
  78. ContextWindow: OpenAIModels[GPT4o].ContextWindow,
  79. DefaultMaxTokens: OpenAIModels[GPT4o].DefaultMaxTokens,
  80. SupportsAttachments: true,
  81. },
  82. AzureGPT4oMini: {
  83. ID: AzureGPT4oMini,
  84. Name: "Azure OpenAI – GPT-4o mini",
  85. Provider: ProviderAzure,
  86. APIModel: "gpt-4o-mini",
  87. CostPer1MIn: OpenAIModels[GPT4oMini].CostPer1MIn,
  88. CostPer1MInCached: OpenAIModels[GPT4oMini].CostPer1MInCached,
  89. CostPer1MOut: OpenAIModels[GPT4oMini].CostPer1MOut,
  90. CostPer1MOutCached: OpenAIModels[GPT4oMini].CostPer1MOutCached,
  91. ContextWindow: OpenAIModels[GPT4oMini].ContextWindow,
  92. DefaultMaxTokens: OpenAIModels[GPT4oMini].DefaultMaxTokens,
  93. SupportsAttachments: true,
  94. },
  95. AzureO1: {
  96. ID: AzureO1,
  97. Name: "Azure OpenAI – O1",
  98. Provider: ProviderAzure,
  99. APIModel: "o1",
  100. CostPer1MIn: OpenAIModels[O1].CostPer1MIn,
  101. CostPer1MInCached: OpenAIModels[O1].CostPer1MInCached,
  102. CostPer1MOut: OpenAIModels[O1].CostPer1MOut,
  103. CostPer1MOutCached: OpenAIModels[O1].CostPer1MOutCached,
  104. ContextWindow: OpenAIModels[O1].ContextWindow,
  105. DefaultMaxTokens: OpenAIModels[O1].DefaultMaxTokens,
  106. CanReason: OpenAIModels[O1].CanReason,
  107. SupportsAttachments: true,
  108. },
  109. AzureO1Mini: {
  110. ID: AzureO1Mini,
  111. Name: "Azure OpenAI – O1 mini",
  112. Provider: ProviderAzure,
  113. APIModel: "o1-mini",
  114. CostPer1MIn: OpenAIModels[O1Mini].CostPer1MIn,
  115. CostPer1MInCached: OpenAIModels[O1Mini].CostPer1MInCached,
  116. CostPer1MOut: OpenAIModels[O1Mini].CostPer1MOut,
  117. CostPer1MOutCached: OpenAIModels[O1Mini].CostPer1MOutCached,
  118. ContextWindow: OpenAIModels[O1Mini].ContextWindow,
  119. DefaultMaxTokens: OpenAIModels[O1Mini].DefaultMaxTokens,
  120. CanReason: OpenAIModels[O1Mini].CanReason,
  121. SupportsAttachments: true,
  122. },
  123. AzureO3: {
  124. ID: AzureO3,
  125. Name: "Azure OpenAI – O3",
  126. Provider: ProviderAzure,
  127. APIModel: "o3",
  128. CostPer1MIn: OpenAIModels[O3].CostPer1MIn,
  129. CostPer1MInCached: OpenAIModels[O3].CostPer1MInCached,
  130. CostPer1MOut: OpenAIModels[O3].CostPer1MOut,
  131. CostPer1MOutCached: OpenAIModels[O3].CostPer1MOutCached,
  132. ContextWindow: OpenAIModels[O3].ContextWindow,
  133. DefaultMaxTokens: OpenAIModels[O3].DefaultMaxTokens,
  134. CanReason: OpenAIModels[O3].CanReason,
  135. SupportsAttachments: true,
  136. },
  137. AzureO3Mini: {
  138. ID: AzureO3Mini,
  139. Name: "Azure OpenAI – O3 mini",
  140. Provider: ProviderAzure,
  141. APIModel: "o3-mini",
  142. CostPer1MIn: OpenAIModels[O3Mini].CostPer1MIn,
  143. CostPer1MInCached: OpenAIModels[O3Mini].CostPer1MInCached,
  144. CostPer1MOut: OpenAIModels[O3Mini].CostPer1MOut,
  145. CostPer1MOutCached: OpenAIModels[O3Mini].CostPer1MOutCached,
  146. ContextWindow: OpenAIModels[O3Mini].ContextWindow,
  147. DefaultMaxTokens: OpenAIModels[O3Mini].DefaultMaxTokens,
  148. CanReason: OpenAIModels[O3Mini].CanReason,
  149. SupportsAttachments: false,
  150. },
  151. AzureO4Mini: {
  152. ID: AzureO4Mini,
  153. Name: "Azure OpenAI – O4 mini",
  154. Provider: ProviderAzure,
  155. APIModel: "o4-mini",
  156. CostPer1MIn: OpenAIModels[O4Mini].CostPer1MIn,
  157. CostPer1MInCached: OpenAIModels[O4Mini].CostPer1MInCached,
  158. CostPer1MOut: OpenAIModels[O4Mini].CostPer1MOut,
  159. CostPer1MOutCached: OpenAIModels[O4Mini].CostPer1MOutCached,
  160. ContextWindow: OpenAIModels[O4Mini].ContextWindow,
  161. DefaultMaxTokens: OpenAIModels[O4Mini].DefaultMaxTokens,
  162. CanReason: OpenAIModels[O4Mini].CanReason,
  163. SupportsAttachments: true,
  164. },
  165. }