1package models
2
3const (
4 ProviderAnthropic ModelProvider = "anthropic"
5
6 // Models
7 Claude35Sonnet ModelID = "claude-3.5-sonnet"
8 Claude3Haiku ModelID = "claude-3-haiku"
9 Claude37Sonnet ModelID = "claude-3.7-sonnet"
10 Claude35Haiku ModelID = "claude-3.5-haiku"
11 Claude3Opus ModelID = "claude-3-opus"
12 Claude4Opus ModelID = "claude-4-opus"
13 Claude4Sonnet ModelID = "claude-4-sonnet"
14)
15
16// https://docs.anthropic.com/en/docs/about-claude/models/all-models
17var AnthropicModels = map[ModelID]Model{
18 Claude35Sonnet: {
19 ID: Claude35Sonnet,
20 Name: "Claude 3.5 Sonnet",
21 Provider: ProviderAnthropic,
22 APIModel: "claude-3-5-sonnet-latest",
23 CostPer1MIn: 3.0,
24 CostPer1MInCached: 3.75,
25 CostPer1MOutCached: 0.30,
26 CostPer1MOut: 15.0,
27 ContextWindow: 200000,
28 DefaultMaxTokens: 5000,
29 SupportsAttachments: true,
30 },
31 Claude3Haiku: {
32 ID: Claude3Haiku,
33 Name: "Claude 3 Haiku",
34 Provider: ProviderAnthropic,
35 APIModel: "claude-3-haiku-20240307", // doesn't support "-latest"
36 CostPer1MIn: 0.25,
37 CostPer1MInCached: 0.30,
38 CostPer1MOutCached: 0.03,
39 CostPer1MOut: 1.25,
40 ContextWindow: 200000,
41 DefaultMaxTokens: 4096,
42 SupportsAttachments: true,
43 },
44 Claude37Sonnet: {
45 ID: Claude37Sonnet,
46 Name: "Claude 3.7 Sonnet",
47 Provider: ProviderAnthropic,
48 APIModel: "claude-3-7-sonnet-latest",
49 CostPer1MIn: 3.0,
50 CostPer1MInCached: 3.75,
51 CostPer1MOutCached: 0.30,
52 CostPer1MOut: 15.0,
53 ContextWindow: 200000,
54 DefaultMaxTokens: 50000,
55 CanReason: true,
56 SupportsAttachments: true,
57 },
58 Claude35Haiku: {
59 ID: Claude35Haiku,
60 Name: "Claude 3.5 Haiku",
61 Provider: ProviderAnthropic,
62 APIModel: "claude-3-5-haiku-latest",
63 CostPer1MIn: 0.80,
64 CostPer1MInCached: 1.0,
65 CostPer1MOutCached: 0.08,
66 CostPer1MOut: 4.0,
67 ContextWindow: 200000,
68 DefaultMaxTokens: 4096,
69 SupportsAttachments: true,
70 },
71 Claude3Opus: {
72 ID: Claude3Opus,
73 Name: "Claude 3 Opus",
74 Provider: ProviderAnthropic,
75 APIModel: "claude-3-opus-latest",
76 CostPer1MIn: 15.0,
77 CostPer1MInCached: 18.75,
78 CostPer1MOutCached: 1.50,
79 CostPer1MOut: 75.0,
80 ContextWindow: 200000,
81 DefaultMaxTokens: 4096,
82 SupportsAttachments: true,
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 },
111}