在 Xinference 中部署 DeepSeek-V4-Pro:内置模型规格、启动命令与推理引擎深度解析
2026/9/16 16:14:47 网站建设 项目流程

在 Xinference 中部署 DeepSeek-V4-Pro:内置模型规格、启动命令与推理引擎深度解析

【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference

本篇文章以 Xinference 内置的 DeepSeek-V4-Pro 模型注册文档(deepseek-v4-pro.rst)为主体,结合仓库内的模型家族元数据 llm_family.json、CLI 启动入口 cmdline.py、工具调用解析器 deepseek_v4_tool_parser.py 及其测试用例,系统讲解如何在 Xinference 中一键启动这一超大规模 MoE 模型。读完本文,你将掌握 DeepSeek-V4-Pro 的两种内置规格、量化选型、引擎搭配、虚拟环境依赖与函数调用(Function Calling)实现的完整链路。

模型概览

DeepSeek-V4 系列(预览版)包含两个强力的 Mixture-of-Experts(MoE)语言模型:

模型总参数量激活参数量上下文长度
DeepSeek-V4-Pro1.6T(1600 亿)49B100 万 token
DeepSeek-V4-Flash284B13B100 万 token

DeepSeek-V4-Pro 在 Xinference 内置注册表中的核心元数据如下(来源于 deepseek-v4-pro.rst 与 llm_family.json):

  • Context Length:163840
  • Model Name:DeepSeek-V4-Pro
  • Languages:en, zh
  • Abilities:chat, reasoning, hybrid, tools

需要留意一个细节:官方模型描述宣称支持百万 token 上下文,但 Xinference 内置注册表中登记的context_length为 163840(见 llm_family.json),即 Xinference 侧默认以 16 万 token 上下文对外提供服务,这是当前模型规格与引擎层面的实际能力约束,部署时需结合实际需求评估。

该模型的能力标签组合为chat, reasoning, hybrid, tools,意味着它同时具备:

  • chat:常规对话能力;
  • reasoning:深度推理能力,回答前可输出思考过程;
  • hybrid:混合模式,可在思考/非思考模式间切换;
  • tools:原生工具调用(Function Calling)。

架构为DeepseekV4ForCausalLM,停止标记配置为stop_token_ids: [1]stop: ["<|end▁of▁sentence|>"],推理思考区段使用<think>/</think>标签包裹(见 llm_family.json)。

两种模型规格(Model Spec)

DeepSeek-V4-Pro 在 Xinference 中注册了两种模型规格,分别面向 GPU 服务器与 Apple Silicon 两大硬件平台。

Model Spec 1(pytorch,1600 亿参数)

  • Model Format:pytorch
  • Model Size (in billions):1600
  • Quantizations:none
  • Engines: vLLM, Transformers
  • Model ID:deepseek-ai/DeepSeek-V4-Pro
  • Model Hubs: Hugging Face、ModelScope

这是面向 GPU 服务器的全精度规格,仅支持none(不量化)一种量化方式,支持 vLLM 与 Transformers 两大引擎。对应的注册表片段见 llm_family.json,其中同时登记了activated_size_in_billions: 49,即该规格下激活参数量为 49B。

启动命令如下(${engine}替换为vllmtransformers${quantization}替换为none):

xinference launch --model-engine ${engine} --model-name DeepSeek-V4-Pro \ --size-in-billions 1600 --model-format pytorch --quantization ${quantization}

Model Spec 2(mlx,1600 亿参数)

  • Model Format:mlx
  • Model Size (in billions):1600
  • Quantizations:4bit, 8bit, bf16
  • Engines: MLX
  • Model ID:mlx-community/DeepSeek-V4-Pro-{quantization}
  • Model Hubs: Hugging Face、ModelScope

这是面向 Apple Silicon(M 系列芯片)的 MLX 规格,提供4bit8bitbf16三种量化选择,对应注册表片段见 llm_family.json。MLX 是 Apple 自家的机器学习框架,能够利用统一内存架构高效运行大模型,量化后显存占用大幅降低。

启动命令如下(${quantization}替换为4bit8bitbf16):

xinference launch --model-engine ${engine} --model-name DeepSeek-V4-Pro \ --size-in-billions 1600 --model-format mlx --quantization ${quantization}

启动命令参数详解

xinference launch命令由 cmdline.py 定义,核心参数如下:

参数缩写含义
--model-engine-en推理引擎,如vllmtransformersmlx
--model-name-n模型名称,此处为DeepSeek-V4-Pro
--size-in-billions-s模型参数量级(十亿),此处为1600
--model-format-f模型格式,如pytorchmlx
--quantization-q量化方式,如none4bit8bitbf16
--model-uid-u可选,指定模型实例的 UID

其中--model-engine--size-in-billions--model-format--quantization的参数定义位于 cmdline.py,这些参数必须与 llm_family.json 中登记的规格精确匹配,否则会因找不到对应 Model Spec 而启动失败。

一个实用技巧:如果只想先下载模型权重而不立即启动(不占用 GPU、不创建子进程、不安装虚拟环境、不将模型加载进内存),可以使用 REST 端点POST /v1/cache/models,详见 launch.rst:

curl -X POST http://127.0.0.1:9997/v1/cache/models \ -H 'Content-Type: application/json' \ -d '{ "cache_uid": "download-deepseek-v4-pro", "model_name": "DeepSeek-V4-Pro", "model_type": "LLM", "model_engine": "vllm", "model_format": "pytorch", "model_size_in_billions": "1600", "quantization": "none" }'

下载进度查询与取消使用同一个cache_uid

curl http://127.0.0.1:9997/v1/cache/models/download-deepseek-v4-pro/progress curl -X POST http://127.0.0.1:9997/v1/cache/models/download-deepseek-v4-pro/cancel

推理引擎与虚拟环境依赖

DeepSeek-V4-Pro 支持三种引擎,Xinference 为不同引擎准备了独立的虚拟环境依赖管理(见 llm_family.json):

  • Transformers 引擎:使用#transformers_dependencies#占位符,即与 Transformers 后端相关的依赖集合;
  • vLLM 引擎:要求vllm>=0.20.1,并附带#system_numpy#(使用系统级 numpy),这与 vLLM 高性能推理后端的需求相关;
  • MLX 引擎:针对 Apple Silicon 优化。

Xinference 会在首次启动某引擎时自动创建对应的模型虚拟环境,隔离不同引擎之间的依赖冲突。这套机制的实现可以参考 virtual_env_manager.py 及其配套测试 test_virtual_env_manager.py。

此外,自 v1.8.1 起,可以通过--env参数在启动时为特定模型注入运行时环境变量,例如强制 vLLM 使用 V0 版本(见 launch.rst):

xinference launch --model-engine vllm --model-name DeepSeek-V4-Pro \ --size-in-billions 1600 --model-format pytorch --quantization none \ --env VLLM_USE_V1 0

混合推理与思考模式(Reasoning)

DeepSeek-V4-Pro 具备reasoninghybrid能力,属于混合推理模型。在 Xinference 中,此类模型可通过--enable-thinking在启动时开启思考模式(见 launch.rst):

xinference launch -n DeepSeek-V4-Pro --model-engine vllm \ --size-in-billions 1600 --model-format pytorch --quantization none \ --enable-thinking

开启后,模型在回答前会先输出<think>...</think>包裹的推理过程,其推理标签在注册表中有明确配置(llm_family.json),Xinference 会在流式输出时正确处理这些思考区段的解析与透传。

工具调用(Function Calling)实现

DeepSeek-V4-Pro 的tools能力由 Xinference 内置的专用工具解析器deepseek-v4支持,实现位于 deepseek_v4_tool_parser.py,注册名与模型的绑定关系见 llm_family.json。

该解析器支持 DeepSeek V4 模型的两种工具调用输出格式。

DSML 格式:使用带全角分隔符<|DSML|>的标记语言,例如:

<|DSML|>tool_calls> <|DSML|>invoke name="get_weather"> <|DSML|>parameter name="location" string="true">杭州</|DSML|>parameter> <|DSML|>parameter name="date" string="true">2024-01-16</|DSML|>parameter> </|DSML|>invoke> </|DSML|>tool_calls>

Plain 格式:不使用 DSML 前缀的纯标签格式:

<tool_calls> <invoke name="get_weather"> <parameter name="location" string="true">杭州</parameter> <parameter name="date" string="true">2024-01-16</parameter> </invoke> </tool_calls>

解析器通过_detect_format自动识别当前输出采用哪种格式,再构建对应的正则表达式进行解析(见 deepseek_v4_tool_parser.py);流式场景下则通过extract_tool_calls_streaming缓冲 token,直到一个完整的invoke块出现后再一次性返回结构化参数(第 138-192 行)。参数值会根据string="true|false"属性决定是保留为字符串还是用 JSON 解析为数字、布尔、数组、对象等类型。

配套的单元测试 test_deepseek_v4_tool_parser.py 覆盖了 JSON 参数类型保真("42"42"true"True"null"None)、单次多个工具调用、纯文本透传以及流式解析等场景,可作为理解该解析器行为的参考。

部署实践小结

在 Xinference 中部署 DeepSeek-V4-Pro,可以按以下思路选型:

  1. GPU 服务器:选择 pytorch 规格,搭配 vLLM 引擎(依赖vllm>=0.20.1)以获得高性能推理;量化方式固定为none,需要足够显存承载全精度权重。
  2. Apple Silicon 设备:选择 mlx 规格,从4bit8bitbf16中按显存/精度需求选择量化方式。
  3. 编排集成:若需在脚本中编程式启动,可使用 restful_client.py 中的 Python 客户端;若仅需预热权重缓存,可走POST /v1/cache/models的仅下载流程。
  4. 能力利用:需要深度推理时加--enable-thinking开启思考模式;需要 Agent 场景时,模型的tools能力由deepseek-v4解析器自动接管,无需额外配置。

【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询