openai.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package models
  2. const (
  3. ProviderOpenAI ModelProvider = "openai"
  4. GPT41 ModelID = "gpt-4.1"
  5. GPT41Mini ModelID = "gpt-4.1-mini"
  6. GPT41Nano ModelID = "gpt-4.1-nano"
  7. GPT45Preview ModelID = "gpt-4.5-preview"
  8. GPT4o ModelID = "gpt-4o"
  9. GPT4oMini ModelID = "gpt-4o-mini"
  10. O1 ModelID = "o1"
  11. O1Pro ModelID = "o1-pro"
  12. O1Mini ModelID = "o1-mini"
  13. O3 ModelID = "o3"
  14. O3Mini ModelID = "o3-mini"
  15. O4Mini ModelID = "o4-mini"
  16. )
  17. var OpenAIModels = map[ModelID]Model{
  18. GPT41: {
  19. ID: GPT41,
  20. Name: "GPT 4.1",
  21. Provider: ProviderOpenAI,
  22. APIModel: "gpt-4.1",
  23. CostPer1MIn: 2.00,
  24. CostPer1MInCached: 0.50,
  25. CostPer1MOutCached: 0.0,
  26. CostPer1MOut: 8.00,
  27. ContextWindow: 1_047_576,
  28. DefaultMaxTokens: 20000,
  29. },
  30. GPT41Mini: {
  31. ID: GPT41Mini,
  32. Name: "GPT 4.1 mini",
  33. Provider: ProviderOpenAI,
  34. APIModel: "gpt-4.1",
  35. CostPer1MIn: 0.40,
  36. CostPer1MInCached: 0.10,
  37. CostPer1MOutCached: 0.0,
  38. CostPer1MOut: 1.60,
  39. ContextWindow: 200_000,
  40. DefaultMaxTokens: 20000,
  41. },
  42. GPT41Nano: {
  43. ID: GPT41Nano,
  44. Name: "GPT 4.1 nano",
  45. Provider: ProviderOpenAI,
  46. APIModel: "gpt-4.1-nano",
  47. CostPer1MIn: 0.10,
  48. CostPer1MInCached: 0.025,
  49. CostPer1MOutCached: 0.0,
  50. CostPer1MOut: 0.40,
  51. ContextWindow: 1_047_576,
  52. DefaultMaxTokens: 20000,
  53. },
  54. GPT45Preview: {
  55. ID: GPT45Preview,
  56. Name: "GPT 4.5 preview",
  57. Provider: ProviderOpenAI,
  58. APIModel: "gpt-4.5-preview",
  59. CostPer1MIn: 75.00,
  60. CostPer1MInCached: 37.50,
  61. CostPer1MOutCached: 0.0,
  62. CostPer1MOut: 150.00,
  63. ContextWindow: 128_000,
  64. DefaultMaxTokens: 15000,
  65. },
  66. GPT4o: {
  67. ID: GPT4o,
  68. Name: "GPT 4o",
  69. Provider: ProviderOpenAI,
  70. APIModel: "gpt-4o",
  71. CostPer1MIn: 2.50,
  72. CostPer1MInCached: 1.25,
  73. CostPer1MOutCached: 0.0,
  74. CostPer1MOut: 10.00,
  75. ContextWindow: 128_000,
  76. DefaultMaxTokens: 4096,
  77. },
  78. GPT4oMini: {
  79. ID: GPT4oMini,
  80. Name: "GPT 4o mini",
  81. Provider: ProviderOpenAI,
  82. APIModel: "gpt-4o-mini",
  83. CostPer1MIn: 0.15,
  84. CostPer1MInCached: 0.075,
  85. CostPer1MOutCached: 0.0,
  86. CostPer1MOut: 0.60,
  87. ContextWindow: 128_000,
  88. },
  89. O1: {
  90. ID: O1,
  91. Name: "O1",
  92. Provider: ProviderOpenAI,
  93. APIModel: "o1",
  94. CostPer1MIn: 15.00,
  95. CostPer1MInCached: 7.50,
  96. CostPer1MOutCached: 0.0,
  97. CostPer1MOut: 60.00,
  98. ContextWindow: 200_000,
  99. DefaultMaxTokens: 50000,
  100. CanReason: true,
  101. },
  102. O1Pro: {
  103. ID: O1Pro,
  104. Name: "o1 pro",
  105. Provider: ProviderOpenAI,
  106. APIModel: "o1-pro",
  107. CostPer1MIn: 150.00,
  108. CostPer1MInCached: 0.0,
  109. CostPer1MOutCached: 0.0,
  110. CostPer1MOut: 600.00,
  111. ContextWindow: 200_000,
  112. DefaultMaxTokens: 50000,
  113. CanReason: true,
  114. },
  115. O1Mini: {
  116. ID: O1Mini,
  117. Name: "o1 mini",
  118. Provider: ProviderOpenAI,
  119. APIModel: "o1-mini",
  120. CostPer1MIn: 1.10,
  121. CostPer1MInCached: 0.55,
  122. CostPer1MOutCached: 0.0,
  123. CostPer1MOut: 4.40,
  124. ContextWindow: 128_000,
  125. DefaultMaxTokens: 50000,
  126. CanReason: true,
  127. },
  128. O3: {
  129. ID: O3,
  130. Name: "o3",
  131. Provider: ProviderOpenAI,
  132. APIModel: "o3",
  133. CostPer1MIn: 10.00,
  134. CostPer1MInCached: 2.50,
  135. CostPer1MOutCached: 0.0,
  136. CostPer1MOut: 40.00,
  137. ContextWindow: 200_000,
  138. CanReason: true,
  139. },
  140. O3Mini: {
  141. ID: O3Mini,
  142. Name: "o3 mini",
  143. Provider: ProviderOpenAI,
  144. APIModel: "o3-mini",
  145. CostPer1MIn: 1.10,
  146. CostPer1MInCached: 0.55,
  147. CostPer1MOutCached: 0.0,
  148. CostPer1MOut: 4.40,
  149. ContextWindow: 200_000,
  150. DefaultMaxTokens: 50000,
  151. CanReason: true,
  152. },
  153. O4Mini: {
  154. ID: O4Mini,
  155. Name: "o4 mini",
  156. Provider: ProviderOpenAI,
  157. APIModel: "o4-mini",
  158. CostPer1MIn: 1.10,
  159. CostPer1MInCached: 0.275,
  160. CostPer1MOutCached: 0.0,
  161. CostPer1MOut: 4.40,
  162. ContextWindow: 128_000,
  163. DefaultMaxTokens: 50000,
  164. CanReason: true,
  165. },
  166. }