|

楼主 |
发表于 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 |
|