File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -149,14 +149,31 @@ export const BedrockConverseChatCompleteConfig: ProviderConfig = {
149
149
required : true ,
150
150
transform : ( params : BedrockChatCompletionsParams ) => {
151
151
if ( ! params . messages ) return [ ] ;
152
- return params . messages
152
+ const transformedMessages = params . messages
153
153
. filter ( ( msg ) => msg . role !== 'system' )
154
154
. map ( ( msg ) => {
155
155
return {
156
156
role : msg . role === 'assistant' ? 'assistant' : 'user' ,
157
157
content : getMessageContent ( msg ) ,
158
158
} ;
159
159
} ) ;
160
+ let prevRole = '' ;
161
+ // combine user messages in succession
162
+ const combinedMessages = transformedMessages . reduce (
163
+ ( acc : typeof transformedMessages , msg ) => {
164
+ if ( msg . role === 'user' && prevRole === 'user' ) {
165
+ const lastMessage = acc [ acc . length - 1 ] ;
166
+ const newContent = [ ...lastMessage . content , ...msg . content ] ;
167
+ lastMessage . content = newContent as typeof lastMessage . content ;
168
+ } else {
169
+ acc . push ( msg ) ;
170
+ }
171
+ prevRole = msg . role ;
172
+ return acc ;
173
+ } ,
174
+ [ ]
175
+ ) ;
176
+ return combinedMessages ;
160
177
} ,
161
178
} ,
162
179
{
You can’t perform that action at this time.
0 commit comments