fix: KI-Robustheit — harter Wanduhr-Deadline + persistenter Ledger
Ein echter Durchlauf auf bredelar.info deckte zwei Bugs auf, die mit gemockten Tests unsichtbar waren: 1. Hang: attempt_timeout wurde nur als requests-Inaktivitäts-Timeout übergeben. Ein Free-Modell, das die Verbindung offen hält oder Tokens langsam tröpfeln lässt, umging ihn → der ganze Scan hing unbegrenzt (real auf einem Bild >5 min). Fix: _post_with_deadline führt den Call in einem Worker-Thread mit future.result(timeout=...) aus — hartes Wanduhr-Limit, bei Überschreitung Eskalation statt Hang. 2. Verlust bei Abbruch: Das Ledger wurde nur ganz am Ende gespeichert, ein Hang/Crash verwarf alle berechneten Verdikte. Fix: Zwischensicherung nach der Textphase + im finally — Verdikte überleben einen Abbruch. Zusätzlich attempt_timeout 30 → 20 s (flottere Eskalation). Im erneuten Lauf griff der Deadline 4× sauber, der Scan lief vollständig durch (Gelb: ein off_topic_commercial-Fund auf einer Gewerbe-Seite). Tests: 239 grün (+2: Deadline kappt Hang <2s, Textverdikte überleben Bildphasen-Crash). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
a8dcaabf7c
commit
31730403b3
4 changed files with 75 additions and 15 deletions
|
|
@ -93,7 +93,7 @@ DEFAULT_CONFIG: dict = {
|
|||
"red_min_severity": "high",
|
||||
"red_min_confidence": 0.9,
|
||||
"request_timeout": 60, # Ceiling (auch für Asset-Fetch der Bilder)
|
||||
"attempt_timeout": 30, # Zeitlimit je Modell-Versuch → Eskalation bei Langsamkeit
|
||||
"attempt_timeout": 20, # HARTES Wanduhr-Limit je Modell-Versuch → Eskalation
|
||||
"max_retries": 1, # Wiederholungen der ganzen Modell-Kette bei Komplettausfall
|
||||
"retry_backoff_seconds": 2.0,
|
||||
# Verhalten, wenn Inhalte trotz Retry NICHT geprüft werden konnten (KI nicht erreichbar):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue