Skip to content

Commit 40f2e31

Browse files
models
1 parent 06a1548 commit 40f2e31

1 file changed

Lines changed: 40 additions & 65 deletions

File tree

internal/provider/anthropic/cost.go

Lines changed: 40 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,32 @@ import (
88

99
var AnthropicPerMillionTokenCost = map[string]map[string]float64{
1010
"prompt": {
11-
"claude-opus-4.7": 5.0,
12-
"claude-opus-4.6": 5.0,
13-
"claude-opus-4.5": 5.0,
14-
"claude-4.6-sonnet": 3.0,
15-
"claude-4.5-sonnet": 3.0,
16-
"claude-4.5-haiku": 1.0,
17-
18-
"claude-sonnet-4.5": 3.0,
11+
"claude-opus-4-8": 5.0,
12+
"claude-opus-4-7": 5.0,
13+
"claude-opus-4-6": 5.0,
14+
"claude-opus-4-5": 5.0,
15+
"claude-opus-4-1": 15.0,
16+
"claude-opus-4": 15.0,
17+
18+
"claude-sonnet-4-6": 3.0,
19+
"claude-sonnet-4-5": 3.0,
1920
"claude-sonnet-4": 3.0,
20-
"claude-3.7-sonnet": 3.0,
21-
"claude-opus-4.1": 15.0,
22-
"claude-opus-4": 15.0,
23-
"claude-3.5-haiku": 0.8,
24-
"claude-3-haiku": 0.25,
25-
26-
"claude-3.5-sonnet": 3.0,
27-
"claude-3-opus": 15.0,
21+
22+
"claude-haiku-4-5": 1.0,
2823
},
2924
"completion": {
30-
"claude-opus-4.7": 25.0,
31-
"claude-opus-4.6": 25.0,
32-
"claude-opus-4.5": 25.0,
33-
"claude-4.6-sonnet": 15.0,
34-
"claude-4.5-sonnet": 15.0,
35-
"claude-4.5-haiku": 5.0,
36-
37-
"claude-sonnet-4.5": 15.0,
25+
"claude-opus-4-8": 25.0,
26+
"claude-opus-4-7": 25.0,
27+
"claude-opus-4-6": 25.0,
28+
"claude-opus-4-5": 25.0,
29+
"claude-opus-4-1": 75.0,
30+
"claude-opus-4": 75.0,
31+
32+
"claude-sonnet-4-6": 15.0,
33+
"claude-sonnet-4-5": 15.0,
3834
"claude-sonnet-4": 15.0,
39-
"claude-3.7-sonnet": 15.0,
40-
"claude-opus-4.1": 75.0,
41-
"claude-opus-4": 75.0,
42-
"claude-3.5-haiku": 4.0,
43-
"claude-3-haiku": 1.25,
44-
45-
"claude-3.5-sonnet": 15.0,
46-
"claude-3-opus": 75.0,
35+
36+
"claude-haiku-4-5": 5.0,
4737
},
4838
}
4939

@@ -101,51 +91,36 @@ func (ce *CostEstimator) EstimatePromptCost(model string, tks int) (float64, err
10191
}
10292

10393
func SelectModel(model string) string {
104-
if strings.HasPrefix(model, "claude-sonnet-4.6") || strings.HasPrefix(model, "claude-sonnet-4-6") {
105-
return "claude-sonnet-4.6"
94+
if strings.HasPrefix(model, "claude-opus-4-8") {
95+
return "claude-opus-4-8"
10696
}
107-
if strings.HasPrefix(model, "claude-sonnet-4.5") || strings.HasPrefix(model, "claude-sonnet-4-5") {
108-
return "claude-sonnet-4.5"
97+
if strings.HasPrefix(model, "claude-opus-4-7") {
98+
return "claude-opus-4-7"
10999
}
110-
if strings.HasPrefix(model, "claude-sonnet-4") {
111-
return "claude-sonnet-4"
100+
if strings.HasPrefix(model, "claude-opus-4-6") {
101+
return "claude-opus-4-6"
112102
}
113-
if strings.HasPrefix(model, "claude-3.7-sonnet") || strings.HasPrefix(model, "claude-3-7-sonnet") {
114-
return "claude-3.7-sonnet"
115-
}
116-
if strings.HasPrefix(model, "claude-3.5-sonnet") || strings.HasPrefix(model, "claude-3-5-sonnet") {
117-
return "claude-3.5-sonnet"
118-
}
119-
120-
if strings.HasPrefix(model, "claude-opus-4.7") || strings.HasPrefix(model, "claude-opus-4-7") {
121-
return "claude-opus-4.7"
103+
if strings.HasPrefix(model, "claude-opus-4-5") {
104+
return "claude-opus-4-5"
122105
}
123-
if strings.HasPrefix(model, "claude-opus-4.6") || strings.HasPrefix(model, "claude-opus-4-6") {
124-
return "claude-opus-4.6"
125-
}
126-
if strings.HasPrefix(model, "claude-opus-4.5") || strings.HasPrefix(model, "claude-opus-4-5") {
127-
return "claude-opus-4.5"
128-
}
129-
if strings.HasPrefix(model, "claude-opus-4.1") || strings.HasPrefix(model, "claude-opus-4-1") {
130-
return "claude-opus-4.1"
106+
if strings.HasPrefix(model, "claude-opus-4-1") {
107+
return "claude-opus-4-1"
131108
}
132109
if strings.HasPrefix(model, "claude-opus-4") {
133110
return "claude-opus-4"
134111
}
135-
if strings.HasPrefix(model, "claude-3-opus") {
136-
return "claude-3-opus"
112+
if strings.HasPrefix(model, "claude-sonnet-4-6") {
113+
return "claude-sonnet-4-6"
137114
}
138-
139-
if strings.HasPrefix(model, "claude-4.5-haiku") || strings.HasPrefix(model, "claude-4-5-haiku") {
140-
return "claude-4.5-haiku"
115+
if strings.HasPrefix(model, "claude-sonnet-4-5") {
116+
return "claude-sonnet-4-5"
141117
}
142-
if strings.HasPrefix(model, "claude-3.5-haiku") || strings.HasPrefix(model, "claude-3-5-haiku") {
143-
return "claude-3.5-haiku"
118+
if strings.HasPrefix(model, "claude-sonnet-4") {
119+
return "claude-sonnet-4"
144120
}
145-
if strings.HasPrefix(model, "claude-3-haiku") {
146-
return "claude-3-haiku"
121+
if strings.HasPrefix(model, "claude-haiku-4-5") {
122+
return "claude-haiku-4-5"
147123
}
148-
149124
return model
150125
}
151126

0 commit comments

Comments
 (0)