xinference 1.4.0__py3-none-any.whl → 1.5.0__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.

Potentially problematic release.


This version of xinference might be problematic. Click here for more details.

Files changed (132) hide show
  1. xinference/_compat.py +1 -0
  2. xinference/_version.py +3 -3
  3. xinference/api/restful_api.py +54 -1
  4. xinference/client/restful/restful_client.py +82 -2
  5. xinference/constants.py +3 -0
  6. xinference/core/chat_interface.py +297 -83
  7. xinference/core/model.py +24 -3
  8. xinference/core/progress_tracker.py +16 -8
  9. xinference/core/supervisor.py +51 -1
  10. xinference/core/worker.py +315 -47
  11. xinference/deploy/cmdline.py +33 -1
  12. xinference/model/audio/core.py +11 -1
  13. xinference/model/audio/megatts.py +105 -0
  14. xinference/model/audio/model_spec.json +24 -1
  15. xinference/model/audio/model_spec_modelscope.json +26 -1
  16. xinference/model/core.py +14 -0
  17. xinference/model/embedding/core.py +6 -1
  18. xinference/model/flexible/core.py +6 -1
  19. xinference/model/image/core.py +6 -1
  20. xinference/model/image/model_spec.json +17 -1
  21. xinference/model/image/model_spec_modelscope.json +17 -1
  22. xinference/model/llm/__init__.py +4 -6
  23. xinference/model/llm/core.py +5 -0
  24. xinference/model/llm/llama_cpp/core.py +46 -17
  25. xinference/model/llm/llm_family.json +530 -85
  26. xinference/model/llm/llm_family.py +24 -1
  27. xinference/model/llm/llm_family_modelscope.json +572 -1
  28. xinference/model/llm/mlx/core.py +16 -2
  29. xinference/model/llm/reasoning_parser.py +3 -3
  30. xinference/model/llm/sglang/core.py +111 -13
  31. xinference/model/llm/transformers/__init__.py +14 -0
  32. xinference/model/llm/transformers/core.py +31 -6
  33. xinference/model/llm/transformers/deepseek_vl.py +1 -1
  34. xinference/model/llm/transformers/deepseek_vl2.py +287 -0
  35. xinference/model/llm/transformers/gemma3.py +17 -2
  36. xinference/model/llm/transformers/intern_vl.py +28 -18
  37. xinference/model/llm/transformers/minicpmv26.py +21 -2
  38. xinference/model/llm/transformers/qwen-omni.py +308 -0
  39. xinference/model/llm/transformers/qwen2_audio.py +1 -1
  40. xinference/model/llm/transformers/qwen2_vl.py +20 -4
  41. xinference/model/llm/utils.py +37 -15
  42. xinference/model/llm/vllm/core.py +184 -8
  43. xinference/model/llm/vllm/distributed_executor.py +320 -0
  44. xinference/model/rerank/core.py +22 -12
  45. xinference/model/utils.py +118 -1
  46. xinference/model/video/core.py +6 -1
  47. xinference/thirdparty/deepseek_vl2/__init__.py +31 -0
  48. xinference/thirdparty/deepseek_vl2/models/__init__.py +26 -0
  49. xinference/thirdparty/deepseek_vl2/models/configuration_deepseek.py +210 -0
  50. xinference/thirdparty/deepseek_vl2/models/conversation.py +310 -0
  51. xinference/thirdparty/deepseek_vl2/models/modeling_deepseek.py +1975 -0
  52. xinference/thirdparty/deepseek_vl2/models/modeling_deepseek_vl_v2.py +697 -0
  53. xinference/thirdparty/deepseek_vl2/models/processing_deepseek_vl_v2.py +675 -0
  54. xinference/thirdparty/deepseek_vl2/models/siglip_vit.py +661 -0
  55. xinference/thirdparty/deepseek_vl2/serve/__init__.py +0 -0
  56. xinference/thirdparty/deepseek_vl2/serve/app_modules/__init__.py +0 -0
  57. xinference/thirdparty/deepseek_vl2/serve/app_modules/gradio_utils.py +83 -0
  58. xinference/thirdparty/deepseek_vl2/serve/app_modules/overwrites.py +81 -0
  59. xinference/thirdparty/deepseek_vl2/serve/app_modules/presets.py +115 -0
  60. xinference/thirdparty/deepseek_vl2/serve/app_modules/utils.py +333 -0
  61. xinference/thirdparty/deepseek_vl2/serve/assets/Kelpy-Codos.js +100 -0
  62. xinference/thirdparty/deepseek_vl2/serve/assets/avatar.png +0 -0
  63. xinference/thirdparty/deepseek_vl2/serve/assets/custom.css +355 -0
  64. xinference/thirdparty/deepseek_vl2/serve/assets/custom.js +22 -0
  65. xinference/thirdparty/deepseek_vl2/serve/assets/favicon.ico +0 -0
  66. xinference/thirdparty/deepseek_vl2/serve/assets/simsun.ttc +0 -0
  67. xinference/thirdparty/deepseek_vl2/serve/inference.py +197 -0
  68. xinference/thirdparty/deepseek_vl2/utils/__init__.py +18 -0
  69. xinference/thirdparty/deepseek_vl2/utils/io.py +80 -0
  70. xinference/thirdparty/megatts3/__init__.py +0 -0
  71. xinference/thirdparty/megatts3/tts/frontend_function.py +175 -0
  72. xinference/thirdparty/megatts3/tts/gradio_api.py +93 -0
  73. xinference/thirdparty/megatts3/tts/infer_cli.py +277 -0
  74. xinference/thirdparty/megatts3/tts/modules/aligner/whisper_small.py +318 -0
  75. xinference/thirdparty/megatts3/tts/modules/ar_dur/ar_dur_predictor.py +362 -0
  76. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/layers.py +64 -0
  77. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/nar_tts_modules.py +73 -0
  78. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/rel_transformer.py +403 -0
  79. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/rot_transformer.py +649 -0
  80. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/seq_utils.py +342 -0
  81. xinference/thirdparty/megatts3/tts/modules/ar_dur/commons/transformer.py +767 -0
  82. xinference/thirdparty/megatts3/tts/modules/llm_dit/cfm.py +309 -0
  83. xinference/thirdparty/megatts3/tts/modules/llm_dit/dit.py +180 -0
  84. xinference/thirdparty/megatts3/tts/modules/llm_dit/time_embedding.py +44 -0
  85. xinference/thirdparty/megatts3/tts/modules/llm_dit/transformer.py +230 -0
  86. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/diag_gaussian.py +67 -0
  87. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/hifigan_modules.py +283 -0
  88. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/seanet_encoder.py +38 -0
  89. xinference/thirdparty/megatts3/tts/modules/wavvae/decoder/wavvae_v3.py +60 -0
  90. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/conv.py +154 -0
  91. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/lstm.py +51 -0
  92. xinference/thirdparty/megatts3/tts/modules/wavvae/encoder/common_modules/seanet.py +126 -0
  93. xinference/thirdparty/megatts3/tts/utils/audio_utils/align.py +36 -0
  94. xinference/thirdparty/megatts3/tts/utils/audio_utils/io.py +95 -0
  95. xinference/thirdparty/megatts3/tts/utils/audio_utils/plot.py +90 -0
  96. xinference/thirdparty/megatts3/tts/utils/commons/ckpt_utils.py +171 -0
  97. xinference/thirdparty/megatts3/tts/utils/commons/hparams.py +215 -0
  98. xinference/thirdparty/megatts3/tts/utils/text_utils/dict.json +1 -0
  99. xinference/thirdparty/megatts3/tts/utils/text_utils/ph_tone_convert.py +94 -0
  100. xinference/thirdparty/megatts3/tts/utils/text_utils/split_text.py +90 -0
  101. xinference/thirdparty/megatts3/tts/utils/text_utils/text_encoder.py +280 -0
  102. xinference/types.py +10 -0
  103. xinference/utils.py +54 -0
  104. xinference/web/ui/build/asset-manifest.json +6 -6
  105. xinference/web/ui/build/index.html +1 -1
  106. xinference/web/ui/build/static/css/main.0f6523be.css +2 -0
  107. xinference/web/ui/build/static/css/main.0f6523be.css.map +1 -0
  108. xinference/web/ui/build/static/js/main.58bd483c.js +3 -0
  109. xinference/web/ui/build/static/js/main.58bd483c.js.map +1 -0
  110. xinference/web/ui/node_modules/.cache/babel-loader/3bff8cbe9141f937f4d98879a9771b0f48e0e4e0dbee8e647adbfe23859e7048.json +1 -0
  111. xinference/web/ui/node_modules/.cache/babel-loader/4500b1a622a031011f0a291701e306b87e08cbc749c50e285103536b85b6a914.json +1 -0
  112. xinference/web/ui/node_modules/.cache/babel-loader/51709f5d3e53bcf19e613662ef9b91fb9174942c5518987a248348dd4e1e0e02.json +1 -0
  113. xinference/web/ui/node_modules/.cache/babel-loader/69081049f0c7447544b7cfd73dd13d8846c02fe5febe4d81587e95c89a412d5b.json +1 -0
  114. xinference/web/ui/node_modules/.cache/babel-loader/b8551e9775a01b28ae674125c688febe763732ea969ae344512e64ea01bf632e.json +1 -0
  115. xinference/web/ui/node_modules/.cache/babel-loader/bf2b211b0d1b6465eff512d64c869d748f803c5651a7c24e48de6ea3484a7bfe.json +1 -0
  116. xinference/web/ui/src/locales/en.json +2 -1
  117. xinference/web/ui/src/locales/zh.json +2 -1
  118. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/METADATA +128 -115
  119. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/RECORD +124 -63
  120. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/WHEEL +1 -1
  121. xinference/web/ui/build/static/css/main.b494ae7e.css +0 -2
  122. xinference/web/ui/build/static/css/main.b494ae7e.css.map +0 -1
  123. xinference/web/ui/build/static/js/main.3cea968e.js +0 -3
  124. xinference/web/ui/build/static/js/main.3cea968e.js.map +0 -1
  125. xinference/web/ui/node_modules/.cache/babel-loader/27bcada3ee8f89d21184b359f022fc965f350ffaca52c9814c29f1fc37121173.json +0 -1
  126. xinference/web/ui/node_modules/.cache/babel-loader/7f59e45e3f268ab8a4788b6fb024cf8dab088736dff22f5a3a39c122a83ab930.json +0 -1
  127. xinference/web/ui/node_modules/.cache/babel-loader/dcd60488509450bfff37bfff56de2c096d51de17dd00ec60d4db49c8b483ada1.json +0 -1
  128. xinference/web/ui/node_modules/.cache/babel-loader/e547bbb18abb4a474b675a8d5782d25617566bea0af8caa9b836ce5649e2250a.json +0 -1
  129. /xinference/web/ui/build/static/js/{main.3cea968e.js.LICENSE.txt → main.58bd483c.js.LICENSE.txt} +0 -0
  130. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/entry_points.txt +0 -0
  131. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info/licenses}/LICENSE +0 -0
  132. {xinference-1.4.0.dist-info → xinference-1.5.0.dist-info}/top_level.txt +0 -0
@@ -36,6 +36,7 @@ from ...constants import (
36
36
  XINFERENCE_ENV_CSG_TOKEN,
37
37
  XINFERENCE_MODEL_DIR,
38
38
  )
39
+ from ..core import VirtualEnvSettings
39
40
  from ..utils import (
40
41
  IS_NEW_HUGGINGFACE_HUB,
41
42
  create_symlink,
@@ -134,7 +135,9 @@ class LLMFamilyV1(BaseModel):
134
135
  model_name: str
135
136
  model_lang: List[str]
136
137
  model_ability: List[
137
- Literal["embed", "generate", "chat", "tools", "vision", "audio", "reasoning"]
138
+ Literal[
139
+ "embed", "generate", "chat", "tools", "vision", "audio", "omni", "reasoning"
140
+ ]
138
141
  ]
139
142
  model_description: Optional[str]
140
143
  # reason for not required str here: legacy registration
@@ -145,6 +148,7 @@ class LLMFamilyV1(BaseModel):
145
148
  stop: Optional[List[str]]
146
149
  reasoning_start_tag: Optional[str]
147
150
  reasoning_end_tag: Optional[str]
151
+ virtualenv: Optional[VirtualEnvSettings]
148
152
 
149
153
 
150
154
  class CustomLLMFamilyV1(LLMFamilyV1):
@@ -264,6 +268,25 @@ SUPPORTED_ENGINES: Dict[str, List[Type[LLM]]] = {}
264
268
  LLM_LAUNCH_VERSIONS: Dict[str, List[str]] = {}
265
269
 
266
270
 
271
+ # Add decorator definition
272
+ def register_transformer(cls):
273
+ """
274
+ Decorator function to register a class as a transformer.
275
+
276
+ This decorator appends the provided class to the TRANSFORMERS_CLASSES list.
277
+ It is used to keep track of classes that are considered transformers.
278
+
279
+ Args:
280
+ cls (class): The class to be registered as a transformer.
281
+
282
+ Returns:
283
+ class: The same class that was passed in, after being registered.
284
+ """
285
+ # Append the class to the list of transformer classes
286
+ TRANSFORMERS_CLASSES.append(cls)
287
+ return cls
288
+
289
+
267
290
  def download_from_self_hosted_storage() -> bool:
268
291
  from ...constants import XINFERENCE_ENV_MODEL_SRC
269
292
 
@@ -5038,6 +5038,169 @@
5038
5038
  "stop_token_ids": [],
5039
5039
  "stop": []
5040
5040
  },
5041
+ {
5042
+ "version": 1,
5043
+ "context_length": 8192,
5044
+ "model_name": "InternVL3",
5045
+ "model_lang": [
5046
+ "en",
5047
+ "zh"
5048
+ ],
5049
+ "model_ability": [
5050
+ "chat",
5051
+ "vision"
5052
+ ],
5053
+ "model_description": "InternVL3, an advanced multimodal large language model (MLLM) series that demonstrates superior overall performance.",
5054
+ "model_specs": [
5055
+ {
5056
+ "model_format": "pytorch",
5057
+ "model_size_in_billions": 1,
5058
+ "quantizations": [
5059
+ "8-bit",
5060
+ "none"
5061
+ ],
5062
+ "model_id": "OpenGVLab/InternVL3-1B",
5063
+ "model_hub": "modelscope",
5064
+ "model_revision": "master"
5065
+ },
5066
+ {
5067
+ "model_format": "awq",
5068
+ "model_size_in_billions": 1,
5069
+ "quantizations": [
5070
+ "Int4"
5071
+ ],
5072
+ "model_id": "OpenGVLab/InternVL3-1B-AWQ",
5073
+ "model_hub": "modelscope"
5074
+ },
5075
+ {
5076
+ "model_format": "pytorch",
5077
+ "model_size_in_billions": 2,
5078
+ "quantizations": [
5079
+ "8-bit",
5080
+ "none"
5081
+ ],
5082
+ "model_id": "OpenGVLab/InternVL3-2B",
5083
+ "model_hub": "modelscope",
5084
+ "model_revision": "master"
5085
+ },
5086
+ {
5087
+ "model_format": "awq",
5088
+ "model_size_in_billions": 2,
5089
+ "quantizations": [
5090
+ "Int4"
5091
+ ],
5092
+ "model_id": "OpenGVLab/InternVL3-2B-AWQ",
5093
+ "model_hub": "modelscope"
5094
+ },
5095
+ {
5096
+ "model_format": "pytorch",
5097
+ "model_size_in_billions": 8,
5098
+ "quantizations": [
5099
+ "8-bit",
5100
+ "none"
5101
+ ],
5102
+ "model_id": "OpenGVLab/InternVL3-8B",
5103
+ "model_hub": "modelscope",
5104
+ "model_revision": "master"
5105
+ },
5106
+ {
5107
+ "model_format": "awq",
5108
+ "model_size_in_billions": 8,
5109
+ "quantizations": [
5110
+ "Int4"
5111
+ ],
5112
+ "model_id": "OpenGVLab/InternVL3-8B-AWQ",
5113
+ "model_hub": "modelscope"
5114
+ },
5115
+ {
5116
+ "model_format": "pytorch",
5117
+ "model_size_in_billions": 9,
5118
+ "quantizations": [
5119
+ "8-bit",
5120
+ "none"
5121
+ ],
5122
+ "model_id": "OpenGVLab/InternVL3-9B",
5123
+ "model_hub": "modelscope",
5124
+ "model_revision": "master"
5125
+ },
5126
+ {
5127
+ "model_format": "awq",
5128
+ "model_size_in_billions": 9,
5129
+ "quantizations": [
5130
+ "Int4"
5131
+ ],
5132
+ "model_id": "OpenGVLab/InternVL3-9B-AWQ",
5133
+ "model_hub": "modelscope"
5134
+ },
5135
+ {
5136
+ "model_format": "pytorch",
5137
+ "model_size_in_billions": 14,
5138
+ "quantizations": [
5139
+ "8-bit",
5140
+ "none"
5141
+ ],
5142
+ "model_id": "OpenGVLab/InternVL3-14B",
5143
+ "model_hub": "modelscope",
5144
+ "model_revision": "master"
5145
+ },
5146
+ {
5147
+ "model_format": "awq",
5148
+ "model_size_in_billions": 14,
5149
+ "quantizations": [
5150
+ "Int4"
5151
+ ],
5152
+ "model_id": "OpenGVLab/InternVL3-14B-AWQ",
5153
+ "model_hub": "modelscope"
5154
+ },
5155
+ {
5156
+ "model_format": "pytorch",
5157
+ "model_size_in_billions": 38,
5158
+ "quantizations": [
5159
+ "8-bit",
5160
+ "none"
5161
+ ],
5162
+ "model_id": "OpenGVLab/InternVL3-38B",
5163
+ "model_hub": "modelscope",
5164
+ "model_revision": "master"
5165
+ },
5166
+ {
5167
+ "model_format": "awq",
5168
+ "model_size_in_billions": 38,
5169
+ "quantizations": [
5170
+ "Int4"
5171
+ ],
5172
+ "model_id": "OpenGVLab/InternVL3-38B-AWQ",
5173
+ "model_hub": "modelscope"
5174
+ },
5175
+ {
5176
+ "model_format": "pytorch",
5177
+ "model_size_in_billions": 78,
5178
+ "quantizations": [
5179
+ "8-bit",
5180
+ "none"
5181
+ ],
5182
+ "model_id": "OpenGVLab/InternVL3-78B",
5183
+ "model_hub": "modelscope",
5184
+ "model_revision": "master"
5185
+ },
5186
+ {
5187
+ "model_format": "awq",
5188
+ "model_size_in_billions": 78,
5189
+ "quantizations": [
5190
+ "Int4"
5191
+ ],
5192
+ "model_id": "OpenGVLab/InternVL3-78B-AWQ",
5193
+ "model_hub": "modelscope"
5194
+ }
5195
+ ],
5196
+ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
5197
+ "stop_token_ids": [
5198
+ 151645
5199
+ ],
5200
+ "stop": [
5201
+ "<|im_end|>"
5202
+ ]
5203
+ },
5041
5204
  {
5042
5205
  "version": 1,
5043
5206
  "context_length": 8192,
@@ -5399,6 +5562,15 @@
5399
5562
  "model_hub": "modelscope",
5400
5563
  "model_id":"Qwen/Qwen2.5-VL-7B-Instruct"
5401
5564
  },
5565
+ {
5566
+ "model_format":"pytorch",
5567
+ "model_size_in_billions":32,
5568
+ "quantizations":[
5569
+ "none"
5570
+ ],
5571
+ "model_hub": "modelscope",
5572
+ "model_id":"Qwen/Qwen2.5-VL-32B-Instruct"
5573
+ },
5402
5574
  {
5403
5575
  "model_format":"pytorch",
5404
5576
  "model_size_in_billions":72,
@@ -5423,9 +5595,18 @@
5423
5595
  "quantizations":[
5424
5596
  "Int4"
5425
5597
  ],
5426
- "model_hub": "awq",
5598
+ "model_hub": "modelscope",
5427
5599
  "model_id":"Qwen/Qwen2.5-VL-7B-Instruct-AWQ"
5428
5600
  },
5601
+ {
5602
+ "model_format":"awq",
5603
+ "model_size_in_billions":32,
5604
+ "quantizations":[
5605
+ "Int4"
5606
+ ],
5607
+ "model_hub": "modelscope",
5608
+ "model_id":"Qwen/Qwen2.5-VL-32B-Instruct-AWQ"
5609
+ },
5429
5610
  {
5430
5611
  "model_format":"pytorch",
5431
5612
  "model_size_in_billions":72,
@@ -5485,6 +5666,48 @@
5485
5666
  "<|endoftext|>"
5486
5667
  ]
5487
5668
  },
5669
+ {
5670
+ "version":1,
5671
+ "context_length":32768,
5672
+ "model_name":"qwen2.5-omni",
5673
+ "model_lang":[
5674
+ "en",
5675
+ "zh"
5676
+ ],
5677
+ "model_ability":[
5678
+ "chat",
5679
+ "vision",
5680
+ "audio",
5681
+ "omni"
5682
+ ],
5683
+ "model_description":"Qwen2.5-Omni: the new flagship end-to-end multimodal model in the Qwen series.",
5684
+ "model_specs":[
5685
+ {
5686
+ "model_format":"pytorch",
5687
+ "model_size_in_billions":7,
5688
+ "quantizations":[
5689
+ "none"
5690
+ ],
5691
+ "model_hub": "modelscope",
5692
+ "model_id":"Qwen/Qwen2.5-Omni-7B"
5693
+ }
5694
+ ],
5695
+ "chat_template": "{% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{% for message in messages %}{% if loop.first and message['role'] != 'system' %}<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n{% endif %}<|im_start|>{{ message['role'] }}\n{% if message['content'] is string %}{{ message['content'] }}<|im_end|>\n{% else %}{% for content in message['content'] %}{% if content['type'] == 'image' or 'image' in content or 'image_url' in content %}{% set image_count.value = image_count.value + 1 %}{% if add_vision_id %}Picture {{ image_count.value }}: {% endif %}<|vision_start|><|image_pad|><|vision_end|>{% elif content['type'] == 'video' or 'video' in content %}{% set video_count.value = video_count.value + 1 %}{% if add_vision_id %}Video {{ video_count.value }}: {% endif %}<|vision_start|><|video_pad|><|vision_end|>{% elif 'text' in content %}{{ content['text'] }}{% endif %}{% endfor %}<|im_end|>\n{% endif %}{% endfor %}{% if add_generation_prompt %}<|im_start|>assistant\n{% endif %}",
5696
+ "stop_token_ids": [
5697
+ 151645,
5698
+ 151643
5699
+ ],
5700
+ "stop": [
5701
+ "<|im_end|>",
5702
+ "<|endoftext|>"
5703
+ ],
5704
+ "virtualenv": {
5705
+ "packages": [
5706
+ "git+https://github.com/huggingface/transformers@v4.51.3-Qwen2.5-Omni-preview",
5707
+ "numpy==1.26.4"
5708
+ ]
5709
+ }
5710
+ },
5488
5711
  {
5489
5712
  "version": 1,
5490
5713
  "context_length": 32768,
@@ -7528,8 +7751,30 @@
7528
7751
  "q6_k",
7529
7752
  "q8_0"
7530
7753
  ],
7754
+ "quantization_parts": {
7755
+ "fp16": [
7756
+ "00001-of-00017",
7757
+ "00002-of-00017",
7758
+ "00003-of-00017",
7759
+ "00004-of-00017",
7760
+ "00005-of-00017",
7761
+ "00006-of-00017",
7762
+ "00007-of-00017",
7763
+ "00008-of-00017",
7764
+ "00009-of-00017",
7765
+ "00010-of-00017",
7766
+ "00011-of-00017",
7767
+ "00012-of-00017",
7768
+ "00013-of-00017",
7769
+ "00014-of-00017",
7770
+ "00015-of-00017",
7771
+ "00016-of-00017",
7772
+ "00017-of-00017"
7773
+ ]
7774
+ },
7531
7775
  "model_id": "Qwen/QwQ-32B-GGUF",
7532
7776
  "model_file_name_template": "qwq-32b-{quantization}.gguf",
7777
+ "model_file_name_split_template": "qwq-32b-{quantization}-{part}.gguf",
7533
7778
  "model_hub": "modelscope"
7534
7779
  }
7535
7780
  ],
@@ -8420,5 +8665,331 @@
8420
8665
  "stop": [
8421
8666
  "<|im_end|>"
8422
8667
  ]
8668
+ },
8669
+ {
8670
+ "version": 1,
8671
+ "context_length": 131072,
8672
+ "model_name": "fin-r1",
8673
+ "model_lang": [
8674
+ "en",
8675
+ "zh"
8676
+ ],
8677
+ "model_ability": [
8678
+ "chat"
8679
+ ],
8680
+ "model_description": "Fin-R1 is a large language model specifically designed for the field of financial reasoning",
8681
+ "model_specs": [
8682
+ {
8683
+ "model_format": "pytorch",
8684
+ "model_size_in_billions": 7,
8685
+ "quantizations": [
8686
+ "4-bit",
8687
+ "8-bit",
8688
+ "none"
8689
+ ],
8690
+ "model_id": "AI-ModelScope/Fin-R1",
8691
+ "model_hub": "modelscope"
8692
+ },
8693
+ {
8694
+ "model_format": "gptq",
8695
+ "model_size_in_billions": 7,
8696
+ "quantizations": [
8697
+ "Int4",
8698
+ "Int8"
8699
+ ],
8700
+ "model_id": "JunHowie/Fin-R1-GPTQ-{quantization}",
8701
+ "model_hub": "modelscope"
8702
+ },
8703
+ {
8704
+ "model_format": "fp8",
8705
+ "model_size_in_billions": 7,
8706
+ "quantizations": [
8707
+ "FP8"
8708
+ ],
8709
+ "model_id": "JunHowie/Fin-R1-FP8-Dynamic",
8710
+ "model_hub": "modelscope"
8711
+ }
8712
+ ],
8713
+ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
8714
+ "stop_token_ids": [
8715
+ 151643,
8716
+ 151644,
8717
+ 151645
8718
+ ],
8719
+ "stop": [
8720
+ "<|endoftext|>",
8721
+ "<|im_start|>",
8722
+ "<|im_end|>"
8723
+ ]
8724
+ },
8725
+ {
8726
+ "version": 1,
8727
+ "context_length": 4096,
8728
+ "model_name": "deepseek-vl2",
8729
+ "model_lang": [
8730
+ "en",
8731
+ "zh"
8732
+ ],
8733
+ "model_ability": [
8734
+ "chat",
8735
+ "vision"
8736
+ ],
8737
+ "model_description": "DeepSeek-VL2, an advanced series of large Mixture-of-Experts (MoE) Vision-Language Models that significantly improves upon its predecessor, DeepSeek-VL. DeepSeek-VL2 demonstrates superior capabilities across various tasks, including but not limited to visual question answering, optical character recognition, document/table/chart understanding, and visual grounding.",
8738
+ "model_specs": [
8739
+ {
8740
+ "model_format": "pytorch",
8741
+ "model_size_in_billions": 27,
8742
+ "quantizations": [
8743
+ "none"
8744
+ ],
8745
+ "model_id": "deepseek-ai/deepseek-vl2",
8746
+ "model_hub": "modelscope"
8747
+ },
8748
+ {
8749
+ "model_format": "pytorch",
8750
+ "model_size_in_billions": 16,
8751
+ "quantizations": [
8752
+ "none"
8753
+ ],
8754
+ "model_id": "deepseek-ai/deepseek-vl2-small",
8755
+ "model_hub": "modelscope"
8756
+ },
8757
+ {
8758
+ "model_format": "pytorch",
8759
+ "model_size_in_billions": 3,
8760
+ "quantizations": [
8761
+ "none"
8762
+ ],
8763
+ "model_id": "deepseek-ai/deepseek-vl2-tiny",
8764
+ "model_hub": "modelscope"
8765
+ }
8766
+ ],
8767
+ "chat_template": "",
8768
+ "stop_token_ids": [
8769
+ 1
8770
+ ],
8771
+ "stop": [
8772
+ "<|end▁of▁sentence|>"
8773
+ ]
8774
+ },
8775
+ {
8776
+ "version": 1,
8777
+ "context_length": 32768,
8778
+ "model_name": "seallms-v3",
8779
+ "model_lang": [
8780
+ "en",
8781
+ "zh",
8782
+ "id",
8783
+ "vi",
8784
+ "th",
8785
+ "ph",
8786
+ "ms",
8787
+ "mm",
8788
+ "kh",
8789
+ "la",
8790
+ "in"
8791
+ ],
8792
+ "model_ability": [
8793
+ "chat"
8794
+ ],
8795
+ "model_description": "SeaLLMs - Large Language Models for Southeast Asia",
8796
+ "model_specs": [
8797
+ {
8798
+ "model_format": "pytorch",
8799
+ "model_size_in_billions": "1_5",
8800
+ "quantizations": [
8801
+ "none"
8802
+ ],
8803
+ "model_id": "SeaLLMs/SeaLLMs-v3-1.5B-Chat",
8804
+ "model_hub": "modelscope"
8805
+ },
8806
+ {
8807
+ "model_format": "pytorch",
8808
+ "model_size_in_billions": 7,
8809
+ "quantizations": [
8810
+ "none"
8811
+ ],
8812
+ "model_id": "SeaLLMs/SeaLLMs-v3-7B-Chat",
8813
+ "model_hub": "modelscope"
8814
+ }
8815
+ ],
8816
+ "chat_template": "{% set system_message = 'You are a helpful assistant.' %}{% if messages[0]['role'] == 'system' %}{% set system_message = messages[0]['content'] %}{% endif %}{% if system_message is defined %}{{ '<|im_start|>system\n' + system_message + '<|im_end|>\n' }}{% endif %}{% for message in messages %}{% set content = message['content'] %}{% if message['role'] == 'user' %}{{ '<|im_start|>user\n' + content + '<|im_end|>\n<|im_start|>assistant\n' }}{% elif message['role'] == 'assistant' %}{{ content + '<|im_end|>' + '\n' }}{% endif %}{% endfor %}",
8817
+ "stop_token_ids": [
8818
+ 151643,
8819
+ 151644,
8820
+ 151645
8821
+ ],
8822
+ "stop": [
8823
+ "<|endoftext|>",
8824
+ "<|im_start|>",
8825
+ "<|im_end|>"
8826
+ ]
8827
+ },
8828
+ {
8829
+ "version": 1,
8830
+ "context_length": 32768,
8831
+ "model_name": "glm4-0414",
8832
+ "model_lang": [
8833
+ "en",
8834
+ "zh"
8835
+ ],
8836
+ "model_ability": [
8837
+ "chat",
8838
+ "tools"
8839
+ ],
8840
+ "model_description": "The GLM family welcomes new members, the GLM-4-32B-0414 series models, featuring 32 billion parameters. Its performance is comparable to OpenAI’s GPT series and DeepSeek’s V3/R1 series",
8841
+ "model_specs": [
8842
+ {
8843
+ "model_format": "pytorch",
8844
+ "model_size_in_billions": 9,
8845
+ "quantizations": [
8846
+ "none"
8847
+ ],
8848
+ "model_id": "ZhipuAI/GLM-4-9B-0414",
8849
+ "model_hub": "modelscope"
8850
+ },
8851
+ {
8852
+ "model_format": "pytorch",
8853
+ "model_size_in_billions": 32,
8854
+ "quantizations": [
8855
+ "none"
8856
+ ],
8857
+ "model_id": "ZhipuAI/GLM-4-32B-0414",
8858
+ "model_hub": "modelscope"
8859
+ }
8860
+ ],
8861
+ "chat_template": "[gMASK]<sop>{%- if tools -%}<|system|>\n# 可用工具\n{% for tool in tools %}{%- set function = tool.function if tool.get(\"function\") else tool %}\n\n## {{ function.name }}\n\n{{ function | tojson(indent=4, ensure_ascii=False) }}\n在调用上述函数时,请使用 Json 格式表示调用的参数。{%- endfor %}{%- endif -%}{%- for msg in messages %}{%- if msg.role == 'system' %}<|system|>\n{{ msg.content }}{%- endif %}{%- endfor %}{%- for message in messages if message.role != 'system' %}{%- set role = message['role'] %}{%- set content = message['content'] %}{%- set meta = message.get(\"metadata\", \"\") %}{%- if role == 'user' %}<|user|>\n{{ content }}{%- elif role == 'assistant' and not meta %}<|assistant|>\n{{ content }}{%- elif role == 'assistant' and meta %}<|assistant|>{{ meta }} \n{{ content }}{%- elif role == 'observation' %}<|observation|>\n{{ content }}{%- endif %}{%- endfor %}{% if add_generation_prompt %}<|assistant|>{% endif %}",
8862
+ "stop_token_ids": [
8863
+ 151329,
8864
+ 151336,
8865
+ 151338
8866
+ ],
8867
+ "stop": [
8868
+ "<|endoftext|>",
8869
+ "<|user|>",
8870
+ "<|observation|>"
8871
+ ]
8872
+ },
8873
+ {
8874
+ "version": 1,
8875
+ "context_length": 32768,
8876
+ "model_name": "skywork-or1-preview",
8877
+ "model_lang": [
8878
+ "en",
8879
+ "zh"
8880
+ ],
8881
+ "model_ability": [
8882
+ "chat"
8883
+ ],
8884
+ "model_description": "The Skywork-OR1 (Open Reasoner 1) model series consists of powerful math and code reasoning models trained using large-scale rule-based reinforcement learning with carefully designed datasets and training recipes.",
8885
+ "model_specs": [
8886
+ {
8887
+ "model_format": "pytorch",
8888
+ "model_size_in_billions": 32,
8889
+ "quantizations": [
8890
+ "none"
8891
+ ],
8892
+ "model_id": "Skywork/Skywork-OR1-32B-Preview",
8893
+ "model_hub": "modelscope"
8894
+ },
8895
+ {
8896
+ "model_format": "gptq",
8897
+ "model_size_in_billions": 32,
8898
+ "quantizations": [
8899
+ "Int4",
8900
+ "int8"
8901
+ ],
8902
+ "model_id": "JunHowie/Skywork-OR1-32B-Preview-GPTQ-{quantization}",
8903
+ "model_hub": "modelscope"
8904
+ },
8905
+ {
8906
+ "model_format": "pytorch",
8907
+ "model_size_in_billions": 7,
8908
+ "quantizations": [
8909
+ "none"
8910
+ ],
8911
+ "model_id": "Skywork/Skywork-OR1-7B-Preview",
8912
+ "model_hub": "modelscope"
8913
+ },
8914
+ {
8915
+ "model_format": "ggufv2",
8916
+ "model_size_in_billions": 32,
8917
+ "quantizations": [
8918
+ "IQ2_M",
8919
+ "IQ2_S",
8920
+ "IQ2_XS",
8921
+ "IQ3_M",
8922
+ "IQ3_XS",
8923
+ "IQ3_XXS",
8924
+ "IQ4_NL",
8925
+ "IQ4_XS",
8926
+ "Q2_K",
8927
+ "Q2_K_L",
8928
+ "Q3_K_L",
8929
+ "Q3_K_M",
8930
+ "Q3_K_S",
8931
+ "Q3_K_XL",
8932
+ "Q4_0",
8933
+ "Q4_1",
8934
+ "Q4_K_L",
8935
+ "Q4_K_M",
8936
+ "Q4_K_S",
8937
+ "Q5_K_L",
8938
+ "Q5_K_M",
8939
+ "Q5_K_S",
8940
+ "Q6_K",
8941
+ "Q6_K_L",
8942
+ "Q8_0"
8943
+ ],
8944
+ "model_id": "bartowski/Skywork_Skywork-OR1-32B-Preview-GGUF",
8945
+ "model_file_name_template": "Skywork_Skywork-OR1-32B-Preview-{quantization}.gguf",
8946
+ "model_hub": "modelscope"
8947
+ },
8948
+ {
8949
+ "model_format": "ggufv2",
8950
+ "model_size_in_billions": 7,
8951
+ "quantizations": [
8952
+ "IQ2_M",
8953
+ "IQ2_S",
8954
+ "IQ2_XS",
8955
+ "IQ3_M",
8956
+ "IQ3_XS",
8957
+ "IQ3_XXS",
8958
+ "IQ4_NL",
8959
+ "IQ4_XS",
8960
+ "Q2_K",
8961
+ "Q2_K_L",
8962
+ "Q3_K_L",
8963
+ "Q3_K_M",
8964
+ "Q3_K_S",
8965
+ "Q3_K_XL",
8966
+ "Q4_0",
8967
+ "Q4_1",
8968
+ "Q4_K_L",
8969
+ "Q4_K_M",
8970
+ "Q4_K_S",
8971
+ "Q5_K_L",
8972
+ "Q5_K_M",
8973
+ "Q5_K_S",
8974
+ "Q6_K",
8975
+ "Q6_K_L",
8976
+ "Q8_0"
8977
+ ],
8978
+ "model_id": "bartowski/Skywork_Skywork-OR1-7B-Preview-GGUF",
8979
+ "model_file_name_template": "Skywork_Skywork-OR1-7B-Preview-{quantization}.gguf",
8980
+ "model_hub": "modelscope"
8981
+ }
8982
+ ],
8983
+ "chat_template": "{% if not add_generation_prompt is defined %}{% set add_generation_prompt = false %}{% endif %}{% set ns = namespace(is_first=false, is_tool=false, is_output_first=true, system_prompt='') %}{%- for message in messages %}{%- if message['role'] == 'system' %}{% set ns.system_prompt = message['content'] %}{%- endif %}{%- endfor %}{{bos_token}}{{ns.system_prompt}}{%- for message in messages %}{%- if message['role'] == 'user' %}{%- set ns.is_tool = false -%}{{'<|User|>' + message['content']}}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is none %}{%- set ns.is_tool = false -%}{%- for tool in message['tool_calls']%}{%- if not ns.is_first %}{{'<|Assistant|><|tool▁calls▁begin|><|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{%- set ns.is_first = true -%}{%- else %}{{'\\n' + '<|tool▁call▁begin|>' + tool['type'] + '<|tool▁sep|>' + tool['function']['name'] + '\\n' + '```json' + '\\n' + tool['function']['arguments'] + '\\n' + '```' + '<|tool▁call▁end|>'}}{{'<|tool▁calls▁end|><|end▁of▁sentence|>'}}{%- endif %}{%- endfor %}{%- endif %}{%- if message['role'] == 'assistant' and message['content'] is not none %}{%- if ns.is_tool %}{{'<|tool▁outputs▁end|>' + message['content'] + '<|end▁of▁sentence|>'}}{%- set ns.is_tool = false -%}{%- else %}{% set content = message['content'] %}{% if '</think>' in content %}{% set content = content.split('</think>')[-1] %}{% endif %}{{'<|Assistant|>' + content + '<|end▁of▁sentence|>'}}{%- endif %}{%- endif %}{%- if message['role'] == 'tool' %}{%- set ns.is_tool = true -%}{%- if ns.is_output_first %}{{'<|tool▁outputs▁begin|><|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- set ns.is_output_first = false %}{%- else %}{{'\\n<|tool▁output▁begin|>' + message['content'] + '<|tool▁output▁end|>'}}{%- endif %}{%- endif %}{%- endfor -%}{% if ns.is_tool %}{{'<|tool▁outputs▁end|>'}}{% endif %}{% if add_generation_prompt and not ns.is_tool %}{{'<|Assistant|><think>\\n'}}{% endif %}",
8984
+ "stop_token_ids": [
8985
+ 151643,
8986
+ 151644,
8987
+ 151645
8988
+ ],
8989
+ "stop": [
8990
+ "<|endoftext|>",
8991
+ "<|im_start|>",
8992
+ "<|im_end|>"
8993
+ ]
8423
8994
  }
8424
8995
  ]