azure.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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. },
  29. AzureGPT41Mini: {
  30. ID: AzureGPT41Mini,
  31. Name: "Azure OpenAI – GPT 4.1 mini",
  32. Provider: ProviderAzure,
  33. APIModel: "gpt-4.1-mini",
  34. CostPer1MIn: OpenAIModels[GPT41Mini].CostPer1MIn,
  35. CostPer1MInCached: OpenAIModels[GPT41Mini].CostPer1MInCached,
  36. CostPer1MOut: OpenAIModels[GPT41Mini].CostPer1MOut,
  37. CostPer1MOutCached: OpenAIModels[GPT41Mini].CostPer1MOutCached,
  38. ContextWindow: OpenAIModels[GPT41Mini].ContextWindow,
  39. DefaultMaxTokens: OpenAIModels[GPT41Mini].DefaultMaxTokens,
  40. },
  41. AzureGPT41Nano: {
  42. ID: AzureGPT41Nano,
  43. Name: "Azure OpenAI – GPT 4.1 nano",
  44. Provider: ProviderAzure,
  45. APIModel: "gpt-4.1-nano",
  46. CostPer1MIn: OpenAIModels[GPT41Nano].CostPer1MIn,
  47. CostPer1MInCached: OpenAIModels[GPT41Nano].CostPer1MInCached,
  48. CostPer1MOut: OpenAIModels[GPT41Nano].CostPer1MOut,
  49. CostPer1MOutCached: OpenAIModels[GPT41Nano].CostPer1MOutCached,
  50. ContextWindow: OpenAIModels[GPT41Nano].ContextWindow,
  51. DefaultMaxTokens: OpenAIModels[GPT41Nano].DefaultMaxTokens,
  52. },
  53. AzureGPT45Preview: {
  54. ID: AzureGPT45Preview,
  55. Name: "Azure OpenAI – GPT 4.5 preview",
  56. Provider: ProviderAzure,
  57. APIModel: "gpt-4.5-preview",
  58. CostPer1MIn: OpenAIModels[GPT45Preview].CostPer1MIn,
  59. CostPer1MInCached: OpenAIModels[GPT45Preview].CostPer1MInCached,
  60. CostPer1MOut: OpenAIModels[GPT45Preview].CostPer1MOut,
  61. CostPer1MOutCached: OpenAIModels[GPT45Preview].CostPer1MOutCached,
  62. ContextWindow: OpenAIModels[GPT45Preview].ContextWindow,
  63. DefaultMaxTokens: OpenAIModels[GPT45Preview].DefaultMaxTokens,
  64. },
  65. AzureGPT4o: {
  66. ID: AzureGPT4o,
  67. Name: "Azure OpenAI – GPT-4o",
  68. Provider: ProviderAzure,
  69. APIModel: "gpt-4o",
  70. CostPer1MIn: OpenAIModels[GPT4o].CostPer1MIn,
  71. CostPer1MInCached: OpenAIModels[GPT4o].CostPer1MInCached,
  72. CostPer1MOut: OpenAIModels[GPT4o].CostPer1MOut,
  73. CostPer1MOutCached: OpenAIModels[GPT4o].CostPer1MOutCached,
  74. ContextWindow: OpenAIModels[GPT4o].ContextWindow,
  75. DefaultMaxTokens: OpenAIModels[GPT4o].DefaultMaxTokens,
  76. },
  77. AzureGPT4oMini: {
  78. ID: AzureGPT4oMini,
  79. Name: "Azure OpenAI – GPT-4o mini",
  80. Provider: ProviderAzure,
  81. APIModel: "gpt-4o-mini",
  82. CostPer1MIn: OpenAIModels[GPT4oMini].CostPer1MIn,
  83. CostPer1MInCached: OpenAIModels[GPT4oMini].CostPer1MInCached,
  84. CostPer1MOut: OpenAIModels[GPT4oMini].CostPer1MOut,
  85. CostPer1MOutCached: OpenAIModels[GPT4oMini].CostPer1MOutCached,
  86. ContextWindow: OpenAIModels[GPT4oMini].ContextWindow,
  87. DefaultMaxTokens: OpenAIModels[GPT4oMini].DefaultMaxTokens,
  88. },
  89. AzureO1: {
  90. ID: AzureO1,
  91. Name: "Azure OpenAI – O1",
  92. Provider: ProviderAzure,
  93. APIModel: "o1",
  94. CostPer1MIn: OpenAIModels[O1].CostPer1MIn,
  95. CostPer1MInCached: OpenAIModels[O1].CostPer1MInCached,
  96. CostPer1MOut: OpenAIModels[O1].CostPer1MOut,
  97. CostPer1MOutCached: OpenAIModels[O1].CostPer1MOutCached,
  98. ContextWindow: OpenAIModels[O1].ContextWindow,
  99. DefaultMaxTokens: OpenAIModels[O1].DefaultMaxTokens,
  100. CanReason: OpenAIModels[O1].CanReason,
  101. },
  102. AzureO1Mini: {
  103. ID: AzureO1Mini,
  104. Name: "Azure OpenAI – O1 mini",
  105. Provider: ProviderAzure,
  106. APIModel: "o1-mini",
  107. CostPer1MIn: OpenAIModels[O1Mini].CostPer1MIn,
  108. CostPer1MInCached: OpenAIModels[O1Mini].CostPer1MInCached,
  109. CostPer1MOut: OpenAIModels[O1Mini].CostPer1MOut,
  110. CostPer1MOutCached: OpenAIModels[O1Mini].CostPer1MOutCached,
  111. ContextWindow: OpenAIModels[O1Mini].ContextWindow,
  112. DefaultMaxTokens: OpenAIModels[O1Mini].DefaultMaxTokens,
  113. CanReason: OpenAIModels[O1Mini].CanReason,
  114. },
  115. AzureO3: {
  116. ID: AzureO3,
  117. Name: "Azure OpenAI – O3",
  118. Provider: ProviderAzure,
  119. APIModel: "o3",
  120. CostPer1MIn: OpenAIModels[O3].CostPer1MIn,
  121. CostPer1MInCached: OpenAIModels[O3].CostPer1MInCached,
  122. CostPer1MOut: OpenAIModels[O3].CostPer1MOut,
  123. CostPer1MOutCached: OpenAIModels[O3].CostPer1MOutCached,
  124. ContextWindow: OpenAIModels[O3].ContextWindow,
  125. DefaultMaxTokens: OpenAIModels[O3].DefaultMaxTokens,
  126. CanReason: OpenAIModels[O3].CanReason,
  127. },
  128. AzureO3Mini: {
  129. ID: AzureO3Mini,
  130. Name: "Azure OpenAI – O3 mini",
  131. Provider: ProviderAzure,
  132. APIModel: "o3-mini",
  133. CostPer1MIn: OpenAIModels[O3Mini].CostPer1MIn,
  134. CostPer1MInCached: OpenAIModels[O3Mini].CostPer1MInCached,
  135. CostPer1MOut: OpenAIModels[O3Mini].CostPer1MOut,
  136. CostPer1MOutCached: OpenAIModels[O3Mini].CostPer1MOutCached,
  137. ContextWindow: OpenAIModels[O3Mini].ContextWindow,
  138. DefaultMaxTokens: OpenAIModels[O3Mini].DefaultMaxTokens,
  139. CanReason: OpenAIModels[O3Mini].CanReason,
  140. },
  141. AzureO4Mini: {
  142. ID: AzureO4Mini,
  143. Name: "Azure OpenAI – O4 mini",
  144. Provider: ProviderAzure,
  145. APIModel: "o4-mini",
  146. CostPer1MIn: OpenAIModels[O4Mini].CostPer1MIn,
  147. CostPer1MInCached: OpenAIModels[O4Mini].CostPer1MInCached,
  148. CostPer1MOut: OpenAIModels[O4Mini].CostPer1MOut,
  149. CostPer1MOutCached: OpenAIModels[O4Mini].CostPer1MOutCached,
  150. ContextWindow: OpenAIModels[O4Mini].ContextWindow,
  151. DefaultMaxTokens: OpenAIModels[O4Mini].DefaultMaxTokens,
  152. CanReason: OpenAIModels[O4Mini].CanReason,
  153. },
  154. }