[
https://issues.apache.org/jira/browse/CAMEL-26424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-26424:
--------------------------------
Summary: camel-jbang - turn thinking off with local models in camel ask,
explain and overview (was: camel-jbang - camel ask: turn thinking off with
local OpenAI-compatible servers, as with Ollama)
> camel-jbang - turn thinking off with local models in camel ask, explain and
> overview
> ------------------------------------------------------------------------------------
>
> Key: CAMEL-26424
> URL: https://issues.apache.org/jira/browse/CAMEL-26424
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> camel ask turns thinking off only on Ollama's own API:
> LlmClient.chatOllamaFormat sends {{"think": false}}. With
> {{--api-type=openai}}, chatOpenAiFormat sends model, messages, temperature
> and tools, and nothing about thinking.
> The Qwen 3.5, 3.6 and 3.8 models think by default, because their chat
> template turns thinking on. Local OpenAI-compatible servers such as Ollama's
> /v1 endpoint, llama.cpp server and vLLM render that template. So with these
> servers, every answer from camel ask starts with a hidden reasoning phase.
> Answers get slow, and a tool loop can spend minutes thinking. In the
> local-model benchmark, steps with thinking on ran 4-8 minutes and gave no
> answer (CAMEL-24886).
> *Measured* on a Mac mini M4 Pro with Ollama 0.40.12, its /v1/chat/completions
> endpoint, qwen3.6:35b-mlx already loaded, one short question, temperature 0.2:
> ||Request||Time||Completion tokens||Reasoning||
> |nothing extra (what camel ask sends today)|6.5 s|504|2,114 chars|
> |{{reasoning_effort}} = none|0.5 s|35|none|
> |{{chat_template_kwargs.enable_thinking}} = false|5.6 s|442|1,789 chars
> (Ollama ignores it)|
> *Proposal*
> When isLocalEndpoint() is true, the OpenAI request turns thinking off, as the
> Ollama request does:
> {noformat}
> "reasoning_effort": "none",
> "chat_template_kwargs": {"enable_thinking": false}
> {noformat}
> * reasoning_effort none: Ollama's /v1 honours it (see above). Rapid-MLX
> documents the same.
> * chat_template_kwargs: this is how vLLM and SGLang turn thinking off (Qwen's
> own docs).
> Requests to hosted endpoints (OpenAI, Azure, watsonx) stay as they are.
> There, the extra fields can be rejected as unknown parameters. No new option:
> the Ollama path has none either.
> Check that Ollama /v1 and at least one other local server (llama.cpp server
> or LM Studio) accept the extra fields.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)