Update model_mapper.py
Browse files- model_mapper.py +50 -50
model_mapper.py
CHANGED
@@ -1,51 +1,51 @@
|
|
1 |
-
"""
|
2 |
-
模型映射模块
|
3 |
-
管理OpenAI模型名称到Warp模型名称的映射
|
4 |
-
"""
|
5 |
-
from typing import List
|
6 |
-
|
7 |
-
|
8 |
-
class ModelMapper:
|
9 |
-
"""模型名称映射管理"""
|
10 |
-
|
11 |
-
MODEL_MAPPING = {
|
12 |
-
"claude-4-
|
13 |
-
"claude-3-7-sonnet": "claude-3-7-sonnet",
|
14 |
-
"claude-3-5-sonnet": "claude-3-5-sonnet",
|
15 |
-
"claude-3-5-haiku": "claude-3-5-haiku",
|
16 |
-
"gpt-4o": "gpt-4o",
|
17 |
-
"gpt-4.1": "gpt-4.1",
|
18 |
-
"o4-mini": "o4-mini",
|
19 |
-
"o3": "o3",
|
20 |
-
"o3-mini": "o3-mini",
|
21 |
-
"gemini-2.0-flash": "gemini-2.0-flash",
|
22 |
-
"gemini-2.5-pro": "gemini-2.5-pro"
|
23 |
-
}
|
24 |
-
|
25 |
-
DEFAULT_MODEL = "gemini-2.0-flash"
|
26 |
-
|
27 |
-
@classmethod
|
28 |
-
def get_warp_model(cls, openai_model: str) -> str:
|
29 |
-
"""将OpenAI模型名转换为Warp模型名"""
|
30 |
-
return cls.MODEL_MAPPING.get(openai_model, cls.DEFAULT_MODEL)
|
31 |
-
|
32 |
-
@classmethod
|
33 |
-
def get_available_models(cls) -> List[str]:
|
34 |
-
"""获取所有可用模型列表"""
|
35 |
-
return list(cls.MODEL_MAPPING.keys())
|
36 |
-
|
37 |
-
@classmethod
|
38 |
-
def is_valid_model(cls, model: str) -> bool:
|
39 |
-
"""检查模型是否有效"""
|
40 |
-
return model in cls.MODEL_MAPPING
|
41 |
-
|
42 |
-
@classmethod
|
43 |
-
def add_model_mapping(cls, openai_model: str, warp_model: str):
|
44 |
-
"""添加新的模型映射"""
|
45 |
-
cls.MODEL_MAPPING[openai_model] = warp_model
|
46 |
-
|
47 |
-
@classmethod
|
48 |
-
def remove_model_mapping(cls, openai_model: str):
|
49 |
-
"""移除模型映射"""
|
50 |
-
if openai_model in cls.MODEL_MAPPING:
|
51 |
del cls.MODEL_MAPPING[openai_model]
|
|
|
1 |
+
"""
|
2 |
+
模型映射模块
|
3 |
+
管理OpenAI模型名称到Warp模型名称的映射
|
4 |
+
"""
|
5 |
+
from typing import List
|
6 |
+
|
7 |
+
|
8 |
+
class ModelMapper:
|
9 |
+
"""模型名称映射管理"""
|
10 |
+
|
11 |
+
MODEL_MAPPING = {
|
12 |
+
"claude-sonnet-4-20250514": "claude-4-sonnet",
|
13 |
+
"claude-3-7-sonnet-20250219": "claude-3-7-sonnet",
|
14 |
+
"claude-3-5-sonnet-20241022": "claude-3-5-sonnet",
|
15 |
+
"claude-3-5-haiku-20241022": "claude-3-5-haiku",
|
16 |
+
"gpt-4o": "gpt-4o",
|
17 |
+
"gpt-4.1": "gpt-4.1",
|
18 |
+
"o4-mini": "o4-mini",
|
19 |
+
"o3": "o3",
|
20 |
+
"o3-mini": "o3-mini",
|
21 |
+
"gemini-2.0-flash": "gemini-2.0-flash",
|
22 |
+
"gemini-2.5-pro": "gemini-2.5-pro"
|
23 |
+
}
|
24 |
+
|
25 |
+
DEFAULT_MODEL = "gemini-2.0-flash"
|
26 |
+
|
27 |
+
@classmethod
|
28 |
+
def get_warp_model(cls, openai_model: str) -> str:
|
29 |
+
"""将OpenAI模型名转换为Warp模型名"""
|
30 |
+
return cls.MODEL_MAPPING.get(openai_model, cls.DEFAULT_MODEL)
|
31 |
+
|
32 |
+
@classmethod
|
33 |
+
def get_available_models(cls) -> List[str]:
|
34 |
+
"""获取所有可用模型列表"""
|
35 |
+
return list(cls.MODEL_MAPPING.keys())
|
36 |
+
|
37 |
+
@classmethod
|
38 |
+
def is_valid_model(cls, model: str) -> bool:
|
39 |
+
"""检查模型是否有效"""
|
40 |
+
return model in cls.MODEL_MAPPING
|
41 |
+
|
42 |
+
@classmethod
|
43 |
+
def add_model_mapping(cls, openai_model: str, warp_model: str):
|
44 |
+
"""添加新的模型映射"""
|
45 |
+
cls.MODEL_MAPPING[openai_model] = warp_model
|
46 |
+
|
47 |
+
@classmethod
|
48 |
+
def remove_model_mapping(cls, openai_model: str):
|
49 |
+
"""移除模型映射"""
|
50 |
+
if openai_model in cls.MODEL_MAPPING:
|
51 |
del cls.MODEL_MAPPING[openai_model]
|