|
|
@@ -22,14 +22,7 @@ type Model struct {
|
|
|
SupportsAttachments bool `json:"supports_attachments"`
|
|
|
}
|
|
|
|
|
|
-// Model IDs
|
|
|
-const ( // GEMINI
|
|
|
- // Bedrock
|
|
|
- BedrockClaude37Sonnet ModelID = "bedrock.claude-3.7-sonnet"
|
|
|
-)
|
|
|
-
|
|
|
const (
|
|
|
- ProviderBedrock ModelProvider = "bedrock"
|
|
|
// ForTests
|
|
|
ProviderMock ModelProvider = "__mock"
|
|
|
)
|
|
|
@@ -46,50 +39,11 @@ var ProviderPopularity = map[ModelProvider]int{
|
|
|
ProviderVertexAI: 8,
|
|
|
}
|
|
|
|
|
|
-var SupportedModels = map[ModelID]Model{
|
|
|
- //
|
|
|
- // // GEMINI
|
|
|
- // GEMINI25: {
|
|
|
- // ID: GEMINI25,
|
|
|
- // Name: "Gemini 2.5 Pro",
|
|
|
- // Provider: ProviderGemini,
|
|
|
- // APIModel: "gemini-2.5-pro-exp-03-25",
|
|
|
- // CostPer1MIn: 0,
|
|
|
- // CostPer1MInCached: 0,
|
|
|
- // CostPer1MOutCached: 0,
|
|
|
- // CostPer1MOut: 0,
|
|
|
- // },
|
|
|
- //
|
|
|
- // GRMINI20Flash: {
|
|
|
- // ID: GRMINI20Flash,
|
|
|
- // Name: "Gemini 2.0 Flash",
|
|
|
- // Provider: ProviderGemini,
|
|
|
- // APIModel: "gemini-2.0-flash",
|
|
|
- // CostPer1MIn: 0.1,
|
|
|
- // CostPer1MInCached: 0,
|
|
|
- // CostPer1MOutCached: 0.025,
|
|
|
- // CostPer1MOut: 0.4,
|
|
|
- // },
|
|
|
- //
|
|
|
- // // Bedrock
|
|
|
- BedrockClaude37Sonnet: {
|
|
|
- ID: BedrockClaude37Sonnet,
|
|
|
- Name: "Bedrock: Claude 3.7 Sonnet",
|
|
|
- Provider: ProviderBedrock,
|
|
|
- APIModel: "anthropic.claude-3-7-sonnet-20250219-v1:0",
|
|
|
- CostPer1MIn: 3.0,
|
|
|
- CostPer1MInCached: 3.75,
|
|
|
- CostPer1MOutCached: 0.30,
|
|
|
- CostPer1MOut: 15.0,
|
|
|
- ContextWindow: 200_000,
|
|
|
- DefaultMaxTokens: 50_000,
|
|
|
- CanReason: true,
|
|
|
- SupportsAttachments: true,
|
|
|
- },
|
|
|
-}
|
|
|
+var SupportedModels = map[ModelID]Model{}
|
|
|
|
|
|
func init() {
|
|
|
maps.Copy(SupportedModels, AnthropicModels)
|
|
|
+ maps.Copy(SupportedModels, BedrockModels)
|
|
|
maps.Copy(SupportedModels, OpenAIModels)
|
|
|
maps.Copy(SupportedModels, GeminiModels)
|
|
|
maps.Copy(SupportedModels, GroqModels)
|