[object Object]

← back to Model Arena

qwen3: disable thinking (think:false) and raise num_predict to 10240 — the <think> block was eating the whole token budget on creative challenges, returning 0 chars of HTML

8a62aa0d4c6f1d29c9a1941b19196e75556344d2 · 2026-07-23 08:32:22 -0700 · Steve Abrams

Files touched

Diff

commit 8a62aa0d4c6f1d29c9a1941b19196e75556344d2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Jul 23 08:32:22 2026 -0700

    qwen3: disable thinking (think:false) and raise num_predict to 10240 — the <think> block was eating the whole token budget on creative challenges, returning 0 chars of HTML
---
 server.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/server.js b/server.js
index b9d62c9..9291dae 100644
--- a/server.js
+++ b/server.js
@@ -246,7 +246,10 @@ async function generateLocal(m, prompt) {
     model: m.model,
     stream: false,
     messages: [{ role: 'user', content: prompt }],
-    options: { temperature: 0.7, num_predict: 6144 },
+    // qwen3 is a thinking model — its <think> block can eat the whole token budget
+    // and return 0 chars of HTML; turn thinking off and give headroom
+    ...(m.model.startsWith('qwen3') ? { think: false } : {}),
+    options: { temperature: 0.7, num_predict: m.model.startsWith('qwen3') ? 10240 : 6144 },
   }, 600000);
   if (!r.json || !r.json.message) throw new Error('ollama bad response: ' + (r.raw || r.status));
   return { text: r.json.message.content, cost: 0, tokens: { out: r.json.eval_count || 0 } };
@@ -347,7 +350,8 @@ async function generateLocalTools(m, prompt) {
     for (let round = 0; round < 5; round++) {
       const r = await httpJson(m.host + '/api/chat', {}, {
         model: m.model, stream: false, messages, tools: TOOL_SCHEMAS,
-        options: { temperature: 0.7, num_predict: 6144 },
+        ...(m.model.startsWith('qwen3') ? { think: false } : {}),
+        options: { temperature: 0.7, num_predict: m.model.startsWith('qwen3') ? 10240 : 6144 },
       }, 600000);
       if (!r.json || !r.json.message) throw new Error('ollama bad response: ' + (r.raw || r.status));
       outTok += r.json.eval_count || 0;

← bb586f8 auto-save: 2026-07-23T08:19:35 (2 files) — data/challenges.j  ·  back to Model Arena  ·  photoshop design tool: Adobe Firefly Services — IMS auth, Fi 7bd9ccc →