ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

在 Xinference 中部署 qwenLong-l1:长上下文推理模型的内置注册、启动命令与源码级解读

在 Xinference 中部署 qwenLong-l1:长上下文推理模型的内置注册、启动命令与源码级解读 在 Xinference 中部署 qwenLong-l1长上下文推理模型的内置注册、启动命令与源码级解读【免费下载链接】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/inferenceqwenLong-l1 是 Xinference 内置注册表llm_family.json中收录的长上下文推理大模型对应 QwenLong-L1 系列 32B 权重支持 32768 token 上下文窗口与中英文对话。本文以 qwenlong-l1.rst 为主线完整继承该文档中的两种模型规格与启动命令并结合仓库源码深入解析其聊天模板、停止符、推理标签与引擎支持等底层实现帮助读者在本地或集群中快速、准确地拉起这一推理模型。模型概览规格、语言与能力根据内置模型注册条目qwenLong-l1 在 Xinference 中的核心元信息如下与 qwenlong-l1.rst 及 llm_family.json 一一对应属性值Model NameqwenLong-l1Context Length32768Languagesen,zhAbilitieschatDescriptionQwenLong-L1: Towards Long-Context Large Reasoning Models with Reinforcement LearningArchitecturesQwen2ForCausalLMmodel_type 为qwen2注册版本version: 2从architectures与model_type字段llm_family.json可以看出该模型在底层基于 Qwen2 系列因果语言模型架构实现Xinference 会据此为它选择相应的权重复核、tokenizer 加载与生成参数默认值。两种模型规格与量化选择原文档给出了 qwenLong-l1 的两种官方模型规格分别面向“全精度部署”与“AWQ 量化部署”两类场景Spec 1pytorch 格式32B无量化Model Format:pytorchModel Size (in billions):32Quantizations:noneEngines:vLLM、Transformers、SGLangModel ID:Tongyi-Zhiwen/QwenLong-L1-32BModel Hubs:Hugging FaceTongyi-Zhiwen/QwenLong-L1-32B、ModelScopeiic/QwenLong-L1-32BSpec 2awq 格式32BInt4 量化Model Format:awqModel Size (in billions):32Quantizations:Int4Engines:vLLM、Transformers、SGLangModel ID:Tongyi-Zhiwen/QwenLong-L1-32B-AWQModel Hubs:Hugging FaceTongyi-Zhiwen/QwenLong-L1-32B-AWQ、ModelScopeiic/QwenLong-L1-32B-AWQ在源码层面这两种规格分别被记录为model_specs数组中的两个条目llm_family.jsonpytorch 规格在 Hugging Face 与 ModelScope 两处来源均仅声明none一种量化awq 规格则声明Int4量化并对应独立的 AWQ 权重仓库Tongyi-Zhiwen/QwenLong-L1-32B-AWQ。这意味着需要满精度效果时选 Spec 1需要降低显存占用、加快推理吞吐时选 Spec 2两条路径均可由 Xinference 自动完成权重下载与启动。启动命令一行拉起 qwenLong-l1原文档为两种规格分别提供了可直接执行的xinference launch命令。启动时需要同时指定--model-engine、--model-name、--size-in-billions、--model-format与--quantization参数并将${engine}与${quantization}替换为实际取值Spec 1pytorch无量化xinference launch --model-engine ${engine} --model-name qwenLong-l1 --size-in-billions 32 --model-format pytorch --quantization ${quantization}其中${engine}可选vllm、transformers、sglang之一由于该规格仅支持none量化${quantization}应替换为none。Spec 2awqInt4 量化xinference launch --model-engine ${engine} --model-name qwenLong-l1 --size-in-billions 32 --model-format awq --quantization ${quantization}此处${quantization}应替换为Int4量化选项以注册表声明为准llm_family.json 中该规格只注册了Int4。几点实操建议基于注册条目推导--model-engine缺省时Xinference 会按照引擎发现策略选择可用引擎显式指定可在多引擎环境下避免歧义。32B 模型在pytorch/none规格下显存占用较大建议在显存充足的 GPU 上运行若显存受限优先选用awq/Int4规格。首次启动时 Xinference 会自动从 Hugging Face 或 ModelScope 拉取对应 Model ID 的权重并缓存之后再次启动直接复用本地缓存。源码级解读聊天模板、停止符与推理标签原文档只给出命令与规格而 llm_family.json 中隐藏着决定模型“怎么对话、怎么停止、怎么展示思考过程”的关键实现细节值得逐一展开1. 内置聊天模板chat_template该条目携带一段完整的 Jinja2chat_template其核心结构是 Qwen 系列的User/Assistant对话标记并支持三类扩展system prompt 注入遍历 messages 收集 system 角色的内容并置于bos_token之后工具调用tool calls当 assistant 消息携带tool_calls时拼接tool▁calls▁begin、tool▁call▁begin、tool▁sep、tool▁call▁end等标记并以\json 包裹函数参数天然支持 OpenAI 风格的工具调用消息结构推理内容剥离当 assistant 回复中含/think时模板会把/think之前的思考部分剔除仅输出正式回答在add_generation_prompt时追加Assistantthink\n作为思考起始提示。这意味着 qwenLong-l1 不仅是一个“能回答”的模型其对话模板本身就为链式思考chain-of-thought与工具调用做好了格式约定。2. 停止标记stop / stop_token_idsstop:[end▁of▁sentence]stop_token_ids:[151643]在 vLLM 引擎中Xinference 会在生成配置未显式给出停止符时将model_family.stop_token_ids注入generate_config见 vllm/core.py从而保证长上下文推理输出能够在正确的句子结束标记处截断避免生成失控。3. 推理标签reasoning_start_tag / reasoning_end_tag该条目声明了reasoning_start_tag:thinkreasoning_end_tag:/think这两个标签在模型运行时被上层推理解析器使用LLM类构造ReasoningParser时会从model_family读取这两个标签见 core.py而解析器的职责定义于 reasoning_parser.py就是从流式输出中识别并分离思考内容与正式回答。这样通过 Xinference 的 OpenAI 兼容接口消费 qwenLong-l1 时客户端可以拿到带reasoning_content字段的流式增量实现“先展示思考、再输出结论”的推理型交互体验。引擎支持与选择依据原文档声明 qwenLong-l1 支持vLLM、Transformers、SGLang三种引擎。在 backends.rst 的引擎选型说明中qwenLong-l1被明确列入 vLLM 支持的模型清单从 llm_family.json 的virtualenv字段也可以看到三种引擎分别对应#transformers_dependencies#、#sglang_dependencies#、#vllm_dependencies#依赖宏Xinference 会按所选引擎在对应虚拟环境中安装依赖。引擎选型的一般参考vLLM追求高吞吐与生产级并发支持pytorch/awq两种格式与none/Int4量化前提是 Linux CUDA 设备并借助reasoning_content支持推理内容流式返回是生产部署的首选Transformers最通用、环境约束最少适合验证模型行为或在无 vLLM/SGLang 依赖的环境中运行SGLang面向低延迟与结构化生成优化的引擎同样覆盖该模型的两种格式。部署后的统一 API 消费模型启动成功后Xinference 会为其暴露与 OpenAI Chat Completions 兼容的/v1/chat/completions接口也可以通过 client/restful 下的 Python 客户端RestfulClient/AsyncRestfulClient以编程方式调用from xinference.client import Client client Client(http://127.0.0.1:9997) model_uid client.launch_model( model_nameqwenLong-l1, model_size_in_billions32, model_formatpytorch, quantizationnone, model_enginevllm, ) chat client.get_model(model_uid).chat( messages[{role: user, content: 用不超过 2000 字解释长上下文推理模型的关键技术}] ) print(chat[choices][0][message][content])需要说明launch_model的参数与命令行--model-name/--size-in-billions/--model-format/--quantization/--model-engine一一对应若选择 awq 规格将model_formatawq、quantizationInt4即可。小结围绕 qwenlong-l1.rst 这篇内置模型文档本文完整覆盖了 qwenLong-l1 的上下文窗口、中英双语能力、两种 32B 规格pytorch/none 与awq/Int4以及对应的两条xinference launch启动命令同时结合 llm_family.json 的注册条目补充解释了聊天模板的思考/工具调用标记、停止符[151643]、推理标签think//think的运行时解析链路以及 vLLM、Transformers、SGLang 三种引擎的选择依据。无论你是要在单机快速体验长上下文推理还是要为生产环境搭建高吞吐的推理服务都可以直接以本文给出的命令为起点把 qwenLong-l1 接入 Xinference 的统一推理 API。【免费下载链接】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),仅供参考
返回列表