From b87c27d104a1fc915f693d7f267d9827cf2fe8e9 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Tue, 19 May 2026 09:11:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(llm-verify):=20P13=20=E2=80=94=20Default-Mo?= =?UTF-8?q?dell=20auf=20qwen3:30b-a3b=20(statt=20qwen3.5:35b-a3b)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: qwen3.5:35b-a3b liefert mit format='json' + Batch-Prompt leere Strings zurueck ('LLM batch: empty response from model'). Im echten Compliance-Check lief der LLM-Verifier deshalb wirkungslos — False-Positive-Findings wie 'Vorstand nicht erkannt' (BMW: Klammer- Liste) wurden nicht overturned. Fix: Default auf qwen3:30b-a3b umgestellt. Verifiziert mit BMW- Impressum-Text: representative_person wird mit Evidence 'Milan Nedeljkovic, Vorsitzender' overturned=True markiert. OLLAMA_VERIFY_MODEL Env-Var bleibt als Override-Moeglichkeit. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../compliance/services/doc_checks/llm_verify.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend-compliance/compliance/services/doc_checks/llm_verify.py b/backend-compliance/compliance/services/doc_checks/llm_verify.py index c14f71b8..c4ed5997 100644 --- a/backend-compliance/compliance/services/doc_checks/llm_verify.py +++ b/backend-compliance/compliance/services/doc_checks/llm_verify.py @@ -15,7 +15,9 @@ import httpx logger = logging.getLogger(__name__) OLLAMA_URL = os.getenv("OLLAMA_URL", "http://host.docker.internal:11434") -OLLAMA_MODEL = os.getenv("OLLAMA_VERIFY_MODEL", "qwen3.5:35b-a3b") +# P13: qwen3:30b-a3b liefert zuverlaessige JSON-Antworten im Batch-Modus. +# qwen3.5:35b-a3b lieferte mit format='json' + langem Prompt leere Strings. +OLLAMA_MODEL = os.getenv("OLLAMA_VERIFY_MODEL", "qwen3:30b-a3b") TIMEOUT = 30.0