anthropic.go

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