summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorPierre Berube <[email protected]>2025-05-15 08:44:35 -0600
committeradamdottv <[email protected]>2025-05-17 08:48:51 -0500
commitdaf03052032e3349ff1b8236d38df43230454949 (patch)
tree4a47cff412f4da82f027a5a0e8ad5effde6daf2c
parent307982a0990f597608258b7de053fbf852d8dee3 (diff)
downloadopencode-daf03052032e3349ff1b8236d38df43230454949.tar.gz
opencode-daf03052032e3349ff1b8236d38df43230454949.zip
fix: split out bedrock models
-rw-r--r--internal/llm/models/bedrock.go25
-rw-r--r--internal/llm/models/models.go50
2 files changed, 27 insertions, 48 deletions
diff --git a/internal/llm/models/bedrock.go b/internal/llm/models/bedrock.go
new file mode 100644
index 000000000..06f825654
--- /dev/null
+++ b/internal/llm/models/bedrock.go
@@ -0,0 +1,25 @@
+package models
+
+const (
+ ProviderBedrock ModelProvider = "bedrock"
+
+ // Models
+ BedrockClaude37Sonnet ModelID = "bedrock.claude-3.7-sonnet"
+)
+
+var BedrockModels = map[ModelID]Model{
+ 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,
+ },
+}
diff --git a/internal/llm/models/models.go b/internal/llm/models/models.go
index e4fe6603b..bfdd0d2d8 100644
--- a/internal/llm/models/models.go
+++ b/internal/llm/models/models.go
@@ -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)