Skip to content

Commit e217735

Browse files
committed
add support for claude sonnet and opus v4
1 parent a8bde6b commit e217735

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

swift-bedrock-library/Sources/BedrockService/Models/Anthropic/AnthropicBedrockModels.swift

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ typealias ClaudeV3_5Haiku = AnthropicText
2424
typealias ClaudeV3Opus = AnthropicText
2525
typealias ClaudeV3_5Sonnet = AnthropicText
2626
typealias ClaudeV3_7Sonnet = AnthropicText
27+
typealias Claude_Sonnet_v4 = AnthropicText
28+
typealias Claude_Opus_v4 = AnthropicText
2729

2830
// text
2931
// https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html
32+
// https://docs.anthropic.com/en/docs/about-claude/models/overview
3033

3134
extension BedrockModel {
3235
public static let instant: BedrockModel = BedrockModel(
@@ -170,7 +173,39 @@ extension BedrockModel {
170173
modality: ClaudeV3_7Sonnet(
171174
parameters: TextGenerationParameters(
172175
temperature: Parameter(.temperature, minValue: 0, maxValue: 1, defaultValue: 1),
173-
maxTokens: Parameter(.maxTokens, minValue: 1, maxValue: 8_192, defaultValue: 8_192),
176+
maxTokens: Parameter(.maxTokens, minValue: 1, maxValue: 64_000, defaultValue: 8_192),
177+
topP: Parameter(.topP, minValue: 0, maxValue: 1, defaultValue: 0.999),
178+
topK: Parameter(.topK, minValue: 0, maxValue: 500, defaultValue: 0),
179+
stopSequences: StopSequenceParams(maxSequences: 8191, defaultValue: []),
180+
maxPromptSize: 200_000
181+
),
182+
features: [.textGeneration, .systemPrompts, .document, .vision, .toolUse, .reasoning],
183+
maxReasoningTokens: Parameter(.maxReasoningTokens, minValue: 1_024, maxValue: 8_191, defaultValue: 4_096)
184+
)
185+
)
186+
public static let claude_sonnet_v4: BedrockModel = BedrockModel(
187+
id: "us.anthropic.claude-sonnet-4-20250514-v1:0",
188+
name: "Claude Sonnet v4",
189+
modality: Claude_Sonnet_v4(
190+
parameters: TextGenerationParameters(
191+
temperature: Parameter(.temperature, minValue: 0, maxValue: 1, defaultValue: 1),
192+
maxTokens: Parameter(.maxTokens, minValue: 1, maxValue: 64_000, defaultValue: 8_192),
193+
topP: Parameter(.topP, minValue: 0, maxValue: 1, defaultValue: 0.999),
194+
topK: Parameter(.topK, minValue: 0, maxValue: 500, defaultValue: 0),
195+
stopSequences: StopSequenceParams(maxSequences: 8191, defaultValue: []),
196+
maxPromptSize: 200_000
197+
),
198+
features: [.textGeneration, .systemPrompts, .document, .vision, .toolUse, .reasoning],
199+
maxReasoningTokens: Parameter(.maxReasoningTokens, minValue: 1_024, maxValue: 8_191, defaultValue: 4_096)
200+
)
201+
)
202+
public static let claude_opus_v4: BedrockModel = BedrockModel(
203+
id: "us.anthropic.claude-opus-4-20250514-v1:0",
204+
name: "Claude Opus v4",
205+
modality: Claude_Opus_v4(
206+
parameters: TextGenerationParameters(
207+
temperature: Parameter(.temperature, minValue: 0, maxValue: 1, defaultValue: 1),
208+
maxTokens: Parameter(.maxTokens, minValue: 1, maxValue: 32_000, defaultValue: 8_192),
174209
topP: Parameter(.topP, minValue: 0, maxValue: 1, defaultValue: 0.999),
175210
topK: Parameter(.topK, minValue: 0, maxValue: 500, defaultValue: 0),
176211
stopSequences: StopSequenceParams(maxSequences: 8191, defaultValue: []),

0 commit comments

Comments
 (0)