fix: KI-Fallback Filter verschaerft 650-1400 EUR (Trip One-Way raus)

- KI-Fallback nutzte 500-2000 EUR, jetzt 650-1400 EUR
- Preise unter 650 EUR aus Screenshot werden verworfen (One-Way)
- Alte Trip-Preise unter 650 EUR als implausibel markiert
This commit is contained in:
Orbitalo 2026-03-01 09:14:31 +00:00
parent 35252246dc
commit b1aaaa9d57

View file

@ -353,6 +353,9 @@ def dispatch_job(node, job, tage_override=None):
log(f"⚠ Vision zeigt {kabine_erkannt} statt Economy — Preise markiert", "WARN")
# KI-Preis-Fallback: Scraper liefert 0, aber KI sieht Preise
# Strengere Grenzen: Economy Roundtrip realistisch 650-1400€
KI_FALLBACK_MIN = 650
KI_FALLBACK_MAX = 1400
ki_preise = ki_ergebnis.get("preise", [])
if not results and ki_preise:
from datetime import datetime as dt
@ -364,9 +367,12 @@ def dispatch_job(node, job, tage_override=None):
"airline": job.get("airline_filter", ""),
"abflug": abflug_default, "ankunft": rueck_default,
"booking_url": "", "scanner": job["scanner"],
} for p in ki_preise if isinstance(p, (int, float)) and PREIS_HARD_MIN <= p <= PREIS_HARD_MAX]
} for p in ki_preise if isinstance(p, (int, float)) and KI_FALLBACK_MIN <= p <= KI_FALLBACK_MAX]
if results:
log(f"👁 KI-Fallback: {len(results)} Preise vom Screenshot übernommen (Scraper lieferte 0)")
dropped = len([p for p in ki_preise if isinstance(p, (int, float)) and not (KI_FALLBACK_MIN <= p <= KI_FALLBACK_MAX)])
if dropped:
log(f"👁 KI-Fallback: {dropped} Preise verworfen (außerhalb {KI_FALLBACK_MIN}-{KI_FALLBACK_MAX}€ — vermutlich One-Way)")
try:
pruefe_preis_alert(results, job)