gemini.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. SupportsAttachments: true,
  23. },
  24. Gemini25: {
  25. ID: Gemini25,
  26. Name: "Gemini 2.5 Pro",
  27. Provider: ProviderGemini,
  28. APIModel: "gemini-2.5-pro-preview-03-25",
  29. CostPer1MIn: 1.25,
  30. CostPer1MInCached: 0,
  31. CostPer1MOutCached: 0,
  32. CostPer1MOut: 10,
  33. ContextWindow: 1000000,
  34. DefaultMaxTokens: 50000,
  35. SupportsAttachments: true,
  36. },
  37. Gemini20Flash: {
  38. ID: Gemini20Flash,
  39. Name: "Gemini 2.0 Flash",
  40. Provider: ProviderGemini,
  41. APIModel: "gemini-2.0-flash",
  42. CostPer1MIn: 0.10,
  43. CostPer1MInCached: 0,
  44. CostPer1MOutCached: 0,
  45. CostPer1MOut: 0.40,
  46. ContextWindow: 1000000,
  47. DefaultMaxTokens: 6000,
  48. SupportsAttachments: true,
  49. },
  50. Gemini20FlashLite: {
  51. ID: Gemini20FlashLite,
  52. Name: "Gemini 2.0 Flash Lite",
  53. Provider: ProviderGemini,
  54. APIModel: "gemini-2.0-flash-lite",
  55. CostPer1MIn: 0.05,
  56. CostPer1MInCached: 0,
  57. CostPer1MOutCached: 0,
  58. CostPer1MOut: 0.30,
  59. ContextWindow: 1000000,
  60. DefaultMaxTokens: 6000,
  61. SupportsAttachments: true,
  62. },
  63. }