搞localllm,想着跟Cline对比下,结果部署了qwen 3 coder后,发现Cline可以继续问答,而RooCode反而持续400,log中恍惚中看到vllm中对role的不支持,
RooCode 发了 tool_choice: “auto”,但 vLLM 没启用自动工具选择,所以直接拒绝。错误里写得很清楚:必须加 --enable-auto-tool-choice 和 --tool-call-parser
于是增加,
–enable-auto-tool-choice
–tool-call-parser qwen3_coder
后面点开vLLM加载qwen 3 coder的脚本,增加这两行参数,Roo问题得到解决,可以继续调用
通过这次调试,也看到了vLLM上当前支持的样式,我本地是用的vLLM 0.15.1
vLLM 在0.15.1支持的合法写法
{
“error”: “KeyError”,
“message”: “invalid tool call parser: qwen (chose from { deepseek_v3,deepseek_v31,deepseek_v32,ernie45,functiongemma,gigachat3,glm45,glm47,granite,granite-20b-fc,hermes,hunyuan_a13b,internlm,jamba,kimi_k2,llama3_json,llama4_json,llama4_pythonic,longcat,minimax,minimax_m2,mistral,olmo3,openai,phi4_mini_json,pythonic,qwen3_coder,qwen3_xml,seed_oss,step3,step3p5,xlam })”,
“invalid_parser”: “qwen”,
“available_parsers”: [
“deepseek_v3”,
“deepseek_v31”,
“deepseek_v32”,
“ernie45”,
“functiongemma”,
“gigachat3”,
“glm45”,
“glm47”,
“granite”,
“granite-20b-fc”,
“hermes”,
“hunyuan_a13b”,
“internlm”,
“jamba”,
“kimi_k2”,
“llama3_json”,
“llama4_json”,
“llama4_pythonic”,
“longcat”,
“minimax”,
“minimax_m2”,
“mistral”,
“olmo3”,
“openai”,
“phi4_mini_json”,
“pythonic”,
“qwen3_coder”,
“qwen3_xml”,
“seed_oss”,
“step3”,
“step3p5”,
“xlam”
]
}