| 
 | 
 
 
 楼主 |
发表于 2025-6-26 12:55:54
|
显示全部楼层
 
 
 
如何在 vLLM 中取消 Qwen3 的 Thinking 模式 
- Python:
 
 - prompt = "Who are you."
 
 - messages = [{"role": "user", "content": prompt}]
 
 - text = tokenizer.apply_chat_template(
 
 -     messages,
 
 -     tokenize=False,
 
 -     add_generation_prompt=True,
 
 -     enable_thinking=False  # 关键参数,禁用 Thinking 模式
 
 - )
 
 
  复制代码 
vLLM 提供了另一种更简单的方式:在用户输入的末尾添加 /no_think 标记。 
通过 API 参数禁用 Thinking 模式(推荐) 
如果你是通过 API 调用 Qwen3(如使用 vLLM 搭建的服务),可以在请求中通过 extra_body 字段设置 enable_thinking=False。 
 
示例代码 
- response = client.chat.completions.create(
 
 -     model="chat",
 
 -     messages=[{"role": "user", "content": "Why is the sky blue?"}],
 
 -     extra_body={"chat_template_kwargs": {"enable_thinking": False}},
 
 - )
 
 
  复制代码 
extra_body 是一个 扩展参数字段,用于传递模型服务端支持的非标准参数。 
chat_template_kwargs 是控制 chat_template 行为的参数。 
enable_thinking: False 表示 不输出“思考”提示。 
 
适用场景建议 
推荐方法三:如果你是通过 API 调用模型,推荐使用 extra_body 设置 enable_thinking=False,这是最推荐的方式。 
推荐方法一:如果你是本地部署模型并控制代码,建议使用 enable_thinking=False。 
推荐方法二:如果你希望快速实现且不介意少量 token 输出,可以使用 /no_think 标记。 
 
                         
原文链接:https://blog.csdn.net/qq_55666050/article/details/147893161 |   
 
 
 
 |