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	},
28	Claude3Haiku: {
29		ID:                 Claude3Haiku,
30		Name:               "Claude 3 Haiku",
31		Provider:           ProviderAnthropic,
32		APIModel:           "claude-3-haiku-20240307", // doesn't support "-latest"
33		CostPer1MIn:        0.25,
34		CostPer1MInCached:  0.30,
35		CostPer1MOutCached: 0.03,
36		CostPer1MOut:       1.25,
37		ContextWindow:      200000,
38		DefaultMaxTokens:   4096,
39	},
40	Claude37Sonnet: {
41		ID:                 Claude37Sonnet,
42		Name:               "Claude 3.7 Sonnet",
43		Provider:           ProviderAnthropic,
44		APIModel:           "claude-3-7-sonnet-latest",
45		CostPer1MIn:        3.0,
46		CostPer1MInCached:  3.75,
47		CostPer1MOutCached: 0.30,
48		CostPer1MOut:       15.0,
49		ContextWindow:      200000,
50		DefaultMaxTokens:   50000,
51		CanReason:          true,
52	},
53	Claude35Haiku: {
54		ID:                 Claude35Haiku,
55		Name:               "Claude 3.5 Haiku",
56		Provider:           ProviderAnthropic,
57		APIModel:           "claude-3-5-haiku-latest",
58		CostPer1MIn:        0.80,
59		CostPer1MInCached:  1.0,
60		CostPer1MOutCached: 0.08,
61		CostPer1MOut:       4.0,
62		ContextWindow:      200000,
63		DefaultMaxTokens:   4096,
64	},
65	Claude3Opus: {
66		ID:                 Claude3Opus,
67		Name:               "Claude 3 Opus",
68		Provider:           ProviderAnthropic,
69		APIModel:           "claude-3-opus-latest",
70		CostPer1MIn:        15.0,
71		CostPer1MInCached:  18.75,
72		CostPer1MOutCached: 1.50,
73		CostPer1MOut:       75.0,
74		ContextWindow:      200000,
75		DefaultMaxTokens:   4096,
76	},
77}