@@ -55,14 +55,30 @@ class ChatCompletion(EBResource, CreatableWithStreaming):
55
55
"ernie-3.5" : {
56
56
"model_id" : "completions" ,
57
57
},
58
+ "ernie-3.5-8k" : {
59
+ "model_id" : "completions" ,
60
+ },
58
61
"ernie-turbo" : {
59
62
"model_id" : "eb-instant" ,
60
63
},
61
64
"ernie-4.0" : {
62
65
"model_id" : "completions_pro" ,
63
66
},
64
67
"ernie-longtext" : {
65
- "model_id" : "ernie_bot_8k" ,
68
+ # ernie-longtext(ernie_bot_8k) will be deprecated in 2024.4.11
69
+ "model_id" : "completions" ,
70
+ },
71
+ "ernie-speed" : {
72
+ "model_id" : "ernie_speed" ,
73
+ },
74
+ "ernie-speed-128k" : {
75
+ "model_id" : "ernie-speed-128k" ,
76
+ },
77
+ "ernie-tiny-8k" : {
78
+ "model_id" : "ernie-tiny-8k" ,
79
+ },
80
+ "ernie-char-8k" : {
81
+ "model_id" : "ernie-char-8k" ,
66
82
},
67
83
},
68
84
},
@@ -72,14 +88,30 @@ class ChatCompletion(EBResource, CreatableWithStreaming):
72
88
"ernie-3.5" : {
73
89
"model_id" : "completions" ,
74
90
},
91
+ "ernie-3.5-8k" : {
92
+ "model_id" : "completions" ,
93
+ },
75
94
"ernie-turbo" : {
76
95
"model_id" : "eb-instant" ,
77
96
},
78
97
"ernie-4.0" : {
79
98
"model_id" : "completions_pro" ,
80
99
},
81
100
"ernie-longtext" : {
82
- "model_id" : "ernie_bot_8k" ,
101
+ # ernie-longtext(ernie_bot_8k) will be deprecated in 2024.4.11
102
+ "model_id" : "completions" ,
103
+ },
104
+ "ernie-speed" : {
105
+ "model_id" : "ernie_speed" ,
106
+ },
107
+ "ernie-speed-128k" : {
108
+ "model_id" : "ernie-speed-128k" ,
109
+ },
110
+ "ernie-tiny-8k" : {
111
+ "model_id" : "ernie-tiny-8k" ,
112
+ },
113
+ "ernie-char-8k" : {
114
+ "model_id" : "ernie-char-8k" ,
83
115
},
84
116
},
85
117
},
@@ -89,6 +121,15 @@ class ChatCompletion(EBResource, CreatableWithStreaming):
89
121
"ernie-3.5" : {
90
122
"model_id" : "completions" ,
91
123
},
124
+ "ernie-4.0" : {
125
+ "model_id" : "completions_pro" ,
126
+ },
127
+ "ernie-longtext" : {
128
+ "model_id" : "completions" ,
129
+ },
130
+ "ernie-speed" : {
131
+ "model_id" : "ernie_speed" ,
132
+ },
92
133
},
93
134
},
94
135
}
@@ -251,6 +292,7 @@ def create(
251
292
kwargs ["headers" ] = headers
252
293
if request_timeout is not None :
253
294
kwargs ["request_timeout" ] = request_timeout
295
+
254
296
resp = resource .create_resource (** kwargs )
255
297
return transform (ChatCompletionResponse .from_mapping , resp )
256
298
@@ -412,9 +454,32 @@ async def acreate(
412
454
kwargs ["headers" ] = headers
413
455
if request_timeout is not None :
414
456
kwargs ["request_timeout" ] = request_timeout
457
+
415
458
resp = await resource .acreate_resource (** kwargs )
416
459
return transform (ChatCompletionResponse .from_mapping , resp )
417
460
461
+ def _check_model_kwargs (self , model_name : str , kwargs : Dict [str , Any ]) -> None :
462
+ if model_name in ("ernie-turbo" ,):
463
+ for arg in (
464
+ "functions" ,
465
+ "stop" ,
466
+ "disable_search" ,
467
+ "enable_citation" ,
468
+ "tool_choice" ,
469
+ ):
470
+ if arg in kwargs :
471
+ raise errors .InvalidArgumentError (f"`{ arg } ` is not supported by the { model_name } model." )
472
+
473
+ if model_name in ("ernie-speed" , "ernie-speed-128k" , "ernie-char-8k" , "ernie-tiny-8k" ):
474
+ for arg in (
475
+ "functions" ,
476
+ "disable_search" ,
477
+ "enable_citation" ,
478
+ "tool_choice" ,
479
+ ):
480
+ if arg in kwargs :
481
+ raise errors .InvalidArgumentError (f"`{ arg } ` is not supported by the { model_name } model." )
482
+
418
483
def _prepare_create (self , kwargs : Dict [str , Any ]) -> RequestWithStream :
419
484
def _update_model_name (given_name : str , old_name_to_new_name : Dict [str , str ]) -> str :
420
485
if given_name in old_name_to_new_name :
@@ -467,7 +532,8 @@ def _set_val_if_key_exists(src: dict, dst: dict, key: str) -> None:
467
532
"ernie-bot" : "ernie-3.5" ,
468
533
"ernie-bot-turbo" : "ernie-turbo" ,
469
534
"ernie-bot-4" : "ernie-4.0" ,
470
- "ernie-bot-8k" : "ernie-longtext" ,
535
+ "ernie-bot-8k" : "ernie-3.5-8k" ,
536
+ "ernie-longtext" : "ernie-3.5-8k" ,
471
537
},
472
538
)
473
539
@@ -489,10 +555,8 @@ def _set_val_if_key_exists(src: dict, dst: dict, key: str) -> None:
489
555
490
556
# params
491
557
params = {}
492
- if model == "ernie-turbo" :
493
- for arg in ("functions" , "stop" , "disable_search" , "enable_citation" ):
494
- if arg in kwargs :
495
- raise errors .InvalidArgumentError (f"`{ arg } ` is not supported by the { model } model." )
558
+ self ._check_model_kwargs (model , kwargs )
559
+
496
560
params ["messages" ] = messages
497
561
if "functions" in kwargs :
498
562
functions = kwargs ["functions" ]
0 commit comments