@@ -30,15 +30,19 @@ class ModelType(Enum):
30
30
GPT_4_TURBO = "gpt-4-turbo"
31
31
GPT_4O = "gpt-4o"
32
32
GLM_4 = "glm-4"
33
+ GLM_4_OPEN_SOURCE = "glm-4-open-source"
33
34
GLM_4V = 'glm-4v'
34
35
GLM_3_TURBO = "glm-3-turbo"
35
36
36
37
STUB = "stub"
37
38
38
39
LLAMA_2 = "llama-2"
40
+ LLAMA_3 = "llama-3"
39
41
VICUNA = "vicuna"
40
42
VICUNA_16K = "vicuna-16k"
41
43
44
+ QWEN_2 = "qwen-2"
45
+
42
46
# Legacy anthropic models
43
47
# NOTE: anthropic lagecy models only Claude 2.1 has system prompt support
44
48
CLAUDE_2_1 = "claude-2.1"
@@ -87,6 +91,9 @@ def is_open_source(self) -> bool:
87
91
r"""Returns whether this type of models is open-source."""
88
92
return self in {
89
93
ModelType .LLAMA_2 ,
94
+ ModelType .LLAMA_3 ,
95
+ ModelType .QWEN_2 ,
96
+ ModelType .GLM_4_OPEN_SOURCE ,
90
97
ModelType .VICUNA ,
91
98
ModelType .VICUNA_16K ,
92
99
}
@@ -135,7 +142,7 @@ def token_limit(self) -> int:
135
142
return 128000
136
143
elif self is ModelType .GPT_4O :
137
144
return 128000
138
- elif self == ModelType .GLM_4 :
145
+ elif self == ModelType .GLM_4_OPEN_SOURCE :
139
146
return 8192
140
147
elif self == ModelType .GLM_3_TURBO :
141
148
return 8192
@@ -145,6 +152,12 @@ def token_limit(self) -> int:
145
152
return 4096
146
153
elif self is ModelType .LLAMA_2 :
147
154
return 4096
155
+ elif self is ModelType .LLAMA_3 :
156
+ return 8192
157
+ elif self is ModelType .QWEN_2 :
158
+ return 128000
159
+ elif self is ModelType .GLM_4 :
160
+ return 8192
148
161
elif self is ModelType .VICUNA :
149
162
# reference: https://lmsys.org/blog/2023-03-30-vicuna/
150
163
return 2048
@@ -184,6 +197,20 @@ def validate_model_name(self, model_name: str) -> bool:
184
197
self .value in model_name .lower ()
185
198
or "llama2" in model_name .lower ()
186
199
)
200
+ elif self is ModelType .LLAMA_3 :
201
+ return (
202
+ self .value in model_name .lower ()
203
+ or "llama3" in model_name .lower ()
204
+ )
205
+ elif self is ModelType .QWEN_2 :
206
+ return (
207
+ self .value in model_name .lower ()
208
+ or "qwen2" in model_name .lower ()
209
+ )
210
+ elif self is ModelType .GLM_4_OPEN_SOURCE :
211
+ return (
212
+ 'glm-4' in model_name .lower () or "glm4" in model_name .lower ()
213
+ )
187
214
else :
188
215
return self .value in model_name .lower ()
189
216
0 commit comments