camel-ai 0.2.67__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.
Files changed (224) hide show
  1. camel/__init__.py +1 -1
  2. camel/agents/_types.py +6 -2
  3. camel/agents/_utils.py +38 -0
  4. camel/agents/chat_agent.py +4014 -410
  5. camel/agents/mcp_agent.py +30 -27
  6. camel/agents/repo_agent.py +2 -1
  7. camel/benchmarks/browsecomp.py +6 -6
  8. camel/configs/__init__.py +15 -0
  9. camel/configs/aihubmix_config.py +88 -0
  10. camel/configs/amd_config.py +70 -0
  11. camel/configs/cometapi_config.py +104 -0
  12. camel/configs/minimax_config.py +93 -0
  13. camel/configs/nebius_config.py +103 -0
  14. camel/configs/vllm_config.py +2 -0
  15. camel/data_collectors/alpaca_collector.py +15 -6
  16. camel/datagen/self_improving_cot.py +1 -1
  17. camel/datasets/base_generator.py +39 -10
  18. camel/environments/__init__.py +12 -0
  19. camel/environments/rlcards_env.py +860 -0
  20. camel/environments/single_step.py +28 -3
  21. camel/environments/tic_tac_toe.py +1 -1
  22. camel/interpreters/__init__.py +2 -0
  23. camel/interpreters/docker/Dockerfile +4 -16
  24. camel/interpreters/docker_interpreter.py +3 -2
  25. camel/interpreters/e2b_interpreter.py +34 -1
  26. camel/interpreters/internal_python_interpreter.py +51 -2
  27. camel/interpreters/microsandbox_interpreter.py +395 -0
  28. camel/loaders/__init__.py +11 -2
  29. camel/loaders/base_loader.py +85 -0
  30. camel/loaders/chunkr_reader.py +9 -0
  31. camel/loaders/firecrawl_reader.py +4 -4
  32. camel/logger.py +1 -1
  33. camel/memories/agent_memories.py +84 -1
  34. camel/memories/base.py +34 -0
  35. camel/memories/blocks/chat_history_block.py +122 -4
  36. camel/memories/blocks/vectordb_block.py +8 -1
  37. camel/memories/context_creators/score_based.py +29 -237
  38. camel/memories/records.py +88 -8
  39. camel/messages/base.py +166 -40
  40. camel/messages/func_message.py +32 -5
  41. camel/models/__init__.py +10 -0
  42. camel/models/aihubmix_model.py +83 -0
  43. camel/models/aiml_model.py +1 -16
  44. camel/models/amd_model.py +101 -0
  45. camel/models/anthropic_model.py +117 -18
  46. camel/models/aws_bedrock_model.py +2 -33
  47. camel/models/azure_openai_model.py +205 -91
  48. camel/models/base_audio_model.py +3 -1
  49. camel/models/base_model.py +189 -24
  50. camel/models/cohere_model.py +5 -17
  51. camel/models/cometapi_model.py +83 -0
  52. camel/models/crynux_model.py +1 -16
  53. camel/models/deepseek_model.py +6 -16
  54. camel/models/fish_audio_model.py +6 -0
  55. camel/models/gemini_model.py +71 -20
  56. camel/models/groq_model.py +1 -17
  57. camel/models/internlm_model.py +1 -16
  58. camel/models/litellm_model.py +49 -32
  59. camel/models/lmstudio_model.py +1 -17
  60. camel/models/minimax_model.py +83 -0
  61. camel/models/mistral_model.py +1 -16
  62. camel/models/model_factory.py +27 -1
  63. camel/models/model_manager.py +24 -6
  64. camel/models/modelscope_model.py +1 -16
  65. camel/models/moonshot_model.py +185 -19
  66. camel/models/nebius_model.py +83 -0
  67. camel/models/nemotron_model.py +0 -5
  68. camel/models/netmind_model.py +1 -16
  69. camel/models/novita_model.py +1 -16
  70. camel/models/nvidia_model.py +1 -16
  71. camel/models/ollama_model.py +4 -19
  72. camel/models/openai_compatible_model.py +171 -46
  73. camel/models/openai_model.py +205 -77
  74. camel/models/openrouter_model.py +1 -17
  75. camel/models/ppio_model.py +1 -16
  76. camel/models/qianfan_model.py +1 -16
  77. camel/models/qwen_model.py +1 -16
  78. camel/models/reka_model.py +1 -16
  79. camel/models/samba_model.py +34 -47
  80. camel/models/sglang_model.py +64 -31
  81. camel/models/siliconflow_model.py +1 -16
  82. camel/models/stub_model.py +0 -4
  83. camel/models/togetherai_model.py +1 -16
  84. camel/models/vllm_model.py +1 -16
  85. camel/models/volcano_model.py +0 -17
  86. camel/models/watsonx_model.py +1 -16
  87. camel/models/yi_model.py +1 -16
  88. camel/models/zhipuai_model.py +60 -16
  89. camel/parsers/__init__.py +18 -0
  90. camel/parsers/mcp_tool_call_parser.py +176 -0
  91. camel/retrievers/auto_retriever.py +1 -0
  92. camel/runtimes/configs.py +11 -11
  93. camel/runtimes/daytona_runtime.py +15 -16
  94. camel/runtimes/docker_runtime.py +6 -6
  95. camel/runtimes/remote_http_runtime.py +5 -5
  96. camel/services/agent_openapi_server.py +380 -0
  97. camel/societies/__init__.py +2 -0
  98. camel/societies/role_playing.py +26 -28
  99. camel/societies/workforce/__init__.py +2 -0
  100. camel/societies/workforce/events.py +122 -0
  101. camel/societies/workforce/prompts.py +249 -38
  102. camel/societies/workforce/role_playing_worker.py +82 -20
  103. camel/societies/workforce/single_agent_worker.py +634 -34
  104. camel/societies/workforce/structured_output_handler.py +512 -0
  105. camel/societies/workforce/task_channel.py +169 -23
  106. camel/societies/workforce/utils.py +176 -9
  107. camel/societies/workforce/worker.py +77 -23
  108. camel/societies/workforce/workflow_memory_manager.py +772 -0
  109. camel/societies/workforce/workforce.py +3168 -478
  110. camel/societies/workforce/workforce_callback.py +74 -0
  111. camel/societies/workforce/workforce_logger.py +203 -175
  112. camel/societies/workforce/workforce_metrics.py +33 -0
  113. camel/storages/__init__.py +4 -0
  114. camel/storages/key_value_storages/json.py +15 -2
  115. camel/storages/key_value_storages/mem0_cloud.py +48 -47
  116. camel/storages/object_storages/google_cloud.py +1 -1
  117. camel/storages/vectordb_storages/__init__.py +6 -0
  118. camel/storages/vectordb_storages/chroma.py +731 -0
  119. camel/storages/vectordb_storages/oceanbase.py +13 -13
  120. camel/storages/vectordb_storages/pgvector.py +349 -0
  121. camel/storages/vectordb_storages/qdrant.py +3 -3
  122. camel/storages/vectordb_storages/surreal.py +365 -0
  123. camel/storages/vectordb_storages/tidb.py +8 -6
  124. camel/tasks/task.py +244 -27
  125. camel/toolkits/__init__.py +46 -8
  126. camel/toolkits/aci_toolkit.py +64 -19
  127. camel/toolkits/arxiv_toolkit.py +6 -6
  128. camel/toolkits/base.py +63 -5
  129. camel/toolkits/code_execution.py +28 -1
  130. camel/toolkits/context_summarizer_toolkit.py +684 -0
  131. camel/toolkits/craw4ai_toolkit.py +93 -0
  132. camel/toolkits/dappier_toolkit.py +10 -6
  133. camel/toolkits/dingtalk.py +1135 -0
  134. camel/toolkits/edgeone_pages_mcp_toolkit.py +49 -0
  135. camel/toolkits/excel_toolkit.py +901 -67
  136. camel/toolkits/file_toolkit.py +1402 -0
  137. camel/toolkits/function_tool.py +30 -6
  138. camel/toolkits/github_toolkit.py +107 -20
  139. camel/toolkits/gmail_toolkit.py +1839 -0
  140. camel/toolkits/google_calendar_toolkit.py +38 -4
  141. camel/toolkits/google_drive_mcp_toolkit.py +54 -0
  142. camel/toolkits/human_toolkit.py +34 -10
  143. camel/toolkits/hybrid_browser_toolkit/__init__.py +18 -0
  144. camel/toolkits/hybrid_browser_toolkit/config_loader.py +185 -0
  145. camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +246 -0
  146. camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +1973 -0
  147. camel/toolkits/hybrid_browser_toolkit/installer.py +203 -0
  148. camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +3749 -0
  149. camel/toolkits/hybrid_browser_toolkit/ts/package.json +32 -0
  150. camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +125 -0
  151. camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +1815 -0
  152. camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +233 -0
  153. camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +590 -0
  154. camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +7 -0
  155. camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +226 -0
  156. camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +219 -0
  157. camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +543 -0
  158. camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +130 -0
  159. camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +26 -0
  160. camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +319 -0
  161. camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +1032 -0
  162. camel/toolkits/hybrid_browser_toolkit_py/__init__.py +17 -0
  163. camel/toolkits/hybrid_browser_toolkit_py/actions.py +575 -0
  164. camel/toolkits/hybrid_browser_toolkit_py/agent.py +311 -0
  165. camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +787 -0
  166. camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +490 -0
  167. camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +2390 -0
  168. camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +233 -0
  169. camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
  170. camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +1043 -0
  171. camel/toolkits/image_generation_toolkit.py +390 -0
  172. camel/toolkits/jina_reranker_toolkit.py +3 -4
  173. camel/toolkits/klavis_toolkit.py +5 -1
  174. camel/toolkits/markitdown_toolkit.py +104 -0
  175. camel/toolkits/math_toolkit.py +64 -10
  176. camel/toolkits/mcp_toolkit.py +370 -45
  177. camel/toolkits/memory_toolkit.py +5 -1
  178. camel/toolkits/message_agent_toolkit.py +608 -0
  179. camel/toolkits/message_integration.py +724 -0
  180. camel/toolkits/minimax_mcp_toolkit.py +195 -0
  181. camel/toolkits/note_taking_toolkit.py +277 -0
  182. camel/toolkits/notion_mcp_toolkit.py +224 -0
  183. camel/toolkits/openbb_toolkit.py +5 -1
  184. camel/toolkits/origene_mcp_toolkit.py +56 -0
  185. camel/toolkits/playwright_mcp_toolkit.py +12 -31
  186. camel/toolkits/pptx_toolkit.py +25 -12
  187. camel/toolkits/resend_toolkit.py +168 -0
  188. camel/toolkits/screenshot_toolkit.py +213 -0
  189. camel/toolkits/search_toolkit.py +437 -142
  190. camel/toolkits/slack_toolkit.py +104 -50
  191. camel/toolkits/sympy_toolkit.py +1 -1
  192. camel/toolkits/task_planning_toolkit.py +3 -3
  193. camel/toolkits/terminal_toolkit/__init__.py +18 -0
  194. camel/toolkits/terminal_toolkit/terminal_toolkit.py +957 -0
  195. camel/toolkits/terminal_toolkit/utils.py +532 -0
  196. camel/toolkits/thinking_toolkit.py +1 -1
  197. camel/toolkits/vertex_ai_veo_toolkit.py +590 -0
  198. camel/toolkits/video_analysis_toolkit.py +106 -26
  199. camel/toolkits/video_download_toolkit.py +17 -14
  200. camel/toolkits/web_deploy_toolkit.py +1219 -0
  201. camel/toolkits/wechat_official_toolkit.py +483 -0
  202. camel/toolkits/zapier_toolkit.py +5 -1
  203. camel/types/__init__.py +2 -2
  204. camel/types/agents/tool_calling_record.py +4 -1
  205. camel/types/enums.py +316 -40
  206. camel/types/openai_types.py +2 -2
  207. camel/types/unified_model_type.py +31 -4
  208. camel/utils/commons.py +36 -5
  209. camel/utils/constants.py +3 -0
  210. camel/utils/context_utils.py +1003 -0
  211. camel/utils/mcp.py +138 -4
  212. camel/utils/mcp_client.py +45 -1
  213. camel/utils/message_summarizer.py +148 -0
  214. camel/utils/token_counting.py +43 -20
  215. camel/utils/tool_result.py +44 -0
  216. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/METADATA +296 -85
  217. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/RECORD +219 -146
  218. camel/loaders/pandas_reader.py +0 -368
  219. camel/toolkits/dalle_toolkit.py +0 -175
  220. camel/toolkits/file_write_toolkit.py +0 -444
  221. camel/toolkits/openai_agent_toolkit.py +0 -135
  222. camel/toolkits/terminal_toolkit.py +0 -1037
  223. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/WHEEL +0 -0
  224. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/licenses/LICENSE +0 -0
camel/types/enums.py CHANGED
@@ -13,7 +13,7 @@
13
13
  # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
  import os
15
15
  from enum import Enum, EnumMeta
16
- from typing import cast
16
+ from typing import Union, cast
17
17
 
18
18
  from camel.logger import get_logger
19
19
  from camel.types.unified_model_type import UnifiedModelType
@@ -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,8 +241,9 @@ class ModelType(UnifiedModelType, Enum):
185
241
  NVIDIA_LLAMA3_3_70B_INSTRUCT = "meta/llama-3.3-70b-instruct"
186
242
 
187
243
  # Gemini models
188
- GEMINI_2_5_FLASH_PREVIEW = "gemini-2.5-flash-preview-04-17"
189
- GEMINI_2_5_PRO_PREVIEW = "gemini-2.5-pro-preview-06-05"
244
+ GEMINI_3_PRO = "gemini-3-pro-preview"
245
+ GEMINI_2_5_FLASH = "gemini-2.5-flash"
246
+ GEMINI_2_5_PRO = "gemini-2.5-pro"
190
247
  GEMINI_2_0_FLASH = "gemini-2.0-flash"
191
248
  GEMINI_2_0_FLASH_EXP = "gemini-2.0-flash-exp"
192
249
  GEMINI_2_0_FLASH_THINKING = "gemini-2.0-flash-thinking-exp"
@@ -207,8 +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
- MISTRAL_MEDIUM_3 = "mistral-medium-latest"
211
- MAGISTRAL_MEDIUM = "magistral-medium-2506"
267
+ MISTRAL_MEDIUM_3_1 = "mistral-medium-2508"
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"
212
271
 
213
272
  # Reka models
214
273
  REKA_CORE = "reka-core"
@@ -244,6 +303,7 @@ class ModelType(UnifiedModelType, Enum):
244
303
  QWEN_QWQ_32B = "qwq-32b-preview"
245
304
  QWEN_QVQ_72B = "qvq-72b-preview"
246
305
  QWEN_QWQ_PLUS = "qwq-plus"
306
+ QWEN_3_CODER_PLUS = "qwen3-coder-plus"
247
307
 
248
308
  # Yi models (01-ai)
249
309
  YI_LIGHTNING = "yi-lightning"
@@ -269,13 +329,36 @@ class ModelType(UnifiedModelType, Enum):
269
329
  MOONSHOT_V1_8K = "moonshot-v1-8k"
270
330
  MOONSHOT_V1_32K = "moonshot-v1-32k"
271
331
  MOONSHOT_V1_128K = "moonshot-v1-128k"
332
+ MOONSHOT_KIMI_K2 = "kimi-k2-0711-preview"
272
333
 
273
334
  # SiliconFlow models support tool calling
274
335
  SILICONFLOW_DEEPSEEK_V2_5 = "deepseek-ai/DeepSeek-V2.5"
275
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
+ )
276
358
  SILICONFLOW_INTERN_LM2_5_20B_CHAT = "internlm/internlm2_5-20b-chat"
277
359
  SILICONFLOW_INTERN_LM2_5_7B_CHAT = "internlm/internlm2_5-7b-chat"
278
360
  SILICONFLOW_PRO_INTERN_LM2_5_7B_CHAT = "Pro/internlm/internlm2_5-7b-chat"
361
+ SILICONFLOW_QWQ_32B = "Qwen/QwQ-32B"
279
362
  SILICONFLOW_QWEN2_5_72B_INSTRUCT = "Qwen/Qwen2.5-72B-Instruct"
280
363
  SILICONFLOW_QWEN2_5_32B_INSTRUCT = "Qwen/Qwen2.5-32B-Instruct"
281
364
  SILICONFLOW_QWEN2_5_14B_INSTRUCT = "Qwen/Qwen2.5-14B-Instruct"
@@ -283,6 +366,12 @@ class ModelType(UnifiedModelType, Enum):
283
366
  SILICONFLOW_PRO_QWEN2_5_7B_INSTRUCT = "Pro/Qwen/Qwen2.5-7B-Instruct"
284
367
  SILICONFLOW_THUDM_GLM_4_9B_CHAT = "THUDM/glm-4-9b-chat"
285
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"
286
375
 
287
376
  # AIML models support tool calling
288
377
  AIML_MIXTRAL_8X7B = "mistralai/Mixtral-8x7B-Instruct-v0.1"
@@ -387,14 +476,14 @@ class ModelType(UnifiedModelType, Enum):
387
476
  WATSONX_MISTRAL_LARGE = "mistralai/mistral-large"
388
477
 
389
478
  # Qianfan models
390
- QIANFAN_ERNIE_X1_TURBO_32K = "ernie-x1-turbo-32k"
391
- QIANFAN_ERNIE_X1_32K = "ernie-x1-32k"
392
- QIANFAN_ERNIE_X1_32K_PREVIEW = "ernie-x1-32k-preview"
393
- QIANFAN_ERNIE_4_5_TURBO_128K = "ernie-4.5-turbo-128k"
394
- QIANFAN_ERNIE_4_5_TURBO_32K = "ernie-4.5-turbo-32k"
395
- QIANFAN_DEEPSEEK_V3 = "deepseek-v3"
396
- QIANFAN_DEEPSEEK_R1 = "deepseek-r1"
397
- QIANFAN_QWEN3_235B_A22B = "qwen3-235b-a22b"
479
+ ERNIE_X1_TURBO_32K = "ernie-x1-turbo-32k"
480
+ ERNIE_X1_32K = "ernie-x1-32k"
481
+ ERNIE_X1_32K_PREVIEW = "ernie-x1-32k-preview"
482
+ ERNIE_4_5_TURBO_128K = "ernie-4.5-turbo-128k"
483
+ ERNIE_4_5_TURBO_32K = "ernie-4.5-turbo-32k"
484
+ DEEPSEEK_V3 = "deepseek-v3"
485
+ DEEPSEEK_R1 = "deepseek-r1"
486
+ QWEN3_235B_A22B = "qwen3-235b-a22b"
398
487
 
399
488
  # Crynux models
400
489
  CRYNUX_DEEPSEEK_R1_DISTILL_QWEN_1_5B = (
@@ -415,14 +504,21 @@ class ModelType(UnifiedModelType, Enum):
415
504
  CRYNUX_NOUS_HERMES_3_LLAMA_3_1_8B = "NousResearch/Hermes-3-Llama-3.1-8B"
416
505
  CRYNUX_NOUS_HERMES_3_LLAMA_3_2_3B = "NousResearch/Hermes-3-Llama-3.2-3B"
417
506
 
507
+ # Minimax M2 models
508
+ MINIMAX_M2 = "MiniMax-M2"
509
+ MINIMAX_M2_STABLE = "MiniMax-M2-Stable"
510
+
418
511
  def __str__(self):
419
512
  return self.value
420
513
 
421
- def __new__(cls, value) -> "ModelType":
514
+ def __repr__(self):
515
+ return self.value
516
+
517
+ def __new__(cls, value: Union["ModelType", str]) -> "ModelType":
422
518
  return cast("ModelType", UnifiedModelType.__new__(cls, value))
423
519
 
424
520
  @classmethod
425
- def from_name(cls, name):
521
+ def from_name(cls, name: str) -> "ModelType":
426
522
  r"""Returns the ModelType enum value from a string."""
427
523
  for model_type in cls:
428
524
  if model_type.value == name:
@@ -489,10 +585,20 @@ class ModelType(UnifiedModelType, Enum):
489
585
  ModelType.GPT_4_1,
490
586
  ModelType.GPT_4_1_MINI,
491
587
  ModelType.GPT_4_1_NANO,
588
+ ModelType.GPT_5,
589
+ ModelType.GPT_5_MINI,
590
+ ModelType.GPT_5_NANO,
492
591
  ModelType.O4_MINI,
493
592
  ModelType.O3,
494
593
  }
495
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
+
496
602
  @property
497
603
  def is_aws_bedrock(self) -> bool:
498
604
  r"""Returns whether this type of models is an AWS Bedrock model."""
@@ -507,6 +613,7 @@ class ModelType(UnifiedModelType, Enum):
507
613
  ModelType.AWS_LLAMA_3_2_11B_INSTRUCT,
508
614
  ModelType.AWS_CLAUDE_SONNET_4,
509
615
  ModelType.AWS_CLAUDE_OPUS_4,
616
+ ModelType.AWS_CLAUDE_OPUS_4_1,
510
617
  }
511
618
 
512
619
  @property
@@ -529,6 +636,7 @@ class ModelType(UnifiedModelType, Enum):
529
636
  ModelType.GPT_4_1,
530
637
  ModelType.GPT_4_1_MINI,
531
638
  ModelType.GPT_4_1_NANO,
639
+ ModelType.GPT_5,
532
640
  ModelType.O4_MINI,
533
641
  ModelType.O3,
534
642
  }
@@ -569,8 +677,10 @@ class ModelType(UnifiedModelType, Enum):
569
677
  ModelType.CLAUDE_3_5_SONNET,
570
678
  ModelType.CLAUDE_3_5_HAIKU,
571
679
  ModelType.CLAUDE_3_7_SONNET,
680
+ ModelType.CLAUDE_SONNET_4_5,
572
681
  ModelType.CLAUDE_SONNET_4,
573
682
  ModelType.CLAUDE_OPUS_4,
683
+ ModelType.CLAUDE_OPUS_4_1,
574
684
  }
575
685
 
576
686
  @property
@@ -586,6 +696,56 @@ class ModelType(UnifiedModelType, Enum):
586
696
  ModelType.GROQ_GEMMA_2_9B_IT,
587
697
  }
588
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
+
589
749
  @property
590
750
  def is_openrouter(self) -> bool:
591
751
  r"""Returns whether this type of models is served by OpenRouter."""
@@ -597,6 +757,7 @@ class ModelType(UnifiedModelType, Enum):
597
757
  ModelType.OPENROUTER_LLAMA_4_SCOUT,
598
758
  ModelType.OPENROUTER_LLAMA_4_SCOUT_FREE,
599
759
  ModelType.OPENROUTER_OLYMPICODER_7B,
760
+ ModelType.OPENROUTER_HORIZON_ALPHA,
600
761
  }
601
762
 
602
763
  @property
@@ -644,8 +805,10 @@ class ModelType(UnifiedModelType, Enum):
644
805
  ModelType.MISTRAL_PIXTRAL_12B,
645
806
  ModelType.MISTRAL_8B,
646
807
  ModelType.MISTRAL_3B,
647
- ModelType.MISTRAL_MEDIUM_3,
648
- ModelType.MAGISTRAL_MEDIUM,
808
+ ModelType.MISTRAL_MEDIUM_3_1,
809
+ ModelType.MISTRAL_SMALL_3_2,
810
+ ModelType.MAGISTRAL_SMALL_1_2,
811
+ ModelType.MAGISTRAL_MEDIUM_1_2,
649
812
  }
650
813
 
651
814
  @property
@@ -674,8 +837,9 @@ class ModelType(UnifiedModelType, Enum):
674
837
  bool: Whether this type of models is gemini.
675
838
  """
676
839
  return self in {
677
- ModelType.GEMINI_2_5_FLASH_PREVIEW,
678
- ModelType.GEMINI_2_5_PRO_PREVIEW,
840
+ ModelType.GEMINI_3_PRO,
841
+ ModelType.GEMINI_2_5_FLASH,
842
+ ModelType.GEMINI_2_5_PRO,
679
843
  ModelType.GEMINI_2_0_FLASH,
680
844
  ModelType.GEMINI_2_0_FLASH_EXP,
681
845
  ModelType.GEMINI_2_0_FLASH_THINKING,
@@ -757,6 +921,7 @@ class ModelType(UnifiedModelType, Enum):
757
921
  ModelType.QWEN_PLUS_2025_04_28,
758
922
  ModelType.QWEN_TURBO_LATEST,
759
923
  ModelType.QWEN_TURBO_2025_04_28,
924
+ ModelType.QWEN_3_CODER_PLUS,
760
925
  }
761
926
 
762
927
  @property
@@ -831,6 +996,7 @@ class ModelType(UnifiedModelType, Enum):
831
996
  ModelType.MOONSHOT_V1_8K,
832
997
  ModelType.MOONSHOT_V1_32K,
833
998
  ModelType.MOONSHOT_V1_128K,
999
+ ModelType.MOONSHOT_KIMI_K2,
834
1000
  }
835
1001
 
836
1002
  @property
@@ -852,9 +1018,19 @@ class ModelType(UnifiedModelType, Enum):
852
1018
  return self in {
853
1019
  ModelType.SILICONFLOW_DEEPSEEK_V2_5,
854
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,
855
1030
  ModelType.SILICONFLOW_INTERN_LM2_5_20B_CHAT,
856
1031
  ModelType.SILICONFLOW_INTERN_LM2_5_7B_CHAT,
857
1032
  ModelType.SILICONFLOW_PRO_INTERN_LM2_5_7B_CHAT,
1033
+ ModelType.SILICONFLOW_QWQ_32B,
858
1034
  ModelType.SILICONFLOW_QWEN2_5_72B_INSTRUCT,
859
1035
  ModelType.SILICONFLOW_QWEN2_5_32B_INSTRUCT,
860
1036
  ModelType.SILICONFLOW_QWEN2_5_14B_INSTRUCT,
@@ -862,6 +1038,10 @@ class ModelType(UnifiedModelType, Enum):
862
1038
  ModelType.SILICONFLOW_PRO_QWEN2_5_7B_INSTRUCT,
863
1039
  ModelType.SILICONFLOW_THUDM_GLM_4_9B_CHAT,
864
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,
865
1045
  }
866
1046
 
867
1047
  @property
@@ -880,14 +1060,14 @@ class ModelType(UnifiedModelType, Enum):
880
1060
  @property
881
1061
  def is_qianfan(self) -> bool:
882
1062
  return self in {
883
- ModelType.QIANFAN_ERNIE_X1_TURBO_32K,
884
- ModelType.QIANFAN_ERNIE_X1_32K,
885
- ModelType.QIANFAN_ERNIE_X1_32K_PREVIEW,
886
- ModelType.QIANFAN_ERNIE_4_5_TURBO_128K,
887
- ModelType.QIANFAN_ERNIE_4_5_TURBO_32K,
888
- ModelType.QIANFAN_DEEPSEEK_V3,
889
- ModelType.QIANFAN_DEEPSEEK_R1,
890
- ModelType.QIANFAN_QWEN3_235B_A22B,
1063
+ ModelType.ERNIE_X1_TURBO_32K,
1064
+ ModelType.ERNIE_X1_32K,
1065
+ ModelType.ERNIE_X1_32K_PREVIEW,
1066
+ ModelType.ERNIE_4_5_TURBO_128K,
1067
+ ModelType.ERNIE_4_5_TURBO_32K,
1068
+ ModelType.DEEPSEEK_V3,
1069
+ ModelType.DEEPSEEK_R1,
1070
+ ModelType.QWEN3_235B_A22B,
891
1071
  }
892
1072
 
893
1073
  @property
@@ -1061,11 +1241,11 @@ class ModelType(UnifiedModelType, Enum):
1061
1241
  ModelType.CRYNUX_QWEN_2_5_7B_INSTRUCT,
1062
1242
  ModelType.CRYNUX_NOUS_HERMES_3_LLAMA_3_1_8B,
1063
1243
  ModelType.CRYNUX_NOUS_HERMES_3_LLAMA_3_2_3B,
1064
- ModelType.QIANFAN_ERNIE_X1_TURBO_32K,
1065
- ModelType.QIANFAN_ERNIE_X1_32K,
1066
- ModelType.QIANFAN_ERNIE_X1_32K_PREVIEW,
1067
- ModelType.QIANFAN_ERNIE_4_5_TURBO_32K,
1068
- ModelType.QIANFAN_QWEN3_235B_A22B,
1244
+ ModelType.ERNIE_X1_TURBO_32K,
1245
+ ModelType.ERNIE_X1_32K,
1246
+ ModelType.ERNIE_X1_32K_PREVIEW,
1247
+ ModelType.ERNIE_4_5_TURBO_32K,
1248
+ ModelType.QWEN3_235B_A22B,
1069
1249
  }:
1070
1250
  return 32_000
1071
1251
  elif self in {
@@ -1118,6 +1298,16 @@ class ModelType(UnifiedModelType, Enum):
1118
1298
  ModelType.NOVITA_MISTRAL_7B,
1119
1299
  ModelType.NOVITA_LLAMA_3_2_11B_VISION,
1120
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,
1121
1311
  }:
1122
1312
  return 32_768
1123
1313
  elif self in {
@@ -1138,6 +1328,17 @@ class ModelType(UnifiedModelType, Enum):
1138
1328
  ModelType.NOVITA_DEEPSEEK_R1_DISTILL_QWEN_14B,
1139
1329
  ModelType.NOVITA_DEEPSEEK_R1_DISTILL_QWEN_32B,
1140
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,
1141
1342
  }:
1142
1343
  return 64_000
1143
1344
  elif self in {
@@ -1146,7 +1347,7 @@ class ModelType(UnifiedModelType, Enum):
1146
1347
  return 65_535
1147
1348
  elif self in {
1148
1349
  ModelType.NOVITA_QWEN_2_5_V1_72B,
1149
- ModelType.QIANFAN_DEEPSEEK_R1,
1350
+ ModelType.DEEPSEEK_R1,
1150
1351
  }:
1151
1352
  return 96_000
1152
1353
  elif self in {
@@ -1161,11 +1362,16 @@ class ModelType(UnifiedModelType, Enum):
1161
1362
  ModelType.O1_PREVIEW,
1162
1363
  ModelType.O1_MINI,
1163
1364
  ModelType.GPT_4_5_PREVIEW,
1365
+ ModelType.GPT_5,
1366
+ ModelType.GPT_5_NANO,
1367
+ ModelType.GPT_5_MINI,
1164
1368
  ModelType.MISTRAL_LARGE,
1165
1369
  ModelType.MISTRAL_NEMO,
1166
1370
  ModelType.MISTRAL_PIXTRAL_12B,
1167
1371
  ModelType.MISTRAL_8B,
1168
1372
  ModelType.MISTRAL_3B,
1373
+ ModelType.MISTRAL_SMALL_3_2,
1374
+ ModelType.MAGISTRAL_SMALL_1_2,
1169
1375
  ModelType.QWEN_2_5_CODER_32B,
1170
1376
  ModelType.QWEN_2_5_VL_72B,
1171
1377
  ModelType.QWEN_2_5_72B,
@@ -1199,9 +1405,52 @@ class ModelType(UnifiedModelType, Enum):
1199
1405
  ModelType.NETMIND_DEEPSEEK_R1,
1200
1406
  ModelType.NETMIND_DEEPSEEK_V3,
1201
1407
  ModelType.NOVITA_DEEPSEEK_V3_0324,
1202
- ModelType.MISTRAL_MEDIUM_3,
1203
- ModelType.QIANFAN_ERNIE_4_5_TURBO_128K,
1204
- ModelType.QIANFAN_DEEPSEEK_V3,
1408
+ ModelType.MISTRAL_MEDIUM_3_1,
1409
+ ModelType.MAGISTRAL_MEDIUM_1_2,
1410
+ ModelType.ERNIE_4_5_TURBO_128K,
1411
+ ModelType.DEEPSEEK_V3,
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,
1205
1454
  }:
1206
1455
  return 128_000
1207
1456
  elif self in {
@@ -1236,6 +1485,7 @@ class ModelType(UnifiedModelType, Enum):
1236
1485
  ModelType.NOVITA_LLAMA_4_SCOUT_17B,
1237
1486
  ModelType.NOVITA_LLAMA_3_3_70B,
1238
1487
  ModelType.NOVITA_MISTRAL_NEMO,
1488
+ ModelType.NEBIUS_LLAMA_3_1_70B,
1239
1489
  }:
1240
1490
  return 131_072
1241
1491
  elif self in {
@@ -1249,8 +1499,10 @@ class ModelType(UnifiedModelType, Enum):
1249
1499
  ModelType.CLAUDE_3_5_SONNET,
1250
1500
  ModelType.CLAUDE_3_5_HAIKU,
1251
1501
  ModelType.CLAUDE_3_7_SONNET,
1502
+ ModelType.CLAUDE_SONNET_4_5,
1252
1503
  ModelType.CLAUDE_SONNET_4,
1253
1504
  ModelType.CLAUDE_OPUS_4,
1505
+ ModelType.CLAUDE_OPUS_4_1,
1254
1506
  ModelType.YI_MEDIUM_200K,
1255
1507
  ModelType.AWS_CLAUDE_3_5_SONNET,
1256
1508
  ModelType.AWS_CLAUDE_3_HAIKU,
@@ -1258,6 +1510,7 @@ class ModelType(UnifiedModelType, Enum):
1258
1510
  ModelType.AWS_CLAUDE_3_7_SONNET,
1259
1511
  ModelType.AWS_CLAUDE_SONNET_4,
1260
1512
  ModelType.AWS_CLAUDE_OPUS_4,
1513
+ ModelType.AWS_CLAUDE_OPUS_4_1,
1261
1514
  ModelType.O4_MINI,
1262
1515
  ModelType.O3,
1263
1516
  }:
@@ -1265,6 +1518,7 @@ class ModelType(UnifiedModelType, Enum):
1265
1518
  elif self in {
1266
1519
  ModelType.MISTRAL_CODESTRAL_MAMBA,
1267
1520
  ModelType.OPENROUTER_LLAMA_4_MAVERICK_FREE,
1521
+ ModelType.OPENROUTER_HORIZON_ALPHA,
1268
1522
  }:
1269
1523
  return 256_000
1270
1524
 
@@ -1278,8 +1532,9 @@ class ModelType(UnifiedModelType, Enum):
1278
1532
  }:
1279
1533
  return 512_000
1280
1534
  elif self in {
1281
- ModelType.GEMINI_2_5_FLASH_PREVIEW,
1282
- ModelType.GEMINI_2_5_PRO_PREVIEW,
1535
+ ModelType.GEMINI_3_PRO,
1536
+ ModelType.GEMINI_2_5_FLASH,
1537
+ ModelType.GEMINI_2_5_PRO,
1283
1538
  ModelType.GEMINI_2_0_FLASH,
1284
1539
  ModelType.GEMINI_2_0_FLASH_EXP,
1285
1540
  ModelType.GEMINI_2_0_FLASH_THINKING,
@@ -1291,21 +1546,27 @@ class ModelType(UnifiedModelType, Enum):
1291
1546
  ModelType.GLM_4_LONG,
1292
1547
  ModelType.TOGETHER_LLAMA_4_MAVERICK,
1293
1548
  ModelType.OPENROUTER_LLAMA_4_MAVERICK,
1549
+ ModelType.AMD_GPT4,
1294
1550
  ModelType.GPT_4_1,
1295
1551
  ModelType.GPT_4_1_MINI,
1296
1552
  ModelType.GPT_4_1_NANO,
1297
1553
  ModelType.NOVITA_LLAMA_4_MAVERICK_17B,
1298
1554
  }:
1299
1555
  return 1_048_576
1556
+ elif self in {
1557
+ ModelType.QWEN_3_CODER_PLUS,
1558
+ }:
1559
+ return 1_000_000
1300
1560
  elif self in {
1301
1561
  ModelType.QWEN_LONG,
1302
1562
  ModelType.TOGETHER_LLAMA_4_SCOUT,
1303
1563
  }:
1304
1564
  return 10_000_000
1305
1565
  elif self in {
1306
- ModelType.MAGISTRAL_MEDIUM,
1566
+ ModelType.MINIMAX_M2,
1567
+ ModelType.MINIMAX_M2_STABLE,
1307
1568
  }:
1308
- return 40_000
1569
+ return 32_000
1309
1570
 
1310
1571
  else:
1311
1572
  logger.warning(
@@ -1504,6 +1765,8 @@ class ModelPlatformType(Enum):
1504
1765
  AZURE = "azure"
1505
1766
  ANTHROPIC = "anthropic"
1506
1767
  GROQ = "groq"
1768
+ NEBIUS = "nebius"
1769
+ COMETAPI = "cometapi"
1507
1770
  OPENROUTER = "openrouter"
1508
1771
  OLLAMA = "ollama"
1509
1772
  LITELLM = "litellm"
@@ -1520,6 +1783,7 @@ class ModelPlatformType(Enum):
1520
1783
  COHERE = "cohere"
1521
1784
  YI = "lingyiwanwu"
1522
1785
  QWEN = "tongyi-qianwen"
1786
+ AMD = "amd"
1523
1787
  NVIDIA = "nvidia"
1524
1788
  DEEPSEEK = "deepseek"
1525
1789
  PPIO = "ppio"
@@ -1535,6 +1799,8 @@ class ModelPlatformType(Enum):
1535
1799
  WATSONX = "watsonx"
1536
1800
  QIANFAN = "qianfan"
1537
1801
  CRYNUX = "crynux"
1802
+ AIHUBMIX = "aihubmix"
1803
+ MINIMAX = "minimax"
1538
1804
 
1539
1805
  @classmethod
1540
1806
  def from_name(cls, name):
@@ -1715,6 +1981,16 @@ class ModelPlatformType(Enum):
1715
1981
  r"""Returns whether this platform is Crynux."""
1716
1982
  return self is ModelPlatformType.CRYNUX
1717
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
+
1718
1994
 
1719
1995
  class AudioModelType(Enum):
1720
1996
  TTS_1 = "tts-1"