From fab69b521e7c3f337a60f88829ae29cdc059b1f0 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Sat, 12 Sep 2026 22:38:08 +0200 Subject: [PATCH] fix: desactivar el thinking de Qwen3 (SYSTEM /no_think) Qwen3 4B tiene el thinking mode ON por defecto: para 'Say hi in one word' generaba 232 tokens de razonamiento interno antes de responder (45+ s en una GTX 1660). Con /no_think: 7 tokens. - SYSTEM /no_think en el Modelfile (import HF y re-create num_ctx) - el re-create pasa SIEMPRE al validar el modelo ya presente (asi el tag existente del usuario hereda el fix sin re-descargar) --- hermes/deploy.ps1 | 5 +++-- openclaw/deploy.ps1 | 5 +++-- openwebui/deploy.ps1 | 5 +++-- wordpress/deploy.ps1 | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/hermes/deploy.ps1 b/hermes/deploy.ps1 index 7e3ee10..2e65666 100644 --- a/hermes/deploy.ps1 +++ b/hermes/deploy.ps1 @@ -147,6 +147,7 @@ if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e' $ModelList = docker exec d0a1-hermes-ollama ollama list 2>$null if ("$ModelList" -match 'qwen3:4b') { Info 'Modelo qwen3:4b ya descargado (volumen intacto). Omitiendo descarga.' + cmd /c docker exec d0a1-hermes-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' '>' NUL '2>&1' } else { # --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- @@ -165,7 +166,7 @@ foreach ($Url in $HfUrls) { if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { Info 'Importando modelo en Ollama...' docker cp "$Gguf" d0a1-hermes-ollama:/root/.ollama/import.gguf - docker exec d0a1-hermes-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-hermes-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' $CreateOk = ($LASTEXITCODE -eq 0) docker exec d0a1-hermes-ollama rm -f /root/.ollama/import.gguf | Out-Null Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue @@ -178,7 +179,7 @@ if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { if ($LASTEXITCODE -eq 0) { $PullOk = $true # Contexto ampliado (el default 4096 da 400 en Open WebUI con prompts largos) - docker exec d0a1-hermes-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-hermes-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' } } if (-not $PullOk) { diff --git a/openclaw/deploy.ps1 b/openclaw/deploy.ps1 index 85c0ee1..57ae793 100644 --- a/openclaw/deploy.ps1 +++ b/openclaw/deploy.ps1 @@ -147,6 +147,7 @@ if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e' $ModelList = docker exec d0a1-openclaw-ollama ollama list 2>$null if ("$ModelList" -match 'qwen3:4b') { Info 'Modelo qwen3:4b ya descargado (volumen intacto). Omitiendo descarga.' + cmd /c docker exec d0a1-openclaw-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' '>' NUL '2>&1' } else { # --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- @@ -165,7 +166,7 @@ foreach ($Url in $HfUrls) { if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { Info 'Importando modelo en Ollama...' docker cp "$Gguf" d0a1-openclaw-ollama:/root/.ollama/import.gguf - docker exec d0a1-openclaw-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-openclaw-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' $CreateOk = ($LASTEXITCODE -eq 0) docker exec d0a1-openclaw-ollama rm -f /root/.ollama/import.gguf | Out-Null Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue @@ -178,7 +179,7 @@ if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { if ($LASTEXITCODE -eq 0) { $PullOk = $true # Contexto ampliado (el default 4096 da 400 en Open WebUI con prompts largos) - docker exec d0a1-openclaw-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-openclaw-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' } } if (-not $PullOk) { diff --git a/openwebui/deploy.ps1 b/openwebui/deploy.ps1 index 0fc9831..19e9bf2 100644 --- a/openwebui/deploy.ps1 +++ b/openwebui/deploy.ps1 @@ -168,6 +168,7 @@ if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e' $ModelList = docker exec d0a1-ollama ollama list 2>$null if ("$ModelList" -match 'qwen3:4b') { Info 'Modelo qwen3:4b ya descargado (volumen intacto). Omitiendo descarga.' + cmd /c docker exec d0a1-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' '>' NUL '2>&1' } else { # --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- @@ -186,7 +187,7 @@ foreach ($Url in $HfUrls) { if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { Info 'Importando modelo en Ollama...' docker cp "$Gguf" d0a1-ollama:/root/.ollama/import.gguf - docker exec d0a1-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' $CreateOk = ($LASTEXITCODE -eq 0) docker exec d0a1-ollama rm -f /root/.ollama/import.gguf | Out-Null Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue @@ -199,7 +200,7 @@ if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { if ($LASTEXITCODE -eq 0) { $PullOk = $true # Contexto ampliado (el default 4096 da 400 en Open WebUI con prompts largos) - docker exec d0a1-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' } } if (-not $PullOk) { diff --git a/wordpress/deploy.ps1 b/wordpress/deploy.ps1 index 85f3bc3..b322540 100644 --- a/wordpress/deploy.ps1 +++ b/wordpress/deploy.ps1 @@ -205,6 +205,7 @@ if ($env:HTTPS_PROXY) { $ProxyEnv = @('-e', "HTTPS_PROXY=$env:HTTPS_PROXY", '-e' $ModelList = docker exec d0a1-wp-ollama ollama list 2>$null if ("$ModelList" -match 'qwen3:4b') { Info 'Modelo qwen3:4b ya descargado (volumen intacto). Omitiendo descarga.' + cmd /c docker exec d0a1-wp-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' '>' NUL '2>&1' } else { # --- Modelo: HF primero (CDN propio, rapido) y registry de Ollama como ultimo recurso --- @@ -223,7 +224,7 @@ foreach ($Url in $HfUrls) { if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { Info 'Importando modelo en Ollama...' docker cp "$Gguf" d0a1-wp-ollama:/root/.ollama/import.gguf - docker exec d0a1-wp-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-wp-ollama sh -c 'printf "FROM /root/.ollama/import.gguf\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' $CreateOk = ($LASTEXITCODE -eq 0) docker exec d0a1-wp-ollama rm -f /root/.ollama/import.gguf | Out-Null Remove-Item "$Gguf" -Force -ErrorAction SilentlyContinue @@ -236,7 +237,7 @@ if ((Test-Path $Gguf) -and (Get-Item $Gguf).Length -gt 2400000000) { if ($LASTEXITCODE -eq 0) { $PullOk = $true # Contexto ampliado (el default 4096 da 400 en Open WebUI con prompts largos) - docker exec d0a1-wp-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' + docker exec d0a1-wp-ollama sh -c 'printf "FROM qwen3:4b\\nPARAMETER num_ctx 16384\\nSYSTEM /no_think\\n" > /tmp/mf && ollama create qwen3:4b -f /tmp/mf' } } if (-not $PullOk) {