bedrock-wrapper 2.6.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.example.env +12 -13
- package/CHANGELOG.md +64 -24
- package/LICENSE +21 -21
- package/README.md +13 -27
- package/bedrock-models.js +175 -11
- package/bedrock-wrapper.js +27 -84
- package/example-converse-api.js +1 -3
- package/interactive-example.js +0 -2
- package/package.json +3 -3
- package/test-converse-api.js +0 -4
- package/test-deepseek-quick.js +66 -0
- package/test-deepseek.js +64 -0
- package/test-models.js +0 -2
- package/test-stop-sequences.js +0 -1
- package/logs/e4cf59ef-9d22-45bf-9c6c-53e3cb9efda3/notification.json +0 -72
- package/logs/e4cf59ef-9d22-45bf-9c6c-53e3cb9efda3/post_tool_use.json +0 -9083
- package/logs/e4cf59ef-9d22-45bf-9c6c-53e3cb9efda3/pre_tool_use.json +0 -2971
- package/logs/e4cf59ef-9d22-45bf-9c6c-53e3cb9efda3/stop.json +0 -93
- package/logs/e4cf59ef-9d22-45bf-9c6c-53e3cb9efda3/user_prompt_submit.json +0 -93
package/.example.env
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
# ========================
|
|
2
|
-
# == AWS AUTH VARIABLES ==
|
|
3
|
-
# ========================
|
|
4
|
-
AWS_REGION = "us-west-2"
|
|
5
|
-
AWS_ACCESS_KEY_ID = "AKxxxxxxxxxxxxxxxxxx"
|
|
6
|
-
AWS_SECRET_ACCESS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
7
|
-
|
|
8
|
-
# ================
|
|
9
|
-
# == LLM PARAMS ==
|
|
10
|
-
# ================
|
|
11
|
-
LLM_MAX_GEN_TOKENS = 800
|
|
12
|
-
LLM_TEMPERATURE = 0.
|
|
13
|
-
LLM_TOP_P = 0.9
|
|
1
|
+
# ========================
|
|
2
|
+
# == AWS AUTH VARIABLES ==
|
|
3
|
+
# ========================
|
|
4
|
+
AWS_REGION = "us-west-2"
|
|
5
|
+
AWS_ACCESS_KEY_ID = "AKxxxxxxxxxxxxxxxxxx"
|
|
6
|
+
AWS_SECRET_ACCESS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
7
|
+
|
|
8
|
+
# ================
|
|
9
|
+
# == LLM PARAMS ==
|
|
10
|
+
# ================
|
|
11
|
+
LLM_MAX_GEN_TOKENS = 800
|
|
12
|
+
LLM_TEMPERATURE = 0.2
|
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,57 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## [2.7.0] - 2025-11-18 (DeepSeek & Qwen 3)
|
|
5
|
+
### ✨ Added
|
|
6
|
+
- Support for DeepSeek foundation models
|
|
7
|
+
- DeepSeek-R1 (reasoning model with chain-of-thought capabilities, 8K max output tokens)
|
|
8
|
+
- DeepSeek-V3.1 (hybrid thinking mode for complex reasoning, 8K max output tokens, **Converse API only**)
|
|
9
|
+
- Support for Qwen 3 foundation models
|
|
10
|
+
- Qwen3-32B (dense architecture, 32K max output tokens)
|
|
11
|
+
- Qwen3-Coder-30B-A3B (MoE architecture for code generation, 32K max output tokens)
|
|
12
|
+
- Qwen3-235B-A22B-2507 (MoE architecture for general reasoning, 32K max output tokens)
|
|
13
|
+
- Qwen3-Coder-480B-A35B (MoE architecture for advanced software engineering, 32K max output tokens)
|
|
14
|
+
- Reasoning content extraction for DeepSeek-R1 via `reasoningContent.reasoningText`
|
|
15
|
+
- Stop sequences support (max 10 items) for DeepSeek and Qwen models
|
|
16
|
+
- Text-to-text completion with streaming support
|
|
17
|
+
- MIT-licensed open weight models for commercial use (DeepSeek)
|
|
18
|
+
- `converse_api_only` flag for models that only support Converse API (automatically forces `useConverseAPI = true`)
|
|
19
|
+
- Long-context handling support for Qwen 3 (up to 256K tokens natively, 1M with extrapolation)
|
|
20
|
+
- Hybrid thinking modes for complex problem-solving vs. fast responses
|
|
21
|
+
- Repository-scale code analysis capabilities for Qwen Coder models
|
|
22
|
+
|
|
23
|
+
### 🤬 Breaking Changes
|
|
24
|
+
- Removed `top_p` parameter from all models as it is not fully supported by AWS Bedrock
|
|
25
|
+
- `temperature` should always be used instead
|
|
26
|
+
|
|
27
|
+
### ⚙️ Technical Details
|
|
28
|
+
- **Model Configuration**: All new models use messages API format (OpenAI-compatible)
|
|
29
|
+
- **API Compatibility**:
|
|
30
|
+
- Qwen 3 models: Support both Invoke API and Converse API
|
|
31
|
+
- DeepSeek-R1: Supports both Invoke API and Converse API
|
|
32
|
+
- DeepSeek-V3.1: Converse API only (automatically enforced)
|
|
33
|
+
|
|
34
|
+
## [2.6.2] - 2025-10-16 (Claude Haiku 4.5)
|
|
35
|
+
### ✨ Added
|
|
36
|
+
- Support for Claude Haiku 4.5 models
|
|
37
|
+
- Claude-4-5-Haiku
|
|
38
|
+
- Claude-4-5-Haiku-Thinking
|
|
39
|
+
- Extended thinking support for Haiku 4.5 (first Haiku model with thinking capabilities)
|
|
40
|
+
- Vision support for Haiku 4.5 (20MB max image size, JPEG/PNG/GIF/WebP formats)
|
|
41
|
+
- 64,000 max output tokens (significant increase from Claude 3.5 Haiku's 8,192)
|
|
42
|
+
- Temperature/Top-P mutual exclusion parameter handling for Haiku 4.5 models
|
|
43
|
+
|
|
4
44
|
## [2.6.1] - 2025-09-30 (Claude Sonnet 4.5)
|
|
5
|
-
### Added
|
|
45
|
+
### ✨ Added
|
|
6
46
|
- Support for Claude Sonnet 4.5 models
|
|
7
47
|
- Claude-4-5-Sonnet
|
|
8
48
|
- Claude-4-5-Sonnet-Thinking
|
|
9
49
|
|
|
10
50
|
## [2.5.0] - 2025-08-12 (Converse API)
|
|
11
|
-
### Added
|
|
51
|
+
### ✨ Added
|
|
12
52
|
- Support for Converse API (streaming and non-streaming)
|
|
13
53
|
|
|
14
|
-
### Technical Details
|
|
54
|
+
### ⚙️ Technical Details
|
|
15
55
|
- **Model Configuration**: All models use standard messages API format
|
|
16
56
|
- **API Compatibility**: Supports OpenAI-style requests
|
|
17
57
|
- **Response Processing**: Automatic reasoning tag handling based on model variant
|
|
@@ -19,7 +59,7 @@ All notable changes to this project will be documented in this file.
|
|
|
19
59
|
- **Testing Coverage**: Full integration with existing test suites and interactive example
|
|
20
60
|
|
|
21
61
|
## [2.4.5] - 2025-08-06 (GPT-OSS Models)
|
|
22
|
-
### Added
|
|
62
|
+
### ✨ Added
|
|
23
63
|
- Support for OpenAI GPT-OSS models on AWS Bedrock
|
|
24
64
|
- GPT-OSS-120B (120B parameter open weight model)
|
|
25
65
|
- GPT-OSS-20B (20B parameter open weight model)
|
|
@@ -31,7 +71,7 @@ All notable changes to this project will be documented in this file.
|
|
|
31
71
|
- Non-streaming support for GPT-OSS models (streaming not supported by AWS Bedrock)
|
|
32
72
|
- OpenAI-compatible API format with `max_completion_tokens` parameter
|
|
33
73
|
|
|
34
|
-
### Technical Details
|
|
74
|
+
### ⚙️ Technical Details
|
|
35
75
|
- **Model Configuration**: All GPT-OSS models use standard messages API format
|
|
36
76
|
- **API Compatibility**: Supports OpenAI-style requests with Apache 2.0 licensed models
|
|
37
77
|
- **Response Processing**: Automatic reasoning tag handling based on model variant
|
|
@@ -39,13 +79,13 @@ All notable changes to this project will be documented in this file.
|
|
|
39
79
|
- **Testing Coverage**: Full integration with existing test suites and interactive example
|
|
40
80
|
|
|
41
81
|
## [2.4.4] - 2025-08-05 (Claude 4.1 Opus)
|
|
42
|
-
### Added
|
|
82
|
+
### ✨ Added
|
|
43
83
|
- Support for Claude 4.1 Opus models
|
|
44
84
|
- Claude-4-1-Opus
|
|
45
85
|
- Claude-4-1-Opus-Thinking
|
|
46
86
|
|
|
47
87
|
## [2.4.3] - 2025-07-31 (Stop Sequences Fixes)
|
|
48
|
-
### Fixed
|
|
88
|
+
### 🛠️ Fixed
|
|
49
89
|
- **Critical Discovery**: Removed stop sequences support from Llama models
|
|
50
90
|
- AWS Bedrock does not support stop sequences for Llama models (confirmed via official AWS documentation)
|
|
51
91
|
- Llama models only support: `prompt`, `temperature`, `top_p`, `max_gen_len`, `images`
|
|
@@ -54,7 +94,7 @@ All notable changes to this project will be documented in this file.
|
|
|
54
94
|
- Removed conflicting empty `inferenceConfig: {}` from Nova model configurations
|
|
55
95
|
- Improved error handling for empty responses when stop sequences trigger early
|
|
56
96
|
|
|
57
|
-
### Updated
|
|
97
|
+
### 📝 Updated
|
|
58
98
|
- **Documentation corrections**
|
|
59
99
|
- Corrected stop sequences support claims (removed "all models support" language)
|
|
60
100
|
- Added accurate model-specific support matrix with sequence limits
|
|
@@ -65,14 +105,14 @@ All notable changes to this project will be documented in this file.
|
|
|
65
105
|
- ✅ Mistral models: Full support (up to 10 sequences)
|
|
66
106
|
- ❌ Llama models: Not supported (AWS Bedrock limitation)
|
|
67
107
|
|
|
68
|
-
### Technical Details
|
|
108
|
+
### ⚙️ Technical Details
|
|
69
109
|
- Based on comprehensive research of official AWS Bedrock documentation
|
|
70
110
|
- All changes maintain full backward compatibility
|
|
71
111
|
- Test results show significant improvements in stop sequences reliability for supported models
|
|
72
112
|
- Added detailed explanations to help users understand AWS Bedrock's actual capabilities
|
|
73
113
|
|
|
74
114
|
## [2.4.2] - 2025-07-31 (Stop Sequences Support)
|
|
75
|
-
### Added
|
|
115
|
+
### ✨ Added
|
|
76
116
|
- Stop sequences support for compatible models
|
|
77
117
|
- OpenAI-compatible `stop` and `stop_sequences` parameters
|
|
78
118
|
- Automatic string-to-array conversion for compatibility
|
|
@@ -80,7 +120,7 @@ All notable changes to this project will be documented in this file.
|
|
|
80
120
|
- Enhanced request building logic to include stop sequences in appropriate API formats
|
|
81
121
|
- Comprehensive stop sequences testing and validation with `npm run test-stop`
|
|
82
122
|
|
|
83
|
-
### Fixed
|
|
123
|
+
### 🛠️ Fixed
|
|
84
124
|
- **Critical Discovery**: Removed stop sequences support from Llama models
|
|
85
125
|
- AWS Bedrock does not support stop sequences for Llama models (confirmed via official documentation)
|
|
86
126
|
- Llama models only support: `prompt`, `temperature`, `top_p`, `max_gen_len`, `images`
|
|
@@ -88,7 +128,7 @@ All notable changes to this project will be documented in this file.
|
|
|
88
128
|
- Fixed Nova model configuration conflicts that were causing stop sequence inconsistencies
|
|
89
129
|
- Improved error handling for empty responses when stop sequences trigger early
|
|
90
130
|
|
|
91
|
-
### Technical Details
|
|
131
|
+
### ⚙️ Technical Details
|
|
92
132
|
- **Model Support Matrix**:
|
|
93
133
|
- ✅ Claude models: Full support (up to 8,191 sequences)
|
|
94
134
|
- ✅ Nova models: Full support (up to 4 sequences)
|
|
@@ -100,7 +140,7 @@ All notable changes to this project will be documented in this file.
|
|
|
100
140
|
- Added comprehensive documentation in README.md and CLAUDE.md explaining support limitations
|
|
101
141
|
|
|
102
142
|
## [2.4.0] - 2025-07-24 (AWS Nova Models)
|
|
103
|
-
### Added
|
|
143
|
+
### ✨ Added
|
|
104
144
|
- Support for AWS Nova models
|
|
105
145
|
- Nova-Pro (300K context, multimodal, 5K output tokens)
|
|
106
146
|
- Nova-Lite (300K context, multimodal, optimized for speed)
|
|
@@ -110,7 +150,7 @@ All notable changes to this project will be documented in this file.
|
|
|
110
150
|
- Automatic content array formatting for Nova message compatibility
|
|
111
151
|
|
|
112
152
|
## [2.3.1] - 2025-05-22 (Claude 4 Opus / Sonnet)
|
|
113
|
-
### Added
|
|
153
|
+
### ✨ Added
|
|
114
154
|
- Support for Claude 4 Opus & Claude 4 Sonnet models
|
|
115
155
|
- Claude-4-Opus
|
|
116
156
|
- Claude-4-Opus-Thinking
|
|
@@ -118,7 +158,7 @@ All notable changes to this project will be documented in this file.
|
|
|
118
158
|
- Claude-4-Sonnet-Thinking
|
|
119
159
|
|
|
120
160
|
## [2.3.0] - 2025-02-15 (Claude 3.7 & Image Support)
|
|
121
|
-
### Added
|
|
161
|
+
### ✨ Added
|
|
122
162
|
- Support for Claude 3.7 models
|
|
123
163
|
- Claude-3-7-Sonnet
|
|
124
164
|
- Claude-3-7-Sonnet-Thinking
|
|
@@ -130,20 +170,20 @@ All notable changes to this project will be documented in this file.
|
|
|
130
170
|
- Enhanced message handling for multimodal content
|
|
131
171
|
- Documentation for image support usage
|
|
132
172
|
|
|
133
|
-
### Changed
|
|
173
|
+
### 🔄 Changed
|
|
134
174
|
- Updated model configuration for image-capable models
|
|
135
175
|
- Improved response handling for multimodal inputs
|
|
136
176
|
|
|
137
177
|
## [2.2.0] - 2025-01-01 (Llama 3.3 70b)
|
|
138
|
-
### Added
|
|
178
|
+
### ✨ Added
|
|
139
179
|
- Support for Llama 3.3 70b
|
|
140
180
|
|
|
141
181
|
## [2.1.0] - 2024-11-21 (Claude 3.5 Haiku)
|
|
142
|
-
### Added
|
|
182
|
+
### ✨ Added
|
|
143
183
|
- Support for Claude 3.5 Haiku
|
|
144
184
|
|
|
145
185
|
## [2.0.0] - 2024-10-31 (Claude Sonnet & Haiku)
|
|
146
|
-
### Added
|
|
186
|
+
### ✨ Added
|
|
147
187
|
- Support for Anthropic Sonnet & Haiku models
|
|
148
188
|
- Claude-3-5-Sonnet-v2
|
|
149
189
|
- Claude-3-5-Sonnet
|
|
@@ -153,14 +193,14 @@ All notable changes to this project will be documented in this file.
|
|
|
153
193
|
- Stardardize output to be a string via Streamed and non-Streamed responses
|
|
154
194
|
> **NOTE:** This is a breaking change for previous non-streaming responses. Existing streaming responses will remain unchanged.
|
|
155
195
|
|
|
156
|
-
### Changed
|
|
196
|
+
### 🔄 Changed
|
|
157
197
|
- Complete architecture overhaul for better model support
|
|
158
198
|
- Improved message handling with role-based formatting
|
|
159
199
|
- Enhanced error handling and response processing
|
|
160
200
|
- Standardized model configuration format
|
|
161
201
|
- Updated AWS SDK integration
|
|
162
202
|
|
|
163
|
-
### Technical Details
|
|
203
|
+
### ⚙️ Technical Details
|
|
164
204
|
- Implemented messages API support for compatible models
|
|
165
205
|
- Added system message handling as separate field where supported
|
|
166
206
|
- Configurable token limits per model
|
|
@@ -168,7 +208,7 @@ All notable changes to this project will be documented in this file.
|
|
|
168
208
|
- Cross-region profile support for certain models
|
|
169
209
|
|
|
170
210
|
## [1.3.0] - 2024-07-24 (Llama3.2)
|
|
171
|
-
### Added
|
|
211
|
+
### ✨ Added
|
|
172
212
|
- Support for Llama 3.2 series models
|
|
173
213
|
- Llama-3-2-1b
|
|
174
214
|
- Llama-3-2-3b
|
|
@@ -176,14 +216,14 @@ All notable changes to this project will be documented in this file.
|
|
|
176
216
|
- Llama-3-2-90b
|
|
177
217
|
|
|
178
218
|
## [1.1.0] - 2024-07-24 (Llama3.1)
|
|
179
|
-
### Added
|
|
219
|
+
### ✨ Added
|
|
180
220
|
- Support for Llama 3.1 series models
|
|
181
221
|
- Llama-3-1-8b
|
|
182
222
|
- Llama-3-1-70b
|
|
183
223
|
|
|
184
224
|
|
|
185
225
|
## [1.0.14] - 2024-05-06 (Initial Stable Release)
|
|
186
|
-
### Added
|
|
226
|
+
### ✨ Added
|
|
187
227
|
- Initial stablerelease of Bedrock Wrapper
|
|
188
228
|
- Basic AWS Bedrock integration
|
|
189
229
|
- OpenAI-compatible API object support
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 Justin Parker
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Justin Parker
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -43,7 +43,6 @@ Bedrock Wrapper is an npm package that simplifies the integration of existing Op
|
|
|
43
43
|
"max_tokens": LLM_MAX_GEN_TOKENS,
|
|
44
44
|
"stream": true,
|
|
45
45
|
"temperature": LLM_TEMPERATURE,
|
|
46
|
-
"top_p": LLM_TOP_P,
|
|
47
46
|
"stop_sequences": ["STOP", "END"], // Optional: sequences that will stop generation
|
|
48
47
|
};
|
|
49
48
|
```
|
|
@@ -128,6 +127,8 @@ Bedrock Wrapper is an npm package that simplifies the integration of existing Op
|
|
|
128
127
|
| Claude-4-Opus-Thinking | us.anthropic.claude-opus-4-20250514-v1:0 | ✅ |
|
|
129
128
|
| Claude-4-5-Sonnet | us.anthropic.claude-sonnet-4-5-20250929-v1:0 | ✅ |
|
|
130
129
|
| Claude-4-5-Sonnet-Thinking | us.anthropic.claude-sonnet-4-5-20250929-v1:0 | ✅ |
|
|
130
|
+
| Claude-4-5-Haiku | us.anthropic.claude-haiku-4-5-20251001-v1:0 | ✅ |
|
|
131
|
+
| Claude-4-5-Haiku-Thinking | us.anthropic.claude-haiku-4-5-20251001-v1:0 | ✅ |
|
|
131
132
|
| Claude-4-Sonnet | us.anthropic.claude-sonnet-4-20250514-v1:0 | ✅ |
|
|
132
133
|
| Claude-4-Sonnet-Thinking | us.anthropic.claude-sonnet-4-20250514-v1:0 | ✅ |
|
|
133
134
|
| Claude-3-7-Sonnet-Thinking | us.anthropic.claude-3-7-sonnet-20250219-v1:0 | ✅ |
|
|
@@ -156,7 +157,11 @@ Bedrock Wrapper is an npm package that simplifies the integration of existing Op
|
|
|
156
157
|
| Mistral-7b | mistral.mistral-7b-instruct-v0:2 | ❌ |
|
|
157
158
|
| Mixtral-8x7b | mistral.mixtral-8x7b-instruct-v0:1 | ❌ |
|
|
158
159
|
| Mistral-Large | mistral.mistral-large-2402-v1:0 | ❌ |
|
|
159
|
-
|
|
160
|
+
| Qwen3-32B | alibaba.qwen3-32b-instruct-v1:0 | ❌ |
|
|
161
|
+
| Qwen3-Coder-30B-A3B | alibaba.qwen3-coder-30b-a3b-instruct-v1:0 | ❌ |
|
|
162
|
+
| Qwen3-235B-A22B-2507 | alibaba.qwen3-235b-a22b-instruct-2507-v1:0 | ❌ |
|
|
163
|
+
| Qwen3-Coder-480B-A35B | alibaba.qwen3-coder-480b-a35b-instruct-v1:0 | ❌ |
|
|
164
|
+
|
|
160
165
|
To return the list progrmatically you can import and call `listBedrockWrapperSupportedModels`:
|
|
161
166
|
```javascript
|
|
162
167
|
import { listBedrockWrapperSupportedModels } from 'bedrock-wrapper';
|
|
@@ -170,7 +175,7 @@ Please modify the `bedrock_models.js` file and submit a PR 🏆 or create an Iss
|
|
|
170
175
|
|
|
171
176
|
### Image Support
|
|
172
177
|
|
|
173
|
-
For models with image support (Claude 4+ series including Claude 4.5 Sonnet, Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 3 Haiku, Nova Pro, and Nova Lite), you can include images in your messages using the following format (not all models support system prompts):
|
|
178
|
+
For models with image support (Claude 4+ series including Claude 4.5 Sonnet, Claude 4.5 Haiku, Claude 3.7 Sonnet, Claude 3.5 Sonnet, Claude 3 Haiku, Nova Pro, and Nova Lite), you can include images in your messages using the following format (not all models support system prompts):
|
|
174
179
|
|
|
175
180
|
```javascript
|
|
176
181
|
messages = [
|
|
@@ -233,9 +238,10 @@ const openaiChatCompletionsCreateObject = {
|
|
|
233
238
|
|
|
234
239
|
**Model Support:**
|
|
235
240
|
- ✅ **Claude models**: Fully supported (up to 8,191 sequences)
|
|
236
|
-
- ✅ **Nova models**: Fully supported (up to 4 sequences)
|
|
241
|
+
- ✅ **Nova models**: Fully supported (up to 4 sequences)
|
|
237
242
|
- ✅ **GPT-OSS models**: Fully supported
|
|
238
243
|
- ✅ **Mistral models**: Fully supported (up to 10 sequences)
|
|
244
|
+
- ✅ **Qwen models**: Fully supported
|
|
239
245
|
- ❌ **Llama models**: Not supported (AWS Bedrock limitation)
|
|
240
246
|
|
|
241
247
|
**Features:**
|
|
@@ -249,7 +255,7 @@ const openaiChatCompletionsCreateObject = {
|
|
|
249
255
|
// Stop generation when model tries to output "7"
|
|
250
256
|
const result = await bedrockWrapper(awsCreds, {
|
|
251
257
|
messages: [{ role: "user", content: "Count from 1 to 10" }],
|
|
252
|
-
model: "Claude-3-5-Sonnet", // Use Claude, Nova, or
|
|
258
|
+
model: "Claude-3-5-Sonnet", // Use Claude, Nova, Mistral, or Qwen models
|
|
253
259
|
stop_sequences: ["7"]
|
|
254
260
|
});
|
|
255
261
|
// Response: "1, 2, 3, 4, 5, 6," (stops before "7")
|
|
@@ -267,31 +273,11 @@ Some AWS Bedrock models have specific parameter restrictions that are automatica
|
|
|
267
273
|
|
|
268
274
|
**Affected Models:**
|
|
269
275
|
- Claude-4-5-Sonnet & Claude-4-5-Sonnet-Thinking
|
|
270
|
-
- Claude-4-
|
|
276
|
+
- Claude-4-5-Haiku & Claude-4-5-Haiku-Thinking
|
|
277
|
+
- Claude-4-Sonnet & Claude-4-Sonnet-Thinking
|
|
271
278
|
- Claude-4-Opus & Claude-4-Opus-Thinking
|
|
272
279
|
- Claude-4-1-Opus & Claude-4-1-Opus-Thinking
|
|
273
280
|
|
|
274
|
-
**Restriction:** These models cannot accept both `temperature` and `top_p` parameters simultaneously.
|
|
275
|
-
|
|
276
|
-
**Automatic Handling:** When both parameters are provided, the wrapper automatically:
|
|
277
|
-
1. **Keeps `temperature`** (prioritized as more commonly used)
|
|
278
|
-
2. **Removes `top_p`** to prevent validation errors
|
|
279
|
-
3. **Works with both APIs** (Invoke API and Converse API)
|
|
280
|
-
|
|
281
|
-
```javascript
|
|
282
|
-
const request = {
|
|
283
|
-
messages: [{ role: "user", content: "Hello" }],
|
|
284
|
-
model: "Claude-4-5-Sonnet",
|
|
285
|
-
temperature: 0.7, // ✅ Kept
|
|
286
|
-
top_p: 0.9 // ❌ Automatically removed
|
|
287
|
-
};
|
|
288
|
-
|
|
289
|
-
// No error thrown - wrapper handles the restriction automatically
|
|
290
|
-
const response = await bedrockWrapper(awsCreds, request);
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
**Why This Happens:** AWS Bedrock enforces this restriction on newer Claude models to ensure optimal performance and prevent conflicting sampling parameters.
|
|
294
|
-
|
|
295
281
|
---
|
|
296
282
|
|
|
297
283
|
### 🧪 Testing
|
package/bedrock-models.js
CHANGED
|
@@ -144,9 +144,6 @@ export const bedrock_models = [
|
|
|
144
144
|
"response_nonchunk_element": "content[0].text",
|
|
145
145
|
"thinking_response_chunk_element": "delta.thinking",
|
|
146
146
|
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
147
|
-
"parameter_restrictions": {
|
|
148
|
-
"mutually_exclusive": [["temperature", "top_p"]]
|
|
149
|
-
},
|
|
150
147
|
"special_request_schema": {
|
|
151
148
|
"anthropic_version": "bedrock-2023-05-31",
|
|
152
149
|
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
@@ -175,9 +172,66 @@ export const bedrock_models = [
|
|
|
175
172
|
"response_nonchunk_element": "content[0].text",
|
|
176
173
|
"thinking_response_chunk_element": "delta.thinking",
|
|
177
174
|
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
178
|
-
"
|
|
179
|
-
"
|
|
175
|
+
"special_request_schema": {
|
|
176
|
+
"anthropic_version": "bedrock-2023-05-31",
|
|
177
|
+
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
178
|
+
"thinking": {
|
|
179
|
+
"type": "enabled",
|
|
180
|
+
"budget_tokens": 16000
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
"image_support": {
|
|
184
|
+
"max_image_size": 20971520, // 20MB
|
|
185
|
+
"supported_formats": ["jpeg", "png", "gif", "webp"],
|
|
186
|
+
"max_images_per_request": 10
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
// ======================
|
|
191
|
+
// == Claude 4.5 Haiku ==
|
|
192
|
+
// ======================
|
|
193
|
+
"modelName": "Claude-4-5-Haiku",
|
|
194
|
+
// "modelId": "anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
195
|
+
"modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
196
|
+
"vision": true,
|
|
197
|
+
"messages_api": true,
|
|
198
|
+
"system_as_separate_field": true,
|
|
199
|
+
"display_role_names": true,
|
|
200
|
+
"max_tokens_param_name": "max_tokens",
|
|
201
|
+
"max_supported_response_tokens": 64000,
|
|
202
|
+
"stop_sequences_param_name": "stop_sequences",
|
|
203
|
+
"response_chunk_element": "delta.text",
|
|
204
|
+
"response_nonchunk_element": "content[0].text",
|
|
205
|
+
"thinking_response_chunk_element": "delta.thinking",
|
|
206
|
+
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
207
|
+
"special_request_schema": {
|
|
208
|
+
"anthropic_version": "bedrock-2023-05-31",
|
|
209
|
+
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
180
210
|
},
|
|
211
|
+
"image_support": {
|
|
212
|
+
"max_image_size": 20971520, // 20MB
|
|
213
|
+
"supported_formats": ["jpeg", "png", "gif", "webp"],
|
|
214
|
+
"max_images_per_request": 10
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
// ===============================
|
|
219
|
+
// == Claude 4.5 Haiku Thinking ==
|
|
220
|
+
// ===============================
|
|
221
|
+
"modelName": "Claude-4-5-Haiku-Thinking",
|
|
222
|
+
// "modelId": "anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
223
|
+
"modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0",
|
|
224
|
+
"vision": true,
|
|
225
|
+
"messages_api": true,
|
|
226
|
+
"system_as_separate_field": true,
|
|
227
|
+
"display_role_names": true,
|
|
228
|
+
"max_tokens_param_name": "max_tokens",
|
|
229
|
+
"max_supported_response_tokens": 64000,
|
|
230
|
+
"stop_sequences_param_name": "stop_sequences",
|
|
231
|
+
"response_chunk_element": "delta.text",
|
|
232
|
+
"response_nonchunk_element": "content[0].text",
|
|
233
|
+
"thinking_response_chunk_element": "delta.thinking",
|
|
234
|
+
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
181
235
|
"special_request_schema": {
|
|
182
236
|
"anthropic_version": "bedrock-2023-05-31",
|
|
183
237
|
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
@@ -210,9 +264,6 @@ export const bedrock_models = [
|
|
|
210
264
|
"response_nonchunk_element": "content[0].text",
|
|
211
265
|
"thinking_response_chunk_element": "delta.thinking",
|
|
212
266
|
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
213
|
-
"parameter_restrictions": {
|
|
214
|
-
"mutually_exclusive": [["temperature", "top_p"]]
|
|
215
|
-
},
|
|
216
267
|
"special_request_schema": {
|
|
217
268
|
"anthropic_version": "bedrock-2023-05-31",
|
|
218
269
|
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
@@ -241,9 +292,6 @@ export const bedrock_models = [
|
|
|
241
292
|
"response_nonchunk_element": "content[0].text",
|
|
242
293
|
"thinking_response_chunk_element": "delta.thinking",
|
|
243
294
|
"thinking_response_nonchunk_element": "content[0].thinking",
|
|
244
|
-
"parameter_restrictions": {
|
|
245
|
-
"mutually_exclusive": [["temperature", "top_p"]]
|
|
246
|
-
},
|
|
247
295
|
"special_request_schema": {
|
|
248
296
|
"anthropic_version": "bedrock-2023-05-31",
|
|
249
297
|
"anthropic_beta": ["output-128k-2025-02-19"],
|
|
@@ -912,4 +960,120 @@ export const bedrock_models = [
|
|
|
912
960
|
"stop_sequences_param_name": "stop",
|
|
913
961
|
"response_chunk_element": "outputs[0].text"
|
|
914
962
|
},
|
|
963
|
+
{
|
|
964
|
+
// ================
|
|
965
|
+
// == Qwen3-32B ==
|
|
966
|
+
// ================
|
|
967
|
+
"modelName": "Qwen3-32B",
|
|
968
|
+
"modelId": "qwen.qwen3-32b-v1:0",
|
|
969
|
+
"vision": false,
|
|
970
|
+
"messages_api": true,
|
|
971
|
+
"system_as_separate_field": false,
|
|
972
|
+
"display_role_names": true,
|
|
973
|
+
"max_tokens_param_name": "max_tokens",
|
|
974
|
+
"max_supported_response_tokens": 32768,
|
|
975
|
+
"stop_sequences_param_name": "stop",
|
|
976
|
+
"response_chunk_element": "choices[0].delta.content",
|
|
977
|
+
"response_nonchunk_element": "choices[0].message.content",
|
|
978
|
+
"special_request_schema": {}
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
// =========================
|
|
982
|
+
// == Qwen3-Coder-30B-A3B ==
|
|
983
|
+
// =========================
|
|
984
|
+
"modelName": "Qwen3-Coder-30B-A3B",
|
|
985
|
+
"modelId": "qwen.qwen3-coder-30b-a3b-v1:0",
|
|
986
|
+
"vision": false,
|
|
987
|
+
"messages_api": true,
|
|
988
|
+
"system_as_separate_field": false,
|
|
989
|
+
"display_role_names": true,
|
|
990
|
+
"max_tokens_param_name": "max_tokens",
|
|
991
|
+
"max_supported_response_tokens": 32768,
|
|
992
|
+
"stop_sequences_param_name": "stop",
|
|
993
|
+
"response_chunk_element": "choices[0].delta.content",
|
|
994
|
+
"response_nonchunk_element": "choices[0].message.content",
|
|
995
|
+
"special_request_schema": {}
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
// ==========================
|
|
999
|
+
// == Qwen3-235B-A22B-2507 ==
|
|
1000
|
+
// ==========================
|
|
1001
|
+
"modelName": "Qwen3-235B-A22B-2507",
|
|
1002
|
+
"modelId": "qwen.qwen3-235b-a22b-2507-v1:0",
|
|
1003
|
+
"vision": false,
|
|
1004
|
+
"messages_api": true,
|
|
1005
|
+
"system_as_separate_field": false,
|
|
1006
|
+
"display_role_names": true,
|
|
1007
|
+
"max_tokens_param_name": "max_tokens",
|
|
1008
|
+
"max_supported_response_tokens": 32768,
|
|
1009
|
+
"stop_sequences_param_name": "stop",
|
|
1010
|
+
"response_chunk_element": "choices[0].delta.content",
|
|
1011
|
+
"response_nonchunk_element": "choices[0].message.content",
|
|
1012
|
+
"special_request_schema": {}
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
// ===========================
|
|
1016
|
+
// == Qwen3-Coder-480B-A35B ==
|
|
1017
|
+
// ===========================
|
|
1018
|
+
"modelName": "Qwen3-Coder-480B-A35B",
|
|
1019
|
+
"modelId": "qwen.qwen3-coder-480b-a35b-v1:0",
|
|
1020
|
+
"vision": false,
|
|
1021
|
+
"messages_api": true,
|
|
1022
|
+
"system_as_separate_field": false,
|
|
1023
|
+
"display_role_names": true,
|
|
1024
|
+
"max_tokens_param_name": "max_tokens",
|
|
1025
|
+
"max_supported_response_tokens": 32768,
|
|
1026
|
+
"stop_sequences_param_name": "stop",
|
|
1027
|
+
"response_chunk_element": "choices[0].delta.content",
|
|
1028
|
+
"response_nonchunk_element": "choices[0].message.content",
|
|
1029
|
+
"special_request_schema": {}
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
// =================
|
|
1033
|
+
// == DeepSeek-R1 ==
|
|
1034
|
+
// =================
|
|
1035
|
+
"modelName": "DeepSeek-R1",
|
|
1036
|
+
// "modelId": "deepseek.r1-v1:0",
|
|
1037
|
+
"modelId": "us.deepseek.r1-v1:0",
|
|
1038
|
+
"vision": false,
|
|
1039
|
+
"messages_api": false,
|
|
1040
|
+
"bos_text": "",
|
|
1041
|
+
"role_system_message_prefix": "",
|
|
1042
|
+
"role_system_message_suffix": "",
|
|
1043
|
+
"role_system_prefix": "",
|
|
1044
|
+
"role_system_suffix": "",
|
|
1045
|
+
"role_user_message_prefix": "",
|
|
1046
|
+
"role_user_message_suffix": "",
|
|
1047
|
+
"role_user_prefix": "",
|
|
1048
|
+
"role_user_suffix": "",
|
|
1049
|
+
"role_assistant_message_prefix": "",
|
|
1050
|
+
"role_assistant_message_suffix": "",
|
|
1051
|
+
"role_assistant_prefix": "",
|
|
1052
|
+
"role_assistant_suffix": "",
|
|
1053
|
+
"eom_text": "",
|
|
1054
|
+
"display_role_names": false,
|
|
1055
|
+
"max_tokens_param_name": "max_tokens",
|
|
1056
|
+
"max_supported_response_tokens": 8192,
|
|
1057
|
+
"stop_sequences_param_name": "stop",
|
|
1058
|
+
"response_chunk_element": "choices[0].text",
|
|
1059
|
+
"special_request_schema": {}
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
// ====================
|
|
1063
|
+
// == DeepSeek-V3.1 ==
|
|
1064
|
+
// ====================
|
|
1065
|
+
"modelName": "DeepSeek-V3.1",
|
|
1066
|
+
"modelId": "deepseek.v3-v1:0",
|
|
1067
|
+
"vision": false,
|
|
1068
|
+
"messages_api": true,
|
|
1069
|
+
"converse_api_only": true,
|
|
1070
|
+
"system_as_separate_field": false,
|
|
1071
|
+
"display_role_names": true,
|
|
1072
|
+
"max_tokens_param_name": "max_tokens",
|
|
1073
|
+
"max_supported_response_tokens": 8192,
|
|
1074
|
+
"stop_sequences_param_name": "stop",
|
|
1075
|
+
"response_chunk_element": "choices[0].delta.content",
|
|
1076
|
+
"response_nonchunk_element": "choices[0].message.content",
|
|
1077
|
+
"special_request_schema": {}
|
|
1078
|
+
},
|
|
915
1079
|
];
|