@@ -17,6 +17,9 @@ import {
17
17
import { BedrockErrorResponse } from './embed' ;
18
18
import {
19
19
transformAdditionalModelRequestFields ,
20
+ transformAI21AdditionalModelRequestFields ,
21
+ transformAnthropicAdditionalModelRequestFields ,
22
+ transformCohereAdditionalModelRequestFields ,
20
23
transformInferenceConfig ,
21
24
} from './utils' ;
22
25
@@ -32,6 +35,29 @@ export interface BedrockChatCompletionsParams extends Params {
32
35
countPenalty ?: number ;
33
36
}
34
37
38
+ export interface BedrockConverseAnthropicChatCompletionsParams
39
+ extends BedrockChatCompletionsParams {
40
+ anthropic_version ?: string ;
41
+ user ?: string ;
42
+ }
43
+
44
+ export interface BedrockConverseCohereChatCompletionsParams
45
+ extends BedrockChatCompletionsParams {
46
+ frequency_penalty ?: number ;
47
+ presence_penalty ?: number ;
48
+ logit_bias ?: Record < string , number > ;
49
+ n ?: number ;
50
+ }
51
+
52
+ export interface BedrockConverseAI21ChatCompletionsParams
53
+ extends BedrockChatCompletionsParams {
54
+ frequency_penalty ?: number ;
55
+ presence_penalty ?: number ;
56
+ frequencyPenalty ?: number ;
57
+ presencePenalty ?: number ;
58
+ countPenalty ?: number ;
59
+ }
60
+
35
61
const getMessageTextContentArray = ( message : Message ) : { text : string } [ ] => {
36
62
if ( message . content && typeof message . content === 'object' ) {
37
63
return message . content
@@ -232,41 +258,6 @@ export const BedrockConverseChatCompleteConfig: ProviderConfig = {
232
258
transform : ( params : BedrockChatCompletionsParams ) =>
233
259
transformAdditionalModelRequestFields ( params ) ,
234
260
} ,
235
- anthropic_version : {
236
- param : 'additionalModelRequestFields' ,
237
- transform : ( params : BedrockChatCompletionsParams ) =>
238
- transformAdditionalModelRequestFields ( params ) ,
239
- } ,
240
- frequency_penalty : {
241
- param : 'additionalModelRequestFields' ,
242
- transform : ( params : BedrockChatCompletionsParams ) =>
243
- transformAdditionalModelRequestFields ( params ) ,
244
- } ,
245
- presence_penalty : {
246
- param : 'additionalModelRequestFields' ,
247
- transform : ( params : BedrockChatCompletionsParams ) =>
248
- transformAdditionalModelRequestFields ( params ) ,
249
- } ,
250
- logit_bias : {
251
- param : 'additionalModelRequestFields' ,
252
- transform : ( params : BedrockChatCompletionsParams ) =>
253
- transformAdditionalModelRequestFields ( params ) ,
254
- } ,
255
- n : {
256
- param : 'additionalModelRequestFields' ,
257
- transform : ( params : BedrockChatCompletionsParams ) =>
258
- transformAdditionalModelRequestFields ( params ) ,
259
- } ,
260
- stream : {
261
- param : 'additionalModelRequestFields' ,
262
- transform : ( params : BedrockChatCompletionsParams ) =>
263
- transformAdditionalModelRequestFields ( params ) ,
264
- } ,
265
- countPenalty : {
266
- param : 'additionalModelRequestFields' ,
267
- transform : ( params : BedrockChatCompletionsParams ) =>
268
- transformAdditionalModelRequestFields ( params ) ,
269
- } ,
270
261
} ;
271
262
272
263
interface BedrockChatCompletionResponse {
@@ -460,6 +451,108 @@ export const BedrockChatCompleteStreamChunkTransform: (
460
451
} ) } \n\n`;
461
452
} ;
462
453
454
+ export const BedrockConverseAnthropicChatCompleteConfig : ProviderConfig = {
455
+ ...BedrockConverseChatCompleteConfig ,
456
+ additionalModelRequestFields : {
457
+ param : 'additionalModelRequestFields' ,
458
+ transform : ( params : BedrockChatCompletionsParams ) =>
459
+ transformAnthropicAdditionalModelRequestFields ( params ) ,
460
+ } ,
461
+ top_k : {
462
+ param : 'additionalModelRequestFields' ,
463
+ transform : ( params : BedrockChatCompletionsParams ) =>
464
+ transformAnthropicAdditionalModelRequestFields ( params ) ,
465
+ } ,
466
+ anthropic_version : {
467
+ param : 'additionalModelRequestFields' ,
468
+ transform : ( params : BedrockChatCompletionsParams ) =>
469
+ transformAnthropicAdditionalModelRequestFields ( params ) ,
470
+ } ,
471
+ user : {
472
+ param : 'user' ,
473
+ transform : ( params : BedrockChatCompletionsParams ) =>
474
+ transformAnthropicAdditionalModelRequestFields ( params ) ,
475
+ } ,
476
+ } ;
477
+
478
+ export const BedrockConverseCohereChatCompleteConfig : ProviderConfig = {
479
+ ...BedrockConverseChatCompleteConfig ,
480
+ additionalModelRequestFields : {
481
+ param : 'additionalModelRequestFields' ,
482
+ transform : ( params : BedrockChatCompletionsParams ) =>
483
+ transformCohereAdditionalModelRequestFields ( params ) ,
484
+ } ,
485
+ top_k : {
486
+ param : 'additionalModelRequestFields' ,
487
+ transform : ( params : BedrockChatCompletionsParams ) =>
488
+ transformCohereAdditionalModelRequestFields ( params ) ,
489
+ } ,
490
+ frequency_penalty : {
491
+ param : 'additionalModelRequestFields' ,
492
+ transform : ( params : BedrockChatCompletionsParams ) =>
493
+ transformCohereAdditionalModelRequestFields ( params ) ,
494
+ } ,
495
+ presence_penalty : {
496
+ param : 'additionalModelRequestFields' ,
497
+ transform : ( params : BedrockChatCompletionsParams ) =>
498
+ transformCohereAdditionalModelRequestFields ( params ) ,
499
+ } ,
500
+ logit_bias : {
501
+ param : 'additionalModelRequestFields' ,
502
+ transform : ( params : BedrockChatCompletionsParams ) =>
503
+ transformCohereAdditionalModelRequestFields ( params ) ,
504
+ } ,
505
+ n : {
506
+ param : 'additionalModelRequestFields' ,
507
+ transform : ( params : BedrockChatCompletionsParams ) =>
508
+ transformCohereAdditionalModelRequestFields ( params ) ,
509
+ } ,
510
+ stream : {
511
+ param : 'additionalModelRequestFields' ,
512
+ transform : ( params : BedrockChatCompletionsParams ) =>
513
+ transformCohereAdditionalModelRequestFields ( params ) ,
514
+ } ,
515
+ } ;
516
+
517
+ export const BedrockConverseAI21ChatCompleteConfig : ProviderConfig = {
518
+ ...BedrockConverseChatCompleteConfig ,
519
+ additionalModelRequestFields : {
520
+ param : 'additionalModelRequestFields' ,
521
+ transform : ( params : BedrockChatCompletionsParams ) =>
522
+ transformAI21AdditionalModelRequestFields ( params ) ,
523
+ } ,
524
+ top_k : {
525
+ param : 'additionalModelRequestFields' ,
526
+ transform : ( params : BedrockChatCompletionsParams ) =>
527
+ transformAI21AdditionalModelRequestFields ( params ) ,
528
+ } ,
529
+ frequency_penalty : {
530
+ param : 'additionalModelRequestFields' ,
531
+ transform : ( params : BedrockChatCompletionsParams ) =>
532
+ transformAI21AdditionalModelRequestFields ( params ) ,
533
+ } ,
534
+ presence_penalty : {
535
+ param : 'additionalModelRequestFields' ,
536
+ transform : ( params : BedrockChatCompletionsParams ) =>
537
+ transformAI21AdditionalModelRequestFields ( params ) ,
538
+ } ,
539
+ frequencyPenalty : {
540
+ param : 'additionalModelRequestFields' ,
541
+ transform : ( params : BedrockChatCompletionsParams ) =>
542
+ transformAI21AdditionalModelRequestFields ( params ) ,
543
+ } ,
544
+ presencePenalty : {
545
+ param : 'additionalModelRequestFields' ,
546
+ transform : ( params : BedrockChatCompletionsParams ) =>
547
+ transformAI21AdditionalModelRequestFields ( params ) ,
548
+ } ,
549
+ countPenalty : {
550
+ param : 'additionalModelRequestFields' ,
551
+ transform : ( params : BedrockChatCompletionsParams ) =>
552
+ transformAI21AdditionalModelRequestFields ( params ) ,
553
+ } ,
554
+ } ;
555
+
463
556
export const BedrockCohereChatCompleteConfig : ProviderConfig = {
464
557
messages : {
465
558
param : 'prompt' ,
0 commit comments