gemini.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package models
  2. const (
  3. ProviderGemini ModelProvider = "gemini"
  4. // Models
  5. Gemini25Flash ModelID = "gemini-2.5-flash"
  6. Gemini25 ModelID = "gemini-2.5"
  7. Gemini20Flash ModelID = "gemini-2.0-flash"
  8. Gemini20FlashLite ModelID = "gemini-2.0-flash-lite"
  9. )
  10. var GeminiModels = map[ModelID]Model{
  11. Gemini25Flash: {
  12. ID: Gemini25Flash,
  13. Name: "Gemini 2.5 Flash",
  14. Provider: ProviderGemini,
  15. APIModel: "gemini-2.5-flash-preview-04-17",
  16. CostPer1MIn: 0.15,
  17. CostPer1MInCached: 0,
  18. CostPer1MOutCached: 0,
  19. CostPer1MOut: 0.60,
  20. ContextWindow: 1000000,
  21. DefaultMaxTokens: 50000,
  22. },
  23. Gemini25: {
  24. ID: Gemini25,
  25. Name: "Gemini 2.5 Pro",
  26. Provider: ProviderGemini,
  27. APIModel: "gemini-2.5-pro-preview-03-25",
  28. CostPer1MIn: 1.25,
  29. CostPer1MInCached: 0,
  30. CostPer1MOutCached: 0,
  31. CostPer1MOut: 10,
  32. ContextWindow: 1000000,
  33. DefaultMaxTokens: 50000,
  34. },
  35. Gemini20Flash: {
  36. ID: Gemini20Flash,
  37. Name: "Gemini 2.0 Flash",
  38. Provider: ProviderGemini,
  39. APIModel: "gemini-2.0-flash",
  40. CostPer1MIn: 0.10,
  41. CostPer1MInCached: 0,
  42. CostPer1MOutCached: 0,
  43. CostPer1MOut: 0.40,
  44. ContextWindow: 1000000,
  45. DefaultMaxTokens: 6000,
  46. },
  47. Gemini20FlashLite: {
  48. ID: Gemini20FlashLite,
  49. Name: "Gemini 2.0 Flash Lite",
  50. Provider: ProviderGemini,
  51. APIModel: "gemini-2.0-flash-lite",
  52. CostPer1MIn: 0.05,
  53. CostPer1MInCached: 0,
  54. CostPer1MOutCached: 0,
  55. CostPer1MOut: 0.30,
  56. ContextWindow: 1000000,
  57. DefaultMaxTokens: 6000,
  58. },
  59. }