From 4ac0c479c4c747e0409d2428aed1ca126b815bcb Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Mon, 24 Aug 2026 08:43:14 +0200 Subject: [PATCH] fix(openwebui): synthesize after six tool calls --- .env.example | 2 +- compose.yaml | 2 +- config/install.env.example | 2 +- docs/TOOLING_RELIABILITY_2026-08-24.md | 2 +- install.sh | 2 +- platform/openwebui/patch_tool_finalization.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index da5e535..d9ffd75 100644 --- a/.env.example +++ b/.env.example @@ -4,7 +4,7 @@ MODEL_DIR=/srv/mike-ai/models ROUTER_API_KEY=GENERATED_BY_INSTALLER CONTROLLER_TOKEN=GENERATED_BY_INSTALLER WEBUI_SECRET_KEY=GENERATED_BY_INSTALLER -OPENWEBUI_IMAGE=mike-ai/openwebui:main-01f4282-tool-final-v2 +OPENWEBUI_IMAGE=mike-ai/openwebui:main-01f4282-tool-final-v3 PIPER_TTS_VERSION=1.6.0 PIPER_VOICE=de_DE-thorsten-high XTTS_IMAGE=ghcr.io/coqui-ai/xtts-streaming-server:latest-cuda121@sha256:f7fb3b1f9d4bc88af94da1b5959d8002f1e0b003c97557164034eb8a29f01b90 diff --git a/compose.yaml b/compose.yaml index 19f3e13..296104d 100644 --- a/compose.yaml +++ b/compose.yaml @@ -708,7 +708,7 @@ services: build: context: . dockerfile: platform/openwebui/Dockerfile - image: ${OPENWEBUI_IMAGE:-mike-ai/openwebui:main-01f4282-tool-final-v2} + image: ${OPENWEBUI_IMAGE:-mike-ai/openwebui:main-01f4282-tool-final-v3} container_name: mike-ai-open-webui restart: unless-stopped volumes: diff --git a/config/install.env.example b/config/install.env.example index 7ac3f32..42b8832 100644 --- a/config/install.env.example +++ b/config/install.env.example @@ -88,7 +88,7 @@ UNCENSORED_MTP_MAX=2 EXPERIMENTAL_CONTEXT=76800 LLAMA_THREADS=6 LLAMA_THREADS_BATCH=6 -OPENWEBUI_IMAGE=mike-ai/openwebui:main-01f4282-tool-final-v2 +OPENWEBUI_IMAGE=mike-ai/openwebui:main-01f4282-tool-final-v3 OPENWEBUI_ENABLE_SIGNUP=false OPENWEBUI_ENABLE_FOLLOW_UP_GENERATION=false PIPER_TTS_VERSION=1.6.0 diff --git a/docs/TOOLING_RELIABILITY_2026-08-24.md b/docs/TOOLING_RELIABILITY_2026-08-24.md index 03c82f8..6b78d6f 100644 --- a/docs/TOOLING_RELIABILITY_2026-08-24.md +++ b/docs/TOOLING_RELIABILITY_2026-08-24.md @@ -27,7 +27,7 @@ benötigte deshalb kleinere, klarere Werkzeuge und harte Abbruchgrenzen. damit führen deutsche Bankexporte nicht mehr unnötig zuerst zu einem ParserError wegen einer falschen Spaltenzahl. Tabellenanalysen sollen im Regelfall mit einer Erkennungs- und einer Auswertungsrunde auskommen. -4. Pro Antwort sind höchstens acht Werkzeugrunden und zwölf tatsächlich +4. Pro Antwort sind höchstens acht Werkzeugrunden und sechs tatsächlich ausgeführte Einzelaufrufe erlaubt. Das abgeleitete, reproduzierbar gebaute OpenWebUI-Image verwendet die letzte Runde zwingend als werkzeugfreie Synthese. Statt `Tool-call limit reached` ohne Ergebnis diff --git a/install.sh b/install.sh index 3b9c5e4..e7c3c87 100755 --- a/install.sh +++ b/install.sh @@ -312,7 +312,7 @@ WIREGUARD_CONFIG_FILE=${WIREGUARD_CONFIG_FILE:-/etc/mike-ai/wireguard/fritz-athe ROUTER_API_KEY=$(<$SECRETS_DIR/router-api-key) CONTROLLER_TOKEN=$(<$SECRETS_DIR/controller-token) WEBUI_SECRET_KEY=$(<$SECRETS_DIR/webui-secret) -OPENWEBUI_IMAGE=${OPENWEBUI_IMAGE:-mike-ai/openwebui:main-01f4282-tool-final-v2} +OPENWEBUI_IMAGE=${OPENWEBUI_IMAGE:-mike-ai/openwebui:main-01f4282-tool-final-v3} OPENWEBUI_ENABLE_SIGNUP=${OPENWEBUI_ENABLE_SIGNUP:-false} OPENWEBUI_ENABLE_FOLLOW_UP_GENERATION=${OPENWEBUI_ENABLE_FOLLOW_UP_GENERATION:-false} PIPER_TTS_VERSION=${PIPER_TTS_VERSION:-1.6.0} diff --git a/platform/openwebui/patch_tool_finalization.py b/platform/openwebui/patch_tool_finalization.py index 58bd89d..ea6353c 100644 --- a/platform/openwebui/patch_tool_finalization.py +++ b/platform/openwebui/patch_tool_finalization.py @@ -29,7 +29,7 @@ replacement = """ tool_call_iterations = 0 # functions in parallel. Bound actual executions as well so a small # local model cannot expand eight rounds into dozens of API calls. tool_call_executions = 0 - max_tool_call_executions = 12 + max_tool_call_executions = 6 max_tool_call_iterations = getattr( """ if source.count(needle) != 1: