on main help sign in
add sonnet 4
94d5fe0Kujtim Hoxha
internal/config/config.go+4−4
@@ -280,10 +280,10 @@ func setProviderDefaults() {
280
280
281 // Anthropic configuration
281 // Anthropic configuration
282 if key := viper.GetString("providers.anthropic.apiKey"); strings.TrimSpace(key) != "" {
282 if key := viper.GetString("providers.anthropic.apiKey"); strings.TrimSpace(key) != "" {
283− viper.SetDefault("agents.coder.model", models.Claude37Sonnet)
283+ viper.SetDefault("agents.coder.model", models.Claude4Sonnet)
284− viper.SetDefault("agents.summarizer.model", models.Claude37Sonnet)
284+ viper.SetDefault("agents.summarizer.model", models.Claude4Sonnet)
285− viper.SetDefault("agents.task.model", models.Claude37Sonnet)
285+ viper.SetDefault("agents.task.model", models.Claude4Sonnet)
286− viper.SetDefault("agents.title.model", models.Claude37Sonnet)
286+ viper.SetDefault("agents.title.model", models.Claude4Sonnet)
287 return
287 return
288 }
288 }
289
289
internal/llm/models/anthropic.go+29
@@ -9,6 +9,8 @@ const (
9 Claude37Sonnet ModelID = "claude-3.7-sonnet"
9 Claude37Sonnet ModelID = "claude-3.7-sonnet"
10 Claude35Haiku ModelID = "claude-3.5-haiku"
10 Claude35Haiku ModelID = "claude-3.5-haiku"
11 Claude3Opus ModelID = "claude-3-opus"
11 Claude3Opus ModelID = "claude-3-opus"
12+ Claude4Opus ModelID = "claude-4-opus"
13+ Claude4Sonnet ModelID = "claude-4-sonnet"
12)
14)
13
15
14// https://docs.anthropic.com/en/docs/about-claude/models/all-models
16// https://docs.anthropic.com/en/docs/about-claude/models/all-models
@@ -79,4 +81,31 @@ var AnthropicModels = map[ModelID]Model{
79 DefaultMaxTokens: 4096,
81 DefaultMaxTokens: 4096,
80 SupportsAttachments: true,
82 SupportsAttachments: true,
81 },
83 },
84+ Claude4Sonnet: {
85+ ID: Claude4Sonnet,
86+ Name: "Claude 4 Sonnet",
87+ Provider: ProviderAnthropic,
88+ APIModel: "claude-sonnet-4-20250514",
89+ CostPer1MIn: 3.0,
90+ CostPer1MInCached: 3.75,
91+ CostPer1MOutCached: 0.30,
92+ CostPer1MOut: 15.0,
93+ ContextWindow: 200000,
94+ DefaultMaxTokens: 50000,
95+ CanReason: true,
96+ SupportsAttachments: true,
97+ },
98+ Claude4Opus: {
99+ ID: Claude4Opus,
100+ Name: "Claude 4 Opus",
101+ Provider: ProviderAnthropic,
102+ APIModel: "claude-opus-4-20250514",
103+ CostPer1MIn: 15.0,
104+ CostPer1MInCached: 18.75,
105+ CostPer1MOutCached: 1.50,
106+ CostPer1MOut: 75.0,
107+ ContextWindow: 200000,
108+ DefaultMaxTokens: 4096,
109+ SupportsAttachments: true,
110+ },
82}
111}