From 9774dea8951e93b8db050b340f4323a8fb631636 Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Tue, 18 Aug 2026 20:50:21 -0700 Subject: [PATCH] fix(llm-serving): enable tool calling on homelab-reasoning pi sends tool_choice="auto" for every session (Read/Bash/etc.) -- vLLM 400s on that without --enable-auto-tool-choice and a --tool-call-parser. Verified this deployed vLLM v0.11.0's registered parsers directly; deepseek_v3 matches, same family as the deepseek_r1 reasoning-parser already set (this Qwen-base distillation still emits DeepSeek's own tool-call format). --- k8s/apps/llm-serving/reasoning.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/k8s/apps/llm-serving/reasoning.yaml b/k8s/apps/llm-serving/reasoning.yaml index 44f091c..66dfb0e 100644 --- a/k8s/apps/llm-serving/reasoning.yaml +++ b/k8s/apps/llm-serving/reasoning.yaml @@ -24,6 +24,16 @@ spec: - --enable-chunked-prefill - --enable-prefix-caching - --reasoning-parser=deepseek_r1 + # Without these, any client sending tool_choice="auto" (pi does, for + # Read/Bash/etc.) gets a 400: "auto" tool choice requires + # --enable-auto-tool-choice and --tool-call-parser to be set. Verified + # against this exact deployed vLLM v0.11.0's registered parsers + # (ToolParserManager.tool_parsers) -- deepseek_v3 matches, same family + # as the deepseek_r1 reasoning-parser already set above (this model + # emits DeepSeek's own special-token format, not Qwen's Hermes-style, + # despite being a Qwen-base distillation). + - --enable-auto-tool-choice + - --tool-call-parser=deepseek_v3 - --host=0.0.0.0 - --port=8080 env: