camel-ai 0.2.73a4__py3-none-any.whl → 0.2.80a2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- camel/__init__.py +1 -1
- camel/agents/_utils.py +38 -0
- camel/agents/chat_agent.py +2217 -519
- camel/agents/mcp_agent.py +30 -27
- camel/configs/__init__.py +15 -0
- camel/configs/aihubmix_config.py +88 -0
- camel/configs/amd_config.py +70 -0
- camel/configs/cometapi_config.py +104 -0
- camel/configs/minimax_config.py +93 -0
- camel/configs/nebius_config.py +103 -0
- camel/data_collectors/alpaca_collector.py +15 -6
- camel/datasets/base_generator.py +39 -10
- camel/environments/single_step.py +28 -3
- camel/environments/tic_tac_toe.py +1 -1
- camel/interpreters/__init__.py +2 -0
- camel/interpreters/docker/Dockerfile +3 -12
- camel/interpreters/e2b_interpreter.py +34 -1
- camel/interpreters/microsandbox_interpreter.py +395 -0
- camel/loaders/__init__.py +11 -2
- camel/loaders/chunkr_reader.py +9 -0
- camel/memories/agent_memories.py +48 -4
- camel/memories/base.py +26 -0
- camel/memories/blocks/chat_history_block.py +122 -4
- camel/memories/context_creators/score_based.py +25 -384
- camel/memories/records.py +88 -8
- camel/messages/base.py +153 -34
- camel/models/__init__.py +10 -0
- camel/models/aihubmix_model.py +83 -0
- camel/models/aiml_model.py +1 -16
- camel/models/amd_model.py +101 -0
- camel/models/anthropic_model.py +6 -19
- camel/models/aws_bedrock_model.py +2 -33
- camel/models/azure_openai_model.py +114 -89
- camel/models/base_audio_model.py +3 -1
- camel/models/base_model.py +32 -14
- camel/models/cohere_model.py +1 -16
- camel/models/cometapi_model.py +83 -0
- camel/models/crynux_model.py +1 -16
- camel/models/deepseek_model.py +1 -16
- camel/models/fish_audio_model.py +6 -0
- camel/models/gemini_model.py +36 -18
- camel/models/groq_model.py +1 -17
- camel/models/internlm_model.py +1 -16
- camel/models/litellm_model.py +1 -16
- camel/models/lmstudio_model.py +1 -17
- camel/models/minimax_model.py +83 -0
- camel/models/mistral_model.py +1 -16
- camel/models/model_factory.py +27 -1
- camel/models/modelscope_model.py +1 -16
- camel/models/moonshot_model.py +105 -24
- camel/models/nebius_model.py +83 -0
- camel/models/nemotron_model.py +0 -5
- camel/models/netmind_model.py +1 -16
- camel/models/novita_model.py +1 -16
- camel/models/nvidia_model.py +1 -16
- camel/models/ollama_model.py +4 -19
- camel/models/openai_compatible_model.py +62 -41
- camel/models/openai_model.py +62 -57
- camel/models/openrouter_model.py +1 -17
- camel/models/ppio_model.py +1 -16
- camel/models/qianfan_model.py +1 -16
- camel/models/qwen_model.py +1 -16
- camel/models/reka_model.py +1 -16
- camel/models/samba_model.py +34 -47
- camel/models/sglang_model.py +64 -31
- camel/models/siliconflow_model.py +1 -16
- camel/models/stub_model.py +0 -4
- camel/models/togetherai_model.py +1 -16
- camel/models/vllm_model.py +1 -16
- camel/models/volcano_model.py +0 -17
- camel/models/watsonx_model.py +1 -16
- camel/models/yi_model.py +1 -16
- camel/models/zhipuai_model.py +60 -16
- camel/parsers/__init__.py +18 -0
- camel/parsers/mcp_tool_call_parser.py +176 -0
- camel/retrievers/auto_retriever.py +1 -0
- camel/runtimes/daytona_runtime.py +11 -12
- camel/societies/__init__.py +2 -0
- camel/societies/workforce/__init__.py +2 -0
- camel/societies/workforce/events.py +122 -0
- camel/societies/workforce/prompts.py +146 -66
- camel/societies/workforce/role_playing_worker.py +15 -11
- camel/societies/workforce/single_agent_worker.py +302 -65
- camel/societies/workforce/structured_output_handler.py +30 -18
- camel/societies/workforce/task_channel.py +163 -27
- camel/societies/workforce/utils.py +107 -13
- camel/societies/workforce/workflow_memory_manager.py +772 -0
- camel/societies/workforce/workforce.py +1949 -579
- camel/societies/workforce/workforce_callback.py +74 -0
- camel/societies/workforce/workforce_logger.py +168 -145
- camel/societies/workforce/workforce_metrics.py +33 -0
- camel/storages/key_value_storages/json.py +15 -2
- camel/storages/key_value_storages/mem0_cloud.py +48 -47
- camel/storages/object_storages/google_cloud.py +1 -1
- camel/storages/vectordb_storages/oceanbase.py +13 -13
- camel/storages/vectordb_storages/qdrant.py +3 -3
- camel/storages/vectordb_storages/tidb.py +8 -6
- camel/tasks/task.py +4 -3
- camel/toolkits/__init__.py +20 -7
- camel/toolkits/aci_toolkit.py +45 -0
- camel/toolkits/base.py +6 -4
- camel/toolkits/code_execution.py +28 -1
- camel/toolkits/context_summarizer_toolkit.py +684 -0
- camel/toolkits/dappier_toolkit.py +5 -1
- camel/toolkits/dingtalk.py +1135 -0
- camel/toolkits/edgeone_pages_mcp_toolkit.py +11 -31
- camel/toolkits/excel_toolkit.py +1 -1
- camel/toolkits/{file_write_toolkit.py → file_toolkit.py} +430 -36
- camel/toolkits/function_tool.py +13 -3
- camel/toolkits/github_toolkit.py +104 -17
- camel/toolkits/gmail_toolkit.py +1839 -0
- camel/toolkits/google_calendar_toolkit.py +38 -4
- camel/toolkits/google_drive_mcp_toolkit.py +12 -31
- camel/toolkits/hybrid_browser_toolkit/config_loader.py +15 -0
- camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +77 -8
- camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +884 -88
- camel/toolkits/hybrid_browser_toolkit/installer.py +203 -0
- camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +5 -612
- camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -1
- camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +959 -89
- camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +9 -2
- camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +281 -213
- camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +226 -0
- camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +219 -0
- camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +543 -0
- camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +23 -3
- camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +72 -7
- camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +582 -132
- camel/toolkits/hybrid_browser_toolkit_py/actions.py +158 -0
- camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +55 -8
- camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +43 -0
- camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +321 -8
- camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +10 -4
- camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +45 -4
- camel/toolkits/{openai_image_toolkit.py → image_generation_toolkit.py} +151 -53
- camel/toolkits/klavis_toolkit.py +5 -1
- camel/toolkits/markitdown_toolkit.py +27 -1
- camel/toolkits/math_toolkit.py +64 -10
- camel/toolkits/mcp_toolkit.py +366 -71
- camel/toolkits/memory_toolkit.py +5 -1
- camel/toolkits/message_integration.py +18 -13
- camel/toolkits/minimax_mcp_toolkit.py +195 -0
- camel/toolkits/note_taking_toolkit.py +19 -10
- camel/toolkits/notion_mcp_toolkit.py +16 -26
- camel/toolkits/openbb_toolkit.py +5 -1
- camel/toolkits/origene_mcp_toolkit.py +8 -49
- camel/toolkits/playwright_mcp_toolkit.py +12 -31
- camel/toolkits/resend_toolkit.py +168 -0
- camel/toolkits/search_toolkit.py +264 -91
- camel/toolkits/slack_toolkit.py +64 -10
- camel/toolkits/terminal_toolkit/__init__.py +18 -0
- camel/toolkits/terminal_toolkit/terminal_toolkit.py +957 -0
- camel/toolkits/terminal_toolkit/utils.py +532 -0
- camel/toolkits/vertex_ai_veo_toolkit.py +590 -0
- camel/toolkits/video_analysis_toolkit.py +17 -11
- camel/toolkits/wechat_official_toolkit.py +483 -0
- camel/toolkits/zapier_toolkit.py +5 -1
- camel/types/__init__.py +2 -2
- camel/types/enums.py +274 -7
- camel/types/openai_types.py +2 -2
- camel/types/unified_model_type.py +15 -0
- camel/utils/commons.py +36 -5
- camel/utils/constants.py +3 -0
- camel/utils/context_utils.py +1003 -0
- camel/utils/mcp.py +138 -4
- camel/utils/token_counting.py +43 -20
- {camel_ai-0.2.73a4.dist-info → camel_ai-0.2.80a2.dist-info}/METADATA +223 -83
- {camel_ai-0.2.73a4.dist-info → camel_ai-0.2.80a2.dist-info}/RECORD +170 -141
- camel/loaders/pandas_reader.py +0 -368
- camel/toolkits/openai_agent_toolkit.py +0 -135
- camel/toolkits/terminal_toolkit.py +0 -1550
- {camel_ai-0.2.73a4.dist-info → camel_ai-0.2.80a2.dist-info}/WHEEL +0 -0
- {camel_ai-0.2.73a4.dist-info → camel_ai-0.2.80a2.dist-info}/licenses/LICENSE +0 -0
camel/types/enums.py
CHANGED
|
@@ -24,6 +24,7 @@ logger = get_logger(__name__)
|
|
|
24
24
|
class RoleType(Enum):
|
|
25
25
|
ASSISTANT = "assistant"
|
|
26
26
|
USER = "user"
|
|
27
|
+
SYSTEM = "system"
|
|
27
28
|
CRITIC = "critic"
|
|
28
29
|
EMBODIMENT = "embodiment"
|
|
29
30
|
DEFAULT = "default"
|
|
@@ -48,6 +49,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
48
49
|
O4_MINI = "o4-mini"
|
|
49
50
|
O3 = "o3"
|
|
50
51
|
O3_PRO = "o3-pro"
|
|
52
|
+
GPT_5_1_Instant = "gpt-5.1"
|
|
53
|
+
GPT_5 = "gpt-5"
|
|
54
|
+
GPT_5_MINI = "gpt-5-mini"
|
|
55
|
+
GPT_5_NANO = "gpt-5-nano"
|
|
51
56
|
|
|
52
57
|
AWS_CLAUDE_3_7_SONNET = "anthropic.claude-3-7-sonnet-20250219-v1:0"
|
|
53
58
|
AWS_CLAUDE_3_5_SONNET = "anthropic.claude-3-5-sonnet-20241022-v2:0"
|
|
@@ -59,6 +64,9 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
59
64
|
AWS_LLAMA_3_2_11B_INSTRUCT = "us.meta.llama3-2-11b-instruct-v1:0"
|
|
60
65
|
AWS_CLAUDE_SONNET_4 = "anthropic.claude-sonnet-4-20250514-v1:0"
|
|
61
66
|
AWS_CLAUDE_OPUS_4 = "anthropic.claude-opus-4-20250514-v1:0"
|
|
67
|
+
AWS_CLAUDE_OPUS_4_1 = "anthropic.claude-opus-4-1-20250805-v1:0"
|
|
68
|
+
|
|
69
|
+
AMD_GPT4 = "dvue-aoai-001-gpt-4.1"
|
|
62
70
|
|
|
63
71
|
GLM_4 = "glm-4"
|
|
64
72
|
GLM_4V = "glm-4v"
|
|
@@ -83,6 +91,51 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
83
91
|
GROQ_MIXTRAL_8_7B = "mixtral-8x7b-32768"
|
|
84
92
|
GROQ_GEMMA_2_9B_IT = "gemma2-9b-it"
|
|
85
93
|
|
|
94
|
+
# Nebius AI Studio platform models
|
|
95
|
+
NEBIUS_GPT_OSS_120B = "gpt-oss-120b"
|
|
96
|
+
NEBIUS_GPT_OSS_20B = "gpt-oss-20b"
|
|
97
|
+
NEBIUS_GLM_4_5 = "GLM-4.5"
|
|
98
|
+
NEBIUS_DEEPSEEK_V3 = "deepseek-ai/DeepSeek-V3"
|
|
99
|
+
NEBIUS_DEEPSEEK_R1 = "deepseek-ai/DeepSeek-R1"
|
|
100
|
+
NEBIUS_LLAMA_3_1_70B = "meta-llama/Meta-Llama-3.1-70B-Instruct"
|
|
101
|
+
NEBIUS_MISTRAL_7B_INSTRUCT = "mistralai/Mistral-7B-Instruct-v0.3"
|
|
102
|
+
|
|
103
|
+
# CometAPI platform models
|
|
104
|
+
COMETAPI_GPT_5_CHAT_LATEST = "gpt-5-chat-latest"
|
|
105
|
+
COMETAPI_CHATGPT_4O_LATEST = "chatgpt-4o-latest"
|
|
106
|
+
COMETAPI_GPT_5_MINI = "gpt-5-mini"
|
|
107
|
+
COMETAPI_GPT_5_NANO = "gpt-5-nano"
|
|
108
|
+
COMETAPI_GPT_5 = "gpt-5"
|
|
109
|
+
COMETAPI_GPT_4_1 = "gpt-4.1"
|
|
110
|
+
COMETAPI_GPT_4O_MINI = "gpt-4o-mini"
|
|
111
|
+
COMETAPI_O4_MINI_2025_04_16 = "o4-mini-2025-04-16"
|
|
112
|
+
COMETAPI_O3_PRO_2025_06_10 = "o3-pro-2025-06-10"
|
|
113
|
+
COMETAPI_CLAUDE_OPUS_4_1_20250805 = "claude-opus-4-1-20250805"
|
|
114
|
+
COMETAPI_CLAUDE_OPUS_4_1_20250805_THINKING = (
|
|
115
|
+
"claude-opus-4-1-20250805-thinking"
|
|
116
|
+
)
|
|
117
|
+
COMETAPI_CLAUDE_SONNET_4_20250514 = "claude-sonnet-4-20250514"
|
|
118
|
+
COMETAPI_CLAUDE_SONNET_4_20250514_THINKING = (
|
|
119
|
+
"claude-sonnet-4-20250514-thinking"
|
|
120
|
+
)
|
|
121
|
+
COMETAPI_CLAUDE_3_7_SONNET_LATEST = "claude-3-7-sonnet-latest"
|
|
122
|
+
COMETAPI_CLAUDE_3_5_HAIKU_LATEST = "claude-3-5-haiku-latest"
|
|
123
|
+
COMETAPI_GEMINI_2_5_PRO = "gemini-2.5-pro"
|
|
124
|
+
COMETAPI_GEMINI_2_5_FLASH = "gemini-2.5-flash"
|
|
125
|
+
COMETAPI_GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite"
|
|
126
|
+
COMETAPI_GEMINI_2_0_FLASH = "gemini-2.0-flash"
|
|
127
|
+
COMETAPI_GROK_4_0709 = "grok-4-0709"
|
|
128
|
+
COMETAPI_GROK_3 = "grok-3"
|
|
129
|
+
COMETAPI_GROK_3_MINI = "grok-3-mini"
|
|
130
|
+
COMETAPI_GROK_2_IMAGE_1212 = "grok-2-image-1212"
|
|
131
|
+
COMETAPI_DEEPSEEK_V3_1 = "deepseek-v3.1"
|
|
132
|
+
COMETAPI_DEEPSEEK_V3 = "deepseek-v3"
|
|
133
|
+
COMETAPI_DEEPSEEK_R1_0528 = "deepseek-r1-0528"
|
|
134
|
+
COMETAPI_DEEPSEEK_CHAT = "deepseek-chat"
|
|
135
|
+
COMETAPI_DEEPSEEK_REASONER = "deepseek-reasoner"
|
|
136
|
+
COMETAPI_QWEN3_30B_A3B = "qwen3-30b-a3b"
|
|
137
|
+
COMETAPI_QWEN3_CODER_PLUS_2025_07_22 = "qwen3-coder-plus-2025-07-22"
|
|
138
|
+
|
|
86
139
|
# OpenRouter models
|
|
87
140
|
OPENROUTER_LLAMA_3_1_405B = "meta-llama/llama-3.1-405b-instruct"
|
|
88
141
|
OPENROUTER_LLAMA_3_1_70B = "meta-llama/llama-3.1-70b-instruct"
|
|
@@ -91,6 +144,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
91
144
|
OPENROUTER_LLAMA_4_SCOUT = "meta-llama/llama-4-scout"
|
|
92
145
|
OPENROUTER_LLAMA_4_SCOUT_FREE = "meta-llama/llama-4-scout:free"
|
|
93
146
|
OPENROUTER_OLYMPICODER_7B = "open-r1/olympiccoder-7b:free"
|
|
147
|
+
OPENROUTER_HORIZON_ALPHA = "openrouter/horizon-alpha"
|
|
94
148
|
|
|
95
149
|
# LMStudio models
|
|
96
150
|
LMSTUDIO_GEMMA_3_1B = "gemma-3-1b"
|
|
@@ -155,8 +209,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
155
209
|
CLAUDE_3_5_SONNET = "claude-3-5-sonnet-latest"
|
|
156
210
|
CLAUDE_3_5_HAIKU = "claude-3-5-haiku-latest"
|
|
157
211
|
CLAUDE_3_7_SONNET = "claude-3-7-sonnet-latest"
|
|
212
|
+
CLAUDE_SONNET_4_5 = "claude-sonnet-4-5"
|
|
158
213
|
CLAUDE_SONNET_4 = "claude-sonnet-4-20250514"
|
|
159
214
|
CLAUDE_OPUS_4 = "claude-opus-4-20250514"
|
|
215
|
+
CLAUDE_OPUS_4_1 = "claude-opus-4-1-20250805"
|
|
160
216
|
|
|
161
217
|
# Netmind models
|
|
162
218
|
NETMIND_LLAMA_4_MAVERICK_17B_128E_INSTRUCT = (
|
|
@@ -185,6 +241,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
185
241
|
NVIDIA_LLAMA3_3_70B_INSTRUCT = "meta/llama-3.3-70b-instruct"
|
|
186
242
|
|
|
187
243
|
# Gemini models
|
|
244
|
+
GEMINI_3_PRO = "gemini-3-pro-preview"
|
|
188
245
|
GEMINI_2_5_FLASH = "gemini-2.5-flash"
|
|
189
246
|
GEMINI_2_5_PRO = "gemini-2.5-pro"
|
|
190
247
|
GEMINI_2_0_FLASH = "gemini-2.0-flash"
|
|
@@ -207,9 +264,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
207
264
|
MISTRAL_MIXTRAL_8x22B = "open-mixtral-8x22b"
|
|
208
265
|
MISTRAL_NEMO = "open-mistral-nemo"
|
|
209
266
|
MISTRAL_PIXTRAL_12B = "pixtral-12b-2409"
|
|
210
|
-
|
|
211
|
-
MAGISTRAL_MEDIUM = "magistral-medium-2506"
|
|
267
|
+
MISTRAL_MEDIUM_3_1 = "mistral-medium-2508"
|
|
212
268
|
MISTRAL_SMALL_3_2 = "mistral-small-2506"
|
|
269
|
+
MAGISTRAL_SMALL_1_2 = "magistral-small-1.2"
|
|
270
|
+
MAGISTRAL_MEDIUM_1_2 = "magistral-medium-1.2"
|
|
213
271
|
|
|
214
272
|
# Reka models
|
|
215
273
|
REKA_CORE = "reka-core"
|
|
@@ -245,6 +303,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
245
303
|
QWEN_QWQ_32B = "qwq-32b-preview"
|
|
246
304
|
QWEN_QVQ_72B = "qvq-72b-preview"
|
|
247
305
|
QWEN_QWQ_PLUS = "qwq-plus"
|
|
306
|
+
QWEN_3_CODER_PLUS = "qwen3-coder-plus"
|
|
248
307
|
|
|
249
308
|
# Yi models (01-ai)
|
|
250
309
|
YI_LIGHTNING = "yi-lightning"
|
|
@@ -275,9 +334,31 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
275
334
|
# SiliconFlow models support tool calling
|
|
276
335
|
SILICONFLOW_DEEPSEEK_V2_5 = "deepseek-ai/DeepSeek-V2.5"
|
|
277
336
|
SILICONFLOW_DEEPSEEK_V3 = "deepseek-ai/DeepSeek-V3"
|
|
337
|
+
SILICONFLOW_PRO_DEEPSEEK_V3 = "Pro/deepseek-ai/DeepSeek-V3"
|
|
338
|
+
SILICONFLOW_DEEPSEEK_R1 = "deepseek-ai/DeepSeek-R1"
|
|
339
|
+
SILICONFLOW_PRO_DEEPSEEK_R1 = "Pro/deepseek-ai/DeepSeek-R1"
|
|
340
|
+
SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_32B = (
|
|
341
|
+
"deepseek-ai/DeepSeek-R1-Distill-Qwen-32B"
|
|
342
|
+
)
|
|
343
|
+
SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_14B = (
|
|
344
|
+
"deepseek-ai/DeepSeek-R1-Distill-Qwen-14B"
|
|
345
|
+
)
|
|
346
|
+
SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_7B = (
|
|
347
|
+
"deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"
|
|
348
|
+
)
|
|
349
|
+
SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_1_5B = (
|
|
350
|
+
"deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
|
|
351
|
+
)
|
|
352
|
+
SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_7B = (
|
|
353
|
+
"Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"
|
|
354
|
+
)
|
|
355
|
+
SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_1_5B = (
|
|
356
|
+
"Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
|
|
357
|
+
)
|
|
278
358
|
SILICONFLOW_INTERN_LM2_5_20B_CHAT = "internlm/internlm2_5-20b-chat"
|
|
279
359
|
SILICONFLOW_INTERN_LM2_5_7B_CHAT = "internlm/internlm2_5-7b-chat"
|
|
280
360
|
SILICONFLOW_PRO_INTERN_LM2_5_7B_CHAT = "Pro/internlm/internlm2_5-7b-chat"
|
|
361
|
+
SILICONFLOW_QWQ_32B = "Qwen/QwQ-32B"
|
|
281
362
|
SILICONFLOW_QWEN2_5_72B_INSTRUCT = "Qwen/Qwen2.5-72B-Instruct"
|
|
282
363
|
SILICONFLOW_QWEN2_5_32B_INSTRUCT = "Qwen/Qwen2.5-32B-Instruct"
|
|
283
364
|
SILICONFLOW_QWEN2_5_14B_INSTRUCT = "Qwen/Qwen2.5-14B-Instruct"
|
|
@@ -285,6 +366,12 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
285
366
|
SILICONFLOW_PRO_QWEN2_5_7B_INSTRUCT = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
|
286
367
|
SILICONFLOW_THUDM_GLM_4_9B_CHAT = "THUDM/glm-4-9b-chat"
|
|
287
368
|
SILICONFLOW_PRO_THUDM_GLM_4_9B_CHAT = "Pro/THUDM/glm-4-9b-chat"
|
|
369
|
+
SILICONFLOW_THUDM_GLM_Z1_32B_0414 = "THUDM/GLM-Z1-32B-0414"
|
|
370
|
+
SILICONFLOW_THUDM_GLM_4_32B_0414 = "THUDM/GLM-4-32B-0414"
|
|
371
|
+
SILICONFLOW_THUDM_GLM_Z1_RUMINATION_32B_0414 = (
|
|
372
|
+
"THUDM/GLM-Z1-Rumination-32B-0414"
|
|
373
|
+
)
|
|
374
|
+
SILICONFLOW_THUDM_GLM_4_9B_0414 = "THUDM/GLM-4-9B-0414"
|
|
288
375
|
|
|
289
376
|
# AIML models support tool calling
|
|
290
377
|
AIML_MIXTRAL_8X7B = "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
|
@@ -417,6 +504,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
417
504
|
CRYNUX_NOUS_HERMES_3_LLAMA_3_1_8B = "NousResearch/Hermes-3-Llama-3.1-8B"
|
|
418
505
|
CRYNUX_NOUS_HERMES_3_LLAMA_3_2_3B = "NousResearch/Hermes-3-Llama-3.2-3B"
|
|
419
506
|
|
|
507
|
+
# Minimax M2 models
|
|
508
|
+
MINIMAX_M2 = "MiniMax-M2"
|
|
509
|
+
MINIMAX_M2_STABLE = "MiniMax-M2-Stable"
|
|
510
|
+
|
|
420
511
|
def __str__(self):
|
|
421
512
|
return self.value
|
|
422
513
|
|
|
@@ -494,10 +585,20 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
494
585
|
ModelType.GPT_4_1,
|
|
495
586
|
ModelType.GPT_4_1_MINI,
|
|
496
587
|
ModelType.GPT_4_1_NANO,
|
|
588
|
+
ModelType.GPT_5,
|
|
589
|
+
ModelType.GPT_5_MINI,
|
|
590
|
+
ModelType.GPT_5_NANO,
|
|
497
591
|
ModelType.O4_MINI,
|
|
498
592
|
ModelType.O3,
|
|
499
593
|
}
|
|
500
594
|
|
|
595
|
+
@property
|
|
596
|
+
def is_amd(self) -> bool:
|
|
597
|
+
r"""Returns whether this type of models is a AMD model."""
|
|
598
|
+
return self in {
|
|
599
|
+
ModelType.AMD_GPT4,
|
|
600
|
+
}
|
|
601
|
+
|
|
501
602
|
@property
|
|
502
603
|
def is_aws_bedrock(self) -> bool:
|
|
503
604
|
r"""Returns whether this type of models is an AWS Bedrock model."""
|
|
@@ -512,6 +613,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
512
613
|
ModelType.AWS_LLAMA_3_2_11B_INSTRUCT,
|
|
513
614
|
ModelType.AWS_CLAUDE_SONNET_4,
|
|
514
615
|
ModelType.AWS_CLAUDE_OPUS_4,
|
|
616
|
+
ModelType.AWS_CLAUDE_OPUS_4_1,
|
|
515
617
|
}
|
|
516
618
|
|
|
517
619
|
@property
|
|
@@ -534,6 +636,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
534
636
|
ModelType.GPT_4_1,
|
|
535
637
|
ModelType.GPT_4_1_MINI,
|
|
536
638
|
ModelType.GPT_4_1_NANO,
|
|
639
|
+
ModelType.GPT_5,
|
|
537
640
|
ModelType.O4_MINI,
|
|
538
641
|
ModelType.O3,
|
|
539
642
|
}
|
|
@@ -574,8 +677,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
574
677
|
ModelType.CLAUDE_3_5_SONNET,
|
|
575
678
|
ModelType.CLAUDE_3_5_HAIKU,
|
|
576
679
|
ModelType.CLAUDE_3_7_SONNET,
|
|
680
|
+
ModelType.CLAUDE_SONNET_4_5,
|
|
577
681
|
ModelType.CLAUDE_SONNET_4,
|
|
578
682
|
ModelType.CLAUDE_OPUS_4,
|
|
683
|
+
ModelType.CLAUDE_OPUS_4_1,
|
|
579
684
|
}
|
|
580
685
|
|
|
581
686
|
@property
|
|
@@ -591,6 +696,56 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
591
696
|
ModelType.GROQ_GEMMA_2_9B_IT,
|
|
592
697
|
}
|
|
593
698
|
|
|
699
|
+
@property
|
|
700
|
+
def is_nebius(self) -> bool:
|
|
701
|
+
r"""Returns whether this type of models is served by Nebius AI
|
|
702
|
+
Studio."""
|
|
703
|
+
return self in {
|
|
704
|
+
ModelType.NEBIUS_GPT_OSS_120B,
|
|
705
|
+
ModelType.NEBIUS_GPT_OSS_20B,
|
|
706
|
+
ModelType.NEBIUS_GLM_4_5,
|
|
707
|
+
ModelType.NEBIUS_DEEPSEEK_V3,
|
|
708
|
+
ModelType.NEBIUS_DEEPSEEK_R1,
|
|
709
|
+
ModelType.NEBIUS_LLAMA_3_1_70B,
|
|
710
|
+
ModelType.NEBIUS_MISTRAL_7B_INSTRUCT,
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
@property
|
|
714
|
+
def is_cometapi(self) -> bool:
|
|
715
|
+
r"""Returns whether this type of models is served by CometAPI."""
|
|
716
|
+
return self in {
|
|
717
|
+
ModelType.COMETAPI_GPT_5_CHAT_LATEST,
|
|
718
|
+
ModelType.COMETAPI_CHATGPT_4O_LATEST,
|
|
719
|
+
ModelType.COMETAPI_GPT_5_MINI,
|
|
720
|
+
ModelType.COMETAPI_GPT_5_NANO,
|
|
721
|
+
ModelType.COMETAPI_GPT_5,
|
|
722
|
+
ModelType.COMETAPI_GPT_4_1,
|
|
723
|
+
ModelType.COMETAPI_GPT_4O_MINI,
|
|
724
|
+
ModelType.COMETAPI_O4_MINI_2025_04_16,
|
|
725
|
+
ModelType.COMETAPI_O3_PRO_2025_06_10,
|
|
726
|
+
ModelType.COMETAPI_CLAUDE_OPUS_4_1_20250805,
|
|
727
|
+
ModelType.COMETAPI_CLAUDE_OPUS_4_1_20250805_THINKING,
|
|
728
|
+
ModelType.COMETAPI_CLAUDE_SONNET_4_20250514,
|
|
729
|
+
ModelType.COMETAPI_CLAUDE_SONNET_4_20250514_THINKING,
|
|
730
|
+
ModelType.COMETAPI_CLAUDE_3_7_SONNET_LATEST,
|
|
731
|
+
ModelType.COMETAPI_CLAUDE_3_5_HAIKU_LATEST,
|
|
732
|
+
ModelType.COMETAPI_GEMINI_2_5_PRO,
|
|
733
|
+
ModelType.COMETAPI_GEMINI_2_5_FLASH,
|
|
734
|
+
ModelType.COMETAPI_GEMINI_2_5_FLASH_LITE,
|
|
735
|
+
ModelType.COMETAPI_GEMINI_2_0_FLASH,
|
|
736
|
+
ModelType.COMETAPI_GROK_4_0709,
|
|
737
|
+
ModelType.COMETAPI_GROK_3,
|
|
738
|
+
ModelType.COMETAPI_GROK_3_MINI,
|
|
739
|
+
ModelType.COMETAPI_GROK_2_IMAGE_1212,
|
|
740
|
+
ModelType.COMETAPI_DEEPSEEK_V3_1,
|
|
741
|
+
ModelType.COMETAPI_DEEPSEEK_V3,
|
|
742
|
+
ModelType.COMETAPI_DEEPSEEK_R1_0528,
|
|
743
|
+
ModelType.COMETAPI_DEEPSEEK_CHAT,
|
|
744
|
+
ModelType.COMETAPI_DEEPSEEK_REASONER,
|
|
745
|
+
ModelType.COMETAPI_QWEN3_30B_A3B,
|
|
746
|
+
ModelType.COMETAPI_QWEN3_CODER_PLUS_2025_07_22,
|
|
747
|
+
}
|
|
748
|
+
|
|
594
749
|
@property
|
|
595
750
|
def is_openrouter(self) -> bool:
|
|
596
751
|
r"""Returns whether this type of models is served by OpenRouter."""
|
|
@@ -602,6 +757,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
602
757
|
ModelType.OPENROUTER_LLAMA_4_SCOUT,
|
|
603
758
|
ModelType.OPENROUTER_LLAMA_4_SCOUT_FREE,
|
|
604
759
|
ModelType.OPENROUTER_OLYMPICODER_7B,
|
|
760
|
+
ModelType.OPENROUTER_HORIZON_ALPHA,
|
|
605
761
|
}
|
|
606
762
|
|
|
607
763
|
@property
|
|
@@ -649,9 +805,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
649
805
|
ModelType.MISTRAL_PIXTRAL_12B,
|
|
650
806
|
ModelType.MISTRAL_8B,
|
|
651
807
|
ModelType.MISTRAL_3B,
|
|
652
|
-
ModelType.
|
|
653
|
-
ModelType.MAGISTRAL_MEDIUM,
|
|
808
|
+
ModelType.MISTRAL_MEDIUM_3_1,
|
|
654
809
|
ModelType.MISTRAL_SMALL_3_2,
|
|
810
|
+
ModelType.MAGISTRAL_SMALL_1_2,
|
|
811
|
+
ModelType.MAGISTRAL_MEDIUM_1_2,
|
|
655
812
|
}
|
|
656
813
|
|
|
657
814
|
@property
|
|
@@ -680,6 +837,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
680
837
|
bool: Whether this type of models is gemini.
|
|
681
838
|
"""
|
|
682
839
|
return self in {
|
|
840
|
+
ModelType.GEMINI_3_PRO,
|
|
683
841
|
ModelType.GEMINI_2_5_FLASH,
|
|
684
842
|
ModelType.GEMINI_2_5_PRO,
|
|
685
843
|
ModelType.GEMINI_2_0_FLASH,
|
|
@@ -763,6 +921,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
763
921
|
ModelType.QWEN_PLUS_2025_04_28,
|
|
764
922
|
ModelType.QWEN_TURBO_LATEST,
|
|
765
923
|
ModelType.QWEN_TURBO_2025_04_28,
|
|
924
|
+
ModelType.QWEN_3_CODER_PLUS,
|
|
766
925
|
}
|
|
767
926
|
|
|
768
927
|
@property
|
|
@@ -859,9 +1018,19 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
859
1018
|
return self in {
|
|
860
1019
|
ModelType.SILICONFLOW_DEEPSEEK_V2_5,
|
|
861
1020
|
ModelType.SILICONFLOW_DEEPSEEK_V3,
|
|
1021
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_V3,
|
|
1022
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1,
|
|
1023
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1,
|
|
1024
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_32B,
|
|
1025
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_14B,
|
|
1026
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_7B,
|
|
1027
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_1_5B,
|
|
1028
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_7B,
|
|
1029
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_1_5B,
|
|
862
1030
|
ModelType.SILICONFLOW_INTERN_LM2_5_20B_CHAT,
|
|
863
1031
|
ModelType.SILICONFLOW_INTERN_LM2_5_7B_CHAT,
|
|
864
1032
|
ModelType.SILICONFLOW_PRO_INTERN_LM2_5_7B_CHAT,
|
|
1033
|
+
ModelType.SILICONFLOW_QWQ_32B,
|
|
865
1034
|
ModelType.SILICONFLOW_QWEN2_5_72B_INSTRUCT,
|
|
866
1035
|
ModelType.SILICONFLOW_QWEN2_5_32B_INSTRUCT,
|
|
867
1036
|
ModelType.SILICONFLOW_QWEN2_5_14B_INSTRUCT,
|
|
@@ -869,6 +1038,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
869
1038
|
ModelType.SILICONFLOW_PRO_QWEN2_5_7B_INSTRUCT,
|
|
870
1039
|
ModelType.SILICONFLOW_THUDM_GLM_4_9B_CHAT,
|
|
871
1040
|
ModelType.SILICONFLOW_PRO_THUDM_GLM_4_9B_CHAT,
|
|
1041
|
+
ModelType.SILICONFLOW_THUDM_GLM_Z1_32B_0414,
|
|
1042
|
+
ModelType.SILICONFLOW_THUDM_GLM_4_32B_0414,
|
|
1043
|
+
ModelType.SILICONFLOW_THUDM_GLM_Z1_RUMINATION_32B_0414,
|
|
1044
|
+
ModelType.SILICONFLOW_THUDM_GLM_4_9B_0414,
|
|
872
1045
|
}
|
|
873
1046
|
|
|
874
1047
|
@property
|
|
@@ -1125,6 +1298,16 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1125
1298
|
ModelType.NOVITA_MISTRAL_7B,
|
|
1126
1299
|
ModelType.NOVITA_LLAMA_3_2_11B_VISION,
|
|
1127
1300
|
ModelType.NOVITA_LLAMA_3_2_3B,
|
|
1301
|
+
ModelType.NEBIUS_MISTRAL_7B_INSTRUCT,
|
|
1302
|
+
ModelType.SILICONFLOW_INTERN_LM2_5_20B_CHAT,
|
|
1303
|
+
ModelType.SILICONFLOW_INTERN_LM2_5_7B_CHAT,
|
|
1304
|
+
ModelType.SILICONFLOW_PRO_INTERN_LM2_5_7B_CHAT,
|
|
1305
|
+
ModelType.SILICONFLOW_QWQ_32B,
|
|
1306
|
+
ModelType.SILICONFLOW_QWEN2_5_72B_INSTRUCT,
|
|
1307
|
+
ModelType.SILICONFLOW_QWEN2_5_32B_INSTRUCT,
|
|
1308
|
+
ModelType.SILICONFLOW_QWEN2_5_14B_INSTRUCT,
|
|
1309
|
+
ModelType.SILICONFLOW_QWEN2_5_7B_INSTRUCT,
|
|
1310
|
+
ModelType.SILICONFLOW_PRO_QWEN2_5_7B_INSTRUCT,
|
|
1128
1311
|
}:
|
|
1129
1312
|
return 32_768
|
|
1130
1313
|
elif self in {
|
|
@@ -1145,6 +1328,17 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1145
1328
|
ModelType.NOVITA_DEEPSEEK_R1_DISTILL_QWEN_14B,
|
|
1146
1329
|
ModelType.NOVITA_DEEPSEEK_R1_DISTILL_QWEN_32B,
|
|
1147
1330
|
ModelType.NOVITA_DEEPSEEK_R1,
|
|
1331
|
+
ModelType.SILICONFLOW_DEEPSEEK_V2_5,
|
|
1332
|
+
ModelType.SILICONFLOW_DEEPSEEK_V3,
|
|
1333
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_V3,
|
|
1334
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1,
|
|
1335
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1,
|
|
1336
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_32B,
|
|
1337
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_14B,
|
|
1338
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_7B,
|
|
1339
|
+
ModelType.SILICONFLOW_DEEPSEEK_R1_DISTILL_QWEN_1_5B,
|
|
1340
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_7B,
|
|
1341
|
+
ModelType.SILICONFLOW_PRO_DEEPSEEK_R1_DISTILL_QWEN_1_5B,
|
|
1148
1342
|
}:
|
|
1149
1343
|
return 64_000
|
|
1150
1344
|
elif self in {
|
|
@@ -1168,12 +1362,16 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1168
1362
|
ModelType.O1_PREVIEW,
|
|
1169
1363
|
ModelType.O1_MINI,
|
|
1170
1364
|
ModelType.GPT_4_5_PREVIEW,
|
|
1365
|
+
ModelType.GPT_5,
|
|
1366
|
+
ModelType.GPT_5_NANO,
|
|
1367
|
+
ModelType.GPT_5_MINI,
|
|
1171
1368
|
ModelType.MISTRAL_LARGE,
|
|
1172
1369
|
ModelType.MISTRAL_NEMO,
|
|
1173
1370
|
ModelType.MISTRAL_PIXTRAL_12B,
|
|
1174
1371
|
ModelType.MISTRAL_8B,
|
|
1175
1372
|
ModelType.MISTRAL_3B,
|
|
1176
1373
|
ModelType.MISTRAL_SMALL_3_2,
|
|
1374
|
+
ModelType.MAGISTRAL_SMALL_1_2,
|
|
1177
1375
|
ModelType.QWEN_2_5_CODER_32B,
|
|
1178
1376
|
ModelType.QWEN_2_5_VL_72B,
|
|
1179
1377
|
ModelType.QWEN_2_5_72B,
|
|
@@ -1207,10 +1405,52 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1207
1405
|
ModelType.NETMIND_DEEPSEEK_R1,
|
|
1208
1406
|
ModelType.NETMIND_DEEPSEEK_V3,
|
|
1209
1407
|
ModelType.NOVITA_DEEPSEEK_V3_0324,
|
|
1210
|
-
ModelType.
|
|
1408
|
+
ModelType.MISTRAL_MEDIUM_3_1,
|
|
1409
|
+
ModelType.MAGISTRAL_MEDIUM_1_2,
|
|
1211
1410
|
ModelType.ERNIE_4_5_TURBO_128K,
|
|
1212
1411
|
ModelType.DEEPSEEK_V3,
|
|
1213
1412
|
ModelType.MOONSHOT_KIMI_K2,
|
|
1413
|
+
ModelType.NEBIUS_GLM_4_5,
|
|
1414
|
+
ModelType.NEBIUS_DEEPSEEK_V3,
|
|
1415
|
+
ModelType.NEBIUS_DEEPSEEK_R1,
|
|
1416
|
+
ModelType.NEBIUS_GPT_OSS_120B,
|
|
1417
|
+
ModelType.NEBIUS_GPT_OSS_20B,
|
|
1418
|
+
ModelType.COMETAPI_GPT_5_CHAT_LATEST,
|
|
1419
|
+
ModelType.COMETAPI_CHATGPT_4O_LATEST,
|
|
1420
|
+
ModelType.COMETAPI_GPT_5_MINI,
|
|
1421
|
+
ModelType.COMETAPI_GPT_5_NANO,
|
|
1422
|
+
ModelType.COMETAPI_GPT_5,
|
|
1423
|
+
ModelType.COMETAPI_GPT_4_1,
|
|
1424
|
+
ModelType.COMETAPI_GPT_4O_MINI,
|
|
1425
|
+
ModelType.COMETAPI_O4_MINI_2025_04_16,
|
|
1426
|
+
ModelType.COMETAPI_O3_PRO_2025_06_10,
|
|
1427
|
+
ModelType.COMETAPI_CLAUDE_OPUS_4_1_20250805,
|
|
1428
|
+
ModelType.COMETAPI_CLAUDE_OPUS_4_1_20250805_THINKING,
|
|
1429
|
+
ModelType.COMETAPI_CLAUDE_SONNET_4_20250514,
|
|
1430
|
+
ModelType.COMETAPI_CLAUDE_SONNET_4_20250514_THINKING,
|
|
1431
|
+
ModelType.COMETAPI_CLAUDE_3_7_SONNET_LATEST,
|
|
1432
|
+
ModelType.COMETAPI_CLAUDE_3_5_HAIKU_LATEST,
|
|
1433
|
+
ModelType.COMETAPI_GEMINI_2_5_PRO,
|
|
1434
|
+
ModelType.COMETAPI_GEMINI_2_5_FLASH,
|
|
1435
|
+
ModelType.COMETAPI_GEMINI_2_5_FLASH_LITE,
|
|
1436
|
+
ModelType.COMETAPI_GEMINI_2_0_FLASH,
|
|
1437
|
+
ModelType.COMETAPI_GROK_4_0709,
|
|
1438
|
+
ModelType.COMETAPI_GROK_3,
|
|
1439
|
+
ModelType.COMETAPI_GROK_3_MINI,
|
|
1440
|
+
ModelType.COMETAPI_GROK_2_IMAGE_1212,
|
|
1441
|
+
ModelType.COMETAPI_DEEPSEEK_V3_1,
|
|
1442
|
+
ModelType.COMETAPI_DEEPSEEK_V3,
|
|
1443
|
+
ModelType.COMETAPI_DEEPSEEK_R1_0528,
|
|
1444
|
+
ModelType.COMETAPI_DEEPSEEK_CHAT,
|
|
1445
|
+
ModelType.COMETAPI_DEEPSEEK_REASONER,
|
|
1446
|
+
ModelType.COMETAPI_QWEN3_30B_A3B,
|
|
1447
|
+
ModelType.COMETAPI_QWEN3_CODER_PLUS_2025_07_22,
|
|
1448
|
+
ModelType.SILICONFLOW_THUDM_GLM_4_9B_CHAT,
|
|
1449
|
+
ModelType.SILICONFLOW_PRO_THUDM_GLM_4_9B_CHAT,
|
|
1450
|
+
ModelType.SILICONFLOW_THUDM_GLM_Z1_32B_0414,
|
|
1451
|
+
ModelType.SILICONFLOW_THUDM_GLM_4_32B_0414,
|
|
1452
|
+
ModelType.SILICONFLOW_THUDM_GLM_Z1_RUMINATION_32B_0414,
|
|
1453
|
+
ModelType.SILICONFLOW_THUDM_GLM_4_9B_0414,
|
|
1214
1454
|
}:
|
|
1215
1455
|
return 128_000
|
|
1216
1456
|
elif self in {
|
|
@@ -1245,6 +1485,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1245
1485
|
ModelType.NOVITA_LLAMA_4_SCOUT_17B,
|
|
1246
1486
|
ModelType.NOVITA_LLAMA_3_3_70B,
|
|
1247
1487
|
ModelType.NOVITA_MISTRAL_NEMO,
|
|
1488
|
+
ModelType.NEBIUS_LLAMA_3_1_70B,
|
|
1248
1489
|
}:
|
|
1249
1490
|
return 131_072
|
|
1250
1491
|
elif self in {
|
|
@@ -1258,8 +1499,10 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1258
1499
|
ModelType.CLAUDE_3_5_SONNET,
|
|
1259
1500
|
ModelType.CLAUDE_3_5_HAIKU,
|
|
1260
1501
|
ModelType.CLAUDE_3_7_SONNET,
|
|
1502
|
+
ModelType.CLAUDE_SONNET_4_5,
|
|
1261
1503
|
ModelType.CLAUDE_SONNET_4,
|
|
1262
1504
|
ModelType.CLAUDE_OPUS_4,
|
|
1505
|
+
ModelType.CLAUDE_OPUS_4_1,
|
|
1263
1506
|
ModelType.YI_MEDIUM_200K,
|
|
1264
1507
|
ModelType.AWS_CLAUDE_3_5_SONNET,
|
|
1265
1508
|
ModelType.AWS_CLAUDE_3_HAIKU,
|
|
@@ -1267,6 +1510,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1267
1510
|
ModelType.AWS_CLAUDE_3_7_SONNET,
|
|
1268
1511
|
ModelType.AWS_CLAUDE_SONNET_4,
|
|
1269
1512
|
ModelType.AWS_CLAUDE_OPUS_4,
|
|
1513
|
+
ModelType.AWS_CLAUDE_OPUS_4_1,
|
|
1270
1514
|
ModelType.O4_MINI,
|
|
1271
1515
|
ModelType.O3,
|
|
1272
1516
|
}:
|
|
@@ -1274,6 +1518,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1274
1518
|
elif self in {
|
|
1275
1519
|
ModelType.MISTRAL_CODESTRAL_MAMBA,
|
|
1276
1520
|
ModelType.OPENROUTER_LLAMA_4_MAVERICK_FREE,
|
|
1521
|
+
ModelType.OPENROUTER_HORIZON_ALPHA,
|
|
1277
1522
|
}:
|
|
1278
1523
|
return 256_000
|
|
1279
1524
|
|
|
@@ -1287,6 +1532,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1287
1532
|
}:
|
|
1288
1533
|
return 512_000
|
|
1289
1534
|
elif self in {
|
|
1535
|
+
ModelType.GEMINI_3_PRO,
|
|
1290
1536
|
ModelType.GEMINI_2_5_FLASH,
|
|
1291
1537
|
ModelType.GEMINI_2_5_PRO,
|
|
1292
1538
|
ModelType.GEMINI_2_0_FLASH,
|
|
@@ -1300,21 +1546,27 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1300
1546
|
ModelType.GLM_4_LONG,
|
|
1301
1547
|
ModelType.TOGETHER_LLAMA_4_MAVERICK,
|
|
1302
1548
|
ModelType.OPENROUTER_LLAMA_4_MAVERICK,
|
|
1549
|
+
ModelType.AMD_GPT4,
|
|
1303
1550
|
ModelType.GPT_4_1,
|
|
1304
1551
|
ModelType.GPT_4_1_MINI,
|
|
1305
1552
|
ModelType.GPT_4_1_NANO,
|
|
1306
1553
|
ModelType.NOVITA_LLAMA_4_MAVERICK_17B,
|
|
1307
1554
|
}:
|
|
1308
1555
|
return 1_048_576
|
|
1556
|
+
elif self in {
|
|
1557
|
+
ModelType.QWEN_3_CODER_PLUS,
|
|
1558
|
+
}:
|
|
1559
|
+
return 1_000_000
|
|
1309
1560
|
elif self in {
|
|
1310
1561
|
ModelType.QWEN_LONG,
|
|
1311
1562
|
ModelType.TOGETHER_LLAMA_4_SCOUT,
|
|
1312
1563
|
}:
|
|
1313
1564
|
return 10_000_000
|
|
1314
1565
|
elif self in {
|
|
1315
|
-
ModelType.
|
|
1566
|
+
ModelType.MINIMAX_M2,
|
|
1567
|
+
ModelType.MINIMAX_M2_STABLE,
|
|
1316
1568
|
}:
|
|
1317
|
-
return
|
|
1569
|
+
return 32_000
|
|
1318
1570
|
|
|
1319
1571
|
else:
|
|
1320
1572
|
logger.warning(
|
|
@@ -1513,6 +1765,8 @@ class ModelPlatformType(Enum):
|
|
|
1513
1765
|
AZURE = "azure"
|
|
1514
1766
|
ANTHROPIC = "anthropic"
|
|
1515
1767
|
GROQ = "groq"
|
|
1768
|
+
NEBIUS = "nebius"
|
|
1769
|
+
COMETAPI = "cometapi"
|
|
1516
1770
|
OPENROUTER = "openrouter"
|
|
1517
1771
|
OLLAMA = "ollama"
|
|
1518
1772
|
LITELLM = "litellm"
|
|
@@ -1529,6 +1783,7 @@ class ModelPlatformType(Enum):
|
|
|
1529
1783
|
COHERE = "cohere"
|
|
1530
1784
|
YI = "lingyiwanwu"
|
|
1531
1785
|
QWEN = "tongyi-qianwen"
|
|
1786
|
+
AMD = "amd"
|
|
1532
1787
|
NVIDIA = "nvidia"
|
|
1533
1788
|
DEEPSEEK = "deepseek"
|
|
1534
1789
|
PPIO = "ppio"
|
|
@@ -1544,6 +1799,8 @@ class ModelPlatformType(Enum):
|
|
|
1544
1799
|
WATSONX = "watsonx"
|
|
1545
1800
|
QIANFAN = "qianfan"
|
|
1546
1801
|
CRYNUX = "crynux"
|
|
1802
|
+
AIHUBMIX = "aihubmix"
|
|
1803
|
+
MINIMAX = "minimax"
|
|
1547
1804
|
|
|
1548
1805
|
@classmethod
|
|
1549
1806
|
def from_name(cls, name):
|
|
@@ -1724,6 +1981,16 @@ class ModelPlatformType(Enum):
|
|
|
1724
1981
|
r"""Returns whether this platform is Crynux."""
|
|
1725
1982
|
return self is ModelPlatformType.CRYNUX
|
|
1726
1983
|
|
|
1984
|
+
@property
|
|
1985
|
+
def is_aihubmix(self) -> bool:
|
|
1986
|
+
r"""Returns whether this platform is AihubMix."""
|
|
1987
|
+
return self is ModelPlatformType.AIHUBMIX
|
|
1988
|
+
|
|
1989
|
+
@property
|
|
1990
|
+
def is_minimax(self) -> bool:
|
|
1991
|
+
r"""Returns whether this platform is Minimax M2."""
|
|
1992
|
+
return self is ModelPlatformType.MINIMAX
|
|
1993
|
+
|
|
1727
1994
|
|
|
1728
1995
|
class AudioModelType(Enum):
|
|
1729
1996
|
TTS_1 = "tts-1"
|
camel/types/openai_types.py
CHANGED
|
@@ -33,7 +33,7 @@ from openai.types.chat.chat_completion_user_message_param import (
|
|
|
33
33
|
from openai.types.completion_usage import CompletionUsage
|
|
34
34
|
from openai.types.chat import ParsedChatCompletion
|
|
35
35
|
from openai._types import NOT_GIVEN, NotGiven
|
|
36
|
-
from openai.types.chat import
|
|
36
|
+
from openai.types.chat import ChatCompletionMessageFunctionToolCall
|
|
37
37
|
|
|
38
38
|
__all__ = [
|
|
39
39
|
"Choice",
|
|
@@ -45,7 +45,7 @@ __all__ = [
|
|
|
45
45
|
"ChatCompletionUserMessageParam",
|
|
46
46
|
"ChatCompletionAssistantMessageParam",
|
|
47
47
|
"ChatCompletionToolMessageParam",
|
|
48
|
-
"
|
|
48
|
+
"ChatCompletionMessageFunctionToolCall",
|
|
49
49
|
"CompletionUsage",
|
|
50
50
|
"ParsedChatCompletion",
|
|
51
51
|
"NOT_GIVEN",
|
|
@@ -95,6 +95,11 @@ class UnifiedModelType(str):
|
|
|
95
95
|
r"""Returns whether the model is a Groq served model."""
|
|
96
96
|
return True
|
|
97
97
|
|
|
98
|
+
@property
|
|
99
|
+
def is_nebius(self) -> bool:
|
|
100
|
+
r"""Returns whether the model is a Nebius AI Studio served model."""
|
|
101
|
+
return True
|
|
102
|
+
|
|
98
103
|
@property
|
|
99
104
|
def is_openrouter(self) -> bool:
|
|
100
105
|
r"""Returns whether the model is a OpenRouter served model."""
|
|
@@ -140,6 +145,11 @@ class UnifiedModelType(str):
|
|
|
140
145
|
r"""Returns whether the model is a Cohere model."""
|
|
141
146
|
return True
|
|
142
147
|
|
|
148
|
+
@property
|
|
149
|
+
def is_cometapi(self) -> bool:
|
|
150
|
+
r"""Returns whether the model is a CometAPI served model."""
|
|
151
|
+
return True
|
|
152
|
+
|
|
143
153
|
@property
|
|
144
154
|
def is_yi(self) -> bool:
|
|
145
155
|
r"""Returns whether the model is a Yi model."""
|
|
@@ -185,6 +195,11 @@ class UnifiedModelType(str):
|
|
|
185
195
|
r"""Returns whether the model is a Crynux served model."""
|
|
186
196
|
return True
|
|
187
197
|
|
|
198
|
+
@property
|
|
199
|
+
def is_minimax(self) -> bool:
|
|
200
|
+
r"""Returns whether the model is a Minimax served model."""
|
|
201
|
+
return True
|
|
202
|
+
|
|
188
203
|
@property
|
|
189
204
|
def support_native_structured_output(self) -> bool:
|
|
190
205
|
r"""Returns whether the model supports native structured output."""
|
camel/utils/commons.py
CHANGED
|
@@ -318,6 +318,8 @@ def api_keys_required(
|
|
|
318
318
|
key_way = "https://aimlapi.com/"
|
|
319
319
|
elif env_var_name == 'COHERE_API_KEY':
|
|
320
320
|
key_way = "https://cohere.com/"
|
|
321
|
+
elif env_var_name == 'COMETAPI_KEY':
|
|
322
|
+
key_way = "https://api.cometapi.com/console/token"
|
|
321
323
|
elif env_var_name == 'DEEPSEEK_API_KEY':
|
|
322
324
|
key_way = "https://www.deepseek.com/"
|
|
323
325
|
elif env_var_name == 'AZURE_OPENAI_API_KEY':
|
|
@@ -354,6 +356,8 @@ def api_keys_required(
|
|
|
354
356
|
key_way = "https://www.zhipuai.cn/"
|
|
355
357
|
elif env_var_name == 'KLAVIS_API_KEY':
|
|
356
358
|
key_way = "https://www.klavis.ai/docs"
|
|
359
|
+
elif env_var_name == 'XAI_API_KEY':
|
|
360
|
+
key_way = "https://api.x.ai/v1"
|
|
357
361
|
|
|
358
362
|
if missing_keys:
|
|
359
363
|
raise ValueError(
|
|
@@ -1011,14 +1015,32 @@ def with_timeout(timeout=None):
|
|
|
1011
1015
|
if effective_timeout is None:
|
|
1012
1016
|
return func(*args, **kwargs)
|
|
1013
1017
|
|
|
1014
|
-
#
|
|
1018
|
+
# If current thread has a running asyncio event loop, avoid
|
|
1019
|
+
# switching threads to preserve asyncio context (e.g., for
|
|
1020
|
+
# asyncio.create_task). Execute inline without enforcing a
|
|
1021
|
+
# sync timeout to keep event loop semantics intact.
|
|
1022
|
+
try:
|
|
1023
|
+
asyncio.get_running_loop()
|
|
1024
|
+
loop_running = True
|
|
1025
|
+
except RuntimeError:
|
|
1026
|
+
loop_running = False
|
|
1027
|
+
|
|
1028
|
+
if loop_running:
|
|
1029
|
+
return func(*args, **kwargs)
|
|
1030
|
+
|
|
1031
|
+
# Container to hold the result or exception from the function
|
|
1032
|
+
# call
|
|
1015
1033
|
result_container = []
|
|
1034
|
+
exception_container = []
|
|
1016
1035
|
|
|
1017
1036
|
def target():
|
|
1018
|
-
|
|
1037
|
+
try:
|
|
1038
|
+
result_container.append(func(*args, **kwargs))
|
|
1039
|
+
except Exception as e:
|
|
1040
|
+
exception_container.append(e)
|
|
1019
1041
|
|
|
1020
|
-
# Start the function in a new thread
|
|
1021
|
-
thread = threading.Thread(target=target)
|
|
1042
|
+
# Start the function in a new daemon thread
|
|
1043
|
+
thread = threading.Thread(target=target, daemon=True)
|
|
1022
1044
|
thread.start()
|
|
1023
1045
|
thread.join(effective_timeout)
|
|
1024
1046
|
|
|
@@ -1029,7 +1051,16 @@ def with_timeout(timeout=None):
|
|
|
1029
1051
|
f"exceeded {effective_timeout} seconds."
|
|
1030
1052
|
)
|
|
1031
1053
|
else:
|
|
1032
|
-
|
|
1054
|
+
# If an exception occurred, re-raise it
|
|
1055
|
+
if exception_container:
|
|
1056
|
+
raise exception_container[0]
|
|
1057
|
+
# Return result if available
|
|
1058
|
+
if result_container:
|
|
1059
|
+
return result_container[0]
|
|
1060
|
+
raise RuntimeError(
|
|
1061
|
+
f"Function `{func.__name__}` completed but produced "
|
|
1062
|
+
"no result or exception."
|
|
1063
|
+
)
|
|
1033
1064
|
|
|
1034
1065
|
return wrapper
|
|
1035
1066
|
|