千问3.5部署教程系列文章目录

点击进入环境配置篇学习如何配置大模型环境



前言

提示:本文不涉及抄袭和任何商业用途,引用链接均出于本站,且本人遵守本站一切相关规定!如有侵犯版权与个人知识产权请及时联系

本技术文档只涉及部署相关遇到的技术解释、解决报错。对于千问3.5模型本身性能的评估,新版本迭代优化的创新与发展等均不在本技术文档的涉及范围内。如有需要持续更新

详细参数请点击此处查看官方模型介绍文档来源


阅前须知!!!以下所有代码作者均建议科学上网安装下载,当运行卡顿下载超时后,请仔细检查镜像源网址是否成功配置写入。尽可能不随意按AI建议私自尝试修改官方给出的一键拉取代码(包括更换下载工具,分开下载等),其遗漏的库和依赖均可能导致其安装失败,路径错误,断点重连导致重新下载等

一、SGLang相关

SGLang 是一个用于大语言模型和视觉语言模型的快速服务框架。 Qwen3.5 需要使用开源仓库主分支中的 SGLang,大小约16GB左右,下载安装时间相对较长

uv pip install 'git+https://github.com/sgl-project/sglang.git#subdirectory=python&egg=sglang[all]'

以上为官方给出的直接一键拉取SGLang镜像的代码块,须知此代码无法直接在Windows的cmd和powershell中执行,应当安装uv,并选择WSL或docker等Linux环境下运行,而其Linux环境也方便qwen3.5的依赖安装。

# 1. 安装 Python 包(替代 pip)
uv pip install requests

# 2. 创建虚拟环境(此处创建环境名称为qwen)
uv qwen

# 3.安装modelscope库
pip install modelscope

以下命令将在 http://localhost:8000/v1 创建 API 端点

标准版:以下命令可使用 8 块 GPU 上的张量并行创建最大上下文长度为 262,144 tokens 的 API 端点。(工具调用和MTP请详见原文档)

SGLANG_USE_MODELSCOPE=true python -m sglang.launch_server --model-path Qwen/Qwen3.5-4B --port 8000 --tp-size 1 --mem-fraction-static 0.8 --context-length 262144 --reasoning-parser qwen3

该代码意味着使用modelscope社区下载模型,并启动 SGLang 推理服务器

–model-path Qwen/Qwen3.5-4B 表示其模型路径/名称(要注意,此名称与modelscope的模型库中模型名称一一对应,必须填写精准准确!)

–port 8000 API 服务端口

–tp-size 1 张量并行 GPU 数量设置(这里为1)

–mem-fraction-static 0.8 显存占用比例设置(这里为80%)实际使用按需调小

–context-length 262144 最大上下文长度(这里为256K tokens) 如果仅作测试验证,修改为32K-64K足以满足需要

–reasoning-parser qwen3 思考内容解析器必须设置(Qwen3.5 特有)
因此,如果运行需要占用更小的显存和内存,可以适当修改上面解释的代码保证其模型的部署和安装

二、vLLM相关

vLLM 是一个高吞吐、内存高效的 LLM 推理与服务引擎。如果你打算在个人或服务器上真正的部署一个大模型,而非局限于Ollama的简单部署。那么vLLM是必要的!仅运行便需要14GB的内存,其完整下载内容也需要9GB左右。
vLLM可以支持量化模型,兼容OpenAI接口还能张量并行,最核心功能就是能较好利用显存!

#一键拉取安装vLLM和其相关库与依赖
uv pip install vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly

#运行部署代码(标准版,工具调用代码请看原文档)
VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3.5-4B --port 8000 --tensor-parallel-size 1 --max-model-len 262144 --reasoning-parser qwen3 

从魔搭社区下载模型
vllm serve 启动 HTTP API 服务

Qwen/Qwen3.5-4B 模型名称

–port 8000 服务监听端口

–tensor-parallel-size 1 张量并行GPU数量的设置(默认1)

–max-model-len 262144 最大上下文 256K tokens(可减少)

–reasoning-parser qwen3 Qwen3 思考解析器

三、Hugging Face Transformers相关

Hugging Face Transformers 包含一个_轻量级_服务器,可用于快速测试和中等负载部署。其启动代码设置较少,适合个人部署所需,下载安装更快

#安装拉取相应的transformers库
pip install "transformers[serving] @ git+https://github.com/huggingface/transformers.git@main"

#运行 transformers serve 启动服务器,API 端点位于 http://localhost:8000/v1
transformers serve --force-model Qwen/Qwen3.5-4B --port 8000 --continuous-batching

四、OpenAI SDK访问相关

pip install -U openai

# Set the following accordingly
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"


TIP
我们推荐使用以下采样参数组合进行生成:

通用任务的思考模式:temperature=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0
精确编码任务(如 WebDev)的思考模式:temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0
通用任务的指令(或非思考)模式:temperature=0.7, top_p=0.8, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0
推理任务的指令(或非思考)模式:temperature=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0
请注意,不同推理框架对采样参数的支持情况可能有所不同。

五、官方输入示例解释和自定义的调整

纯文本输入

from openai import OpenAI

# =============================================================================
# 创建 OpenAI 客户端实例
# 客户端会自动从环境变量读取配置:
#   - OPENAI_API_KEY: API 密钥(必需)
#   - OPENAI_BASE_URL: API 基础地址(可选,默认 https://api.openai.com/v1)
#如果没有配置,那你就要在OpenAI()中添加上面两个变量,当然最好是你能设置到环境变量里写入
# =============================================================================
client = OpenAI()

# =============================================================================
# 构建对话消息列表,格式遵循 OpenAI Chat Completion API 标准
messages = [
    # 用户角色消息
    # role: "user" 表示这是用户发送的消息
    # content: 具体的消息内容,也可以输入中文直接问
    {"role": "user", "content": "Type \"I love Qwen3.5\" backwards"},
]

# =============================================================================
# 调用 Chat Completion API 发送请求
chat_response = client.chat.completions.create(
    # -------------------------------------------------------------------------
    # 模型名称如果不一致应该是会自动下载你此处写的模型的,但是会很慢
    # 模型名称必须与服务器端启动时注册的模型名称一致
    # 本地部署时可以是任意字符串,但建议与模型路径保持一致
    # -------------------------------------------------------------------------
    model="Qwen/Qwen3.5-4B",   
    # -------------------------------------------------------------------------
    # 对话历史消息列表
    # 支持多轮对话,每次调用需传入完整历史
    # 格式:[{"role": "user/system/assistant", "content": "..."}, ...]
    # -------------------------------------------------------------------------
    messages=messages,
    
    # -------------------------------------------------------------------------
    # 最大生成 token 数
    # 限制模型最多输出多少个 token
    # 注意:81920 实则根本没法去使用,它太大了,实际使用建议根据需求调整1024已经足以
    # 且过大会导致响应时间过长和费用/资源增加
    # -------------------------------------------------------------------------
    max_tokens=81920,
    
    # -------------------------------------------------------------------------
    # 控制输出的随机性,范围通常 0.0-2.0
    #   - 0.0: 确定性输出,每次结果几乎相同
    #   - 0.8: 平衡创造性和一致性(作者个人推荐)
    #   - 1.0: 较高随机性,更有创造力
    #   - 2.0: 极高随机性
    # -------------------------------------------------------------------------
    temperature=1.0,
    
    # -------------------------------------------------------------------------
    # 核采样参数(Top-p / Nucleus Sampling)
    # 从累积概率达到 top_p 的最小 token 集合中采样
    #   - 0.1: 只从高概率 token 中选择,输出更保守
    #   - 0.9: 从大部分 token 中选择,平衡(推荐)
    #   - 0.95: 几乎全部 token 都可选择,更随机
    #   - 1.0: 所有 token 都可选择
    # -------------------------------------------------------------------------
    top_p=0.95,
    
    # -------------------------------------------------------------------------
    # 存在惩罚:其值越高越能减少重复内容
    #   - -2.0 到 2.0 之间
    #   - 负值:倾向于重复已出现的 token
    #   - 0:无影响(默认)
    #   - 正值:倾向于使用新 token,并减少重复的内容
    #   - 1.5:较高惩罚,明显减少重复
    # -------------------------------------------------------------------------
    presence_penalty=1.5,
    
    # -------------------------------------------------------------------------
    # 额外参数(vLLM/SGLang 特有参数)
    # 这些参数会透传给后端推理引擎
    # 不同推理引擎支持的参数可能不同
    # -------------------------------------------------------------------------
    extra_body={
        # ---------------------------------------------------------------------
        # Top-k 采样
        # 从概率最高的 k 个 token 中采样
        #   - 1: 贪婪解码,总是选概率最高的 token
        #   - 20: 从前 20 个高概率 token 中随机选择(推荐)
        #   - 100: 从前 100 个中选择,更随机
        #   - 与 top_p 配合使用可获得更好的采样效果
        # ---------------------------------------------------------------------
        "top_k": 20,
    }, 
)

# =============================================================================
# 打印响应结果
# chat_response 是 ChatCompletion 对象,包含
#   - choices: 生成的候选回答列表
#   - usage: token 使用统计
#   - model: 使用的模型
#   - id: 请求 ID
#   - created: 创建时间戳
# =============================================================================
print("Chat response:", chat_response)

图形输入

from openai import OpenAI

client = OpenAI()

# =============================================================================
# 构建多模态对话消息列表
# 与纯文本不同,content 是一个列表,可包含多种类型的内容
# 支持:text(文本)、image_url(图片)、video_url(视频)等
# =============================================================================
messages = [
    {
        # ---------------------------------------------------------------------
        # 消息角色
        # "user" 表示这是用户发送的消息
        # 其他可选值:"system"(系统指令)、"assistant"(助手回复)
        # ---------------------------------------------------------------------
        "role": "user",
        
        # ---------------------------------------------------------------------
        # 多模态内容列表
        # 这是一个数组,可以按顺序包含多个内容块
        # 模型会按顺序处理每个内容块
        # ---------------------------------------------------------------------
        "content": [
            # =================================================================
            # 内容块 1:图片
            # =================================================================
            {
                # -------------------------------------------------------------
                # 内容类型:图片 URL
                # 告诉模型这是一个图片输入
                # -------------------------------------------------------------
                "type": "image_url",
                
                # -------------------------------------------------------------
                # 图片 URL 配置
                # -------------------------------------------------------------
                "image_url": {
                    # ---------------------------------------------------------
                    # 图片地址
                    # 支持:
                    #   - HTTP/HTTPS 网址(如本例)
                    #   - Base64 编码图片(data:image/jpeg;base64,...)
                    #   - 本地文件路径(部分推理引擎支持)
                    # ---------------------------------------------------------
                    "url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg"
                    # ---------------------------------------------------------
                    # 可选参数:图片细节级别(部分 API 支持)
                    # "detail": "low"  # 低分辨率,节省 token
                    # "detail": "high" # 高分辨率,更准确
                    # "detail": "auto" # 自动选择(默认)
                    # ---------------------------------------------------------
                }
            },
            # =================================================================
            # 内容块 2:文本问题
            # =================================================================
            {
                # -------------------------------------------------------------
                # 内容输出的类型:文本
                # -------------------------------------------------------------
                "type": "text",
                
                # -------------------------------------------------------------
                # 文本内容示例,可自行修改
                # -------------------------------------------------------------
                "text": "The centres of the four illustrated circles are in the corners of the square. The two big circles touch each other and also the two little circles. With which factor do you have to multiply the radii of the little circles to obtain the radius of the big circles?\nChoices:\n(A) $\\frac{2}{9}$\n(B) $\\sqrt{5}$\n(C) $0.8 \\cdot \\pi$\n(D) 2.5\n(E) $1+\\sqrt{2}$"
            }
        ]
    }
]
chat_response = client.chat.completions.create(
    model="Qwen/Qwen3.5-4B",
    messages=messages,
    max_tokens=81920,
    temperature=1.0,
    top_p=0.95,
    presence_penalty=1.5,
    extra_body={
        "top_k": 20,
    }, 
)

print("Chat response:", chat_response)

注意!官方代码示例中没有添加Base64图片格式转换代码,如果打算传给模型图片,必须经过Base64格式转换

视频输入

from openai import OpenAI

client = OpenAI()
# =============================================================================
# 构建视频多模态对话消息列表
# 与图片类似,但使用 video_url 类型
# 模型会提取视频帧并进行视觉理解
# =============================================================================
messages = [
    {
        "role": "user",
        # ---------------------------------------------------------------------
        # 多模态内容列表
        # 可以包含视频、图片、文本等多种类型
        # ---------------------------------------------------------------------
        "content": [
            # =================================================================
            # 内容块 1:视频 URL
            # =================================================================
            {
                # -------------------------------------------------------------
                # 内容类型:视频 URL
                # 告诉模型这是一个视频输入
                # -------------------------------------------------------------
                "type": "video_url",
                
                # -------------------------------------------------------------
                # 视频 URL 配置
                # -------------------------------------------------------------
                "video_url": {
                    # ---------------------------------------------------------
                    # 视频地址
                    # 支持:
                    #   - HTTP/HTTPS 网址(如本例)
                    #   - Base64 编码视频(data:video/mp4;base64,...)
                    #   - 本地文件路径(部分推理引擎支持)
                    # ---------------------------------------------------------
                    "url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/video/N1cdUjctpG8.mp4"
                }
            },
            
            # =================================================================
            # 内容块 2:文本指令
            # =================================================================
            {
                # -------------------------------------------------------------
                # 输入的内容类型:文本
                # -------------------------------------------------------------
                "type": "text",
                "text": "Summarize the video content."
            }
        ]
    }
]

# =============================================================================
# 视频帧采样配置说明
# =============================================================================
# When vLLM is launched with `--media-io-kwargs '{"video": {"num_frames": -1}}'`,
# └──────────────────────────────────────────────────────────────────────────┘
#   当 vLLM 启动时配置此参数,允许通过 extra_body 自定义视频帧采样
#   num_frames: -1 表示不限制帧数,由客户端控制
# video frame sampling can be configured via `extra_body` (e.g., by setting `fps`).
# └──────────────────────────────────────────────────────────────────────────┘
#   视频帧采样可以通过 extra_body 配置(例如设置 fps)
# This feature is currently supported only in vLLM.
# └──────────────────────────────────────────────────────────────────────────┘
#    此功能目前仅 vLLM 支持,SGLang 可能不支持
# By default, `fps=2` and `do_sample_frames=True`.
# └──────────────────────────────────────────────────────────────────────────┘
#   默认值:每秒 2 帧,启用帧采样
# With `do_sample_frames=True`, you can customize the `fps` value to set your desired video sampling rate.
# └──────────────────────────────────────────────────────────────────────────┘
#   启用采样后,可自定义 fps 值来设置所需的视频采样率
# =============================================================================
# 调用 Chat Completion API 发送视频多模态请求
# =============================================================================
chat_response = client.chat.completions.create(
    model="Qwen/Qwen3.5-4B",
    messages=messages,
    max_tokens=81920,
    temperature=1.0,
    top_p=0.95,
    presence_penalty=1.5,
    # -------------------------------------------------------------------------
    # 额外参数(vLLM 特有)
    # 包含 Top-k 采样和多模态处理器配置
    # -------------------------------------------------------------------------
    extra_body={
        "top_k": 20,
        
        # ---------------------------------------------------------------------
        # 多模态处理器配置(vLLM 特有)
        # 用于控制视频/图片的处理方式
        # ---------------------------------------------------------------------
        "mm_processor_kwargs": {
            # =================================================================
            # FPS(Frames Per Second)
            # 每秒采样的帧数
            #   - 1: 每秒 1 帧,最节省资源,但可能遗漏细节
            #   - 2: 每秒 2 帧,默认值
            #   - 4: 每秒 4 帧,更详细,但消耗更多资源
            #   - 10+: 每秒 10+ 帧,高精度,但显存和计算需求大幅增加
            # =================================================================
            "fps": 2,
            
            # =================================================================
            # 是否启用帧采样
            #   - True: 按 fps 采样,不处理所有帧(推荐)
            #   - False: 处理所有帧,资源消耗极大
            # =================================================================
            "do_sample_frames": True,
            
            # =================================================================
            # 其他可选参数
            # =================================================================
            # "num_frames": 64,           # 总帧数限制
            # "max_pixels": 1280*720,     # 最大像素分辨率
            # "min_pixels": 320*240,      # 最小像素分辨率
        },
    }, 
)
print("Chat response:", chat_response)

为优化纯文本和图像的推理效率,已发布的 video_preprocessor_config.json 中的 size 参数采用了保守配置。建议将 video_preprocessor_config 文件中的 longest_edge 参数设为 469,762,048(对应 224k 视频 token),以支持小时级视频的更高帧率采样,从而实现更优性能。

思考模式

Qwen3.5 默认会在响应前进行思考。
您可以通过配置 API 参数来获得模型的直接响应(不进行思考)。

extra_body={
        "top_k": 20,
        "chat_template_kwargs": {"enable_thinking": False},
    }, 

如果您使用的是阿里云百炼平台的 API,除了更改 model 外,请使用 “enable_thinking”: False,而不是 “chat_template_kwargs”: {“enable_thinking”: False}。

Agent智能体相关

import os
from qwen_agent.agents import Assistant

# =============================================================================
# 定义大语言模型配置
# 方式一:使用阿里云 Model Studio (DashScope)
# =============================================================================
llm_cfg = {
    'model': 'Qwen3.5-4B',
    # -------------------------------------------------------------------------
    # 模型类型
    # qwenvl_oai: Qwen 视觉语言模型,OpenAI 兼容格式
    # 其他可选值:
    #   - qwen_llm: 纯文本模型
    #   - qwenvl: Qwen 视觉语言模型(原生格式)
    # -------------------------------------------------------------------------
    'model_type': 'qwenvl_oai',
    
    # -------------------------------------------------------------------------
    # 模型服务器地址
    # 阿里云 DashScope 的 OpenAI 兼容 API 端点
    # -------------------------------------------------------------------------
    'model_server': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
    
    # -------------------------------------------------------------------------
    # API 密钥
    # 从环境变量读取 DASHSCOPE_API_KEY
    # 需提前在阿里云控制台获取:https://dashscope.console.aliyun.com/
    # -------------------------------------------------------------------------
    'api_key': os.getenv('DASHSCOPE_API_KEY'),

    # -------------------------------------------------------------------------
    # 生成配置
    # -------------------------------------------------------------------------
    'generate_cfg': {
        # ---------------------------------------------------------------------
        # 使用原始 API
        # True: 直接调用 API,不经过额外处理
        # False: 使用 Qwen-Agent 的封装处理
        # ---------------------------------------------------------------------
        'use_raw_api': True,
        
        # ---------------------------------------------------------------------
        # 额外请求体参数
        # 用于传递模型特有的参数
        # ---------------------------------------------------------------------
        'extra_body': {
            # =================================================================
            # 启用思考模式
            # True: 模型会显示推理过程(类似 Chain of Thought)
            # False: 直接输出最终答案
            # 注意:这是 DashScope 特有的参数传递方式
            # =================================================================
            'enable_thinking': True
        },
    },
}

# =============================================================================
# 定义大语言模型配置
# 方式二:使用本地 OpenAI 兼容 API 端点(vLLM或SGLang 部署)
# 当前被注释,使用时需注释掉上面的配置并取消此部分注释
# =============================================================================
# llm_cfg = {
#     # -------------------------------------------------------------------------
#     # 模型名称
#     # 需与本地部署时注册的模型名称一致
#     # -------------------------------------------------------------------------
#     'model': 'Qwen/Qwen3.5-4B',
    
#     # -------------------------------------------------------------------------
#     # 模型类型
#     # qwenvl_oai: OpenAI 兼容格式
#     # -------------------------------------------------------------------------
#     'model_type': 'qwenvl_oai',
    
#     # -------------------------------------------------------------------------
#     # 模型服务器地址
#     # 本地 vLLM/SGLang 部署的默认地址
#     # -------------------------------------------------------------------------
#     'model_server': 'http://localhost:8000/v1',  # api_base
    
#     # -------------------------------------------------------------------------
#     # API 密钥
#     # 本地部署通常不需要验证,可填任意值
#     # -------------------------------------------------------------------------
#     'api_key': 'EMPTY',
    
#     # -------------------------------------------------------------------------
#     # 生成配置
#     # -------------------------------------------------------------------------
#     'generate_cfg': {
#         # ---------------------------------------------------------------------
#         # 使用原始 API
#         # ---------------------------------------------------------------------
#         'use_raw_api': True,
        
#         # ---------------------------------------------------------------------
#         # 额外请求体参数
#         # 注意:本地部署时思考模式参数传递方式与 DashScope 不同
#         # ---------------------------------------------------------------------
#         'extra_body': {
#             # =================================================================
#             # 聊天模板参数
#             # vLLM/SGLang 使用 chat_template_kwargs 传递思考模式参数
#             # =================================================================
#             'chat_template_kwargs': {'enable_thinking': True}
#         },
#     },
# }

# =============================================================================
# 定义工具列表
# 使用 MCP (Model Context Protocol) 协议配置工具
# =============================================================================
tools = [
    # -------------------------------------------------------------------------
    # MCP 服务器配置
    # 可以指定多个 MCP 服务器,每个服务器提供一组工具
    # -------------------------------------------------------------------------
    {'mcpServers': {  # 可以指定 MCP 配置文件
            
            # =================================================================
            # 文件系统 MCP 服务器
            # 提供文件操作能力(读取、写入、列出、搜索等)
            # =================================================================
            "filesystem": {
                # -----------------------------------------------------------------
                # 启动命令
                # 使用 npx 运行 Node.js 包
                # -----------------------------------------------------------------
                "command": "npx",
                
                # -----------------------------------------------------------------
                # 命令参数
                # -y: 自动确认安装
                # @modelcontextprotocol/server-filesystem: MCP 文件系统服务器包
                # /Users/xxxx/Desktop: 允许访问的目录路径(需修改为实际路径)
                # -----------------------------------------------------------------
                "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/xxxx/Desktop"]
            }
        }
    }
    
    # -------------------------------------------------------------------------
    # 其他工具配置示例
    # -------------------------------------------------------------------------
    # {'search': {}},                    # 网络搜索工具
    # {'code_interpreter': {}},          # 代码解释器
    # {'browser': {}},                   # 浏览器自动化
]

# =============================================================================
# 定义智能代理
# Assistant 是 Qwen-Agent 的基础代理类
# =============================================================================
bot = Assistant(
    # -------------------------------------------------------------------------
    # 大语言模型配置
    # 使用上面定义的 llm_cfg
    # -------------------------------------------------------------------------
    llm=llm_cfg,
    
    # -------------------------------------------------------------------------
    # 工具/函数列表
    # 代理可以调用的所有工具
    # -------------------------------------------------------------------------
    function_list=tools
)
# =============================================================================
# 流式生成示例 1:整理桌面
# =============================================================================
# 构建用户消息
messages = [{'role': 'user', 'content': 'Help me organize my desktop.'}]
# 流式执行,bot.run() 返回一个生成器,逐步输出响应
for responses in bot.run(messages=messages):
    # 可以在这里处理每个流式响应块
    # 例如:实时显示、保存到文件等
    pass
print(responses)
# =============================================================================
# 流式生成示例 2:开发网站并保存
# =============================================================================
messages = [{'role': 'user', 'content': 'Develop a dog website and save it on the desktop'}]
# 流式执行
for responses in bot.run(messages=messages):
    pass
print(responses)

超长文本处理

Qwen3.5 原生支持最多 262,144 个 token 的上下文长度。
对于总长度(包括输入和输出)超过此限制的长程任务,我们推荐使用 RoPE 缩放技术(例如 YaRN)来高效处理长文本。

目前,YaRN 已被多个推理框架支持,例如 transformers、vllm、ktransformers 和 sglang。
通常,对于支持的框架,启用 YaRN 有两种方法:

修改模型配置文件:
在 config.json 文件中,将 text_config 中的 rope_parameters 字段修改为:

{
    "mrope_interleaved": true,
    "mrope_section": [
        11,
        11,
        10
    ],
    "rope_type": "yarn",
    "rope_theta": 10000000,
    "partial_rotary_factor": 0.25,
    "factor": 4.0,
    "original_max_position_embeddings": 262144,
}

通过命令行参数传递,对于 vllm,可以使用:

VLLM_USE_MODELSCOPE=true VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1010000  

对于 sglang 和 ktransformers,可以使用:

SGLANG_USE_MODELSCOPE=true SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... --json-model-override-args '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --context-length 1010000

总结

本文将伴随支持我的专栏系列,遇到的安装问题或将添加在这里,或将加入到新的文章并在此文章中添加超链接。如果你喜欢,还请多多关注支持,感谢你的支持!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐