diff --git a/backend-compliance/compliance/services/vendor_llm_extractor.py b/backend-compliance/compliance/services/vendor_llm_extractor.py index 13acb14b..54b5bcf2 100644 --- a/backend-compliance/compliance/services/vendor_llm_extractor.py +++ b/backend-compliance/compliance/services/vendor_llm_extractor.py @@ -49,14 +49,17 @@ _SYSTEM_PROMPT = ( async def extract_vendors_via_llm( cookie_text: str, - max_text_chars: int = 50000, + max_text_chars: int = 20000, ) -> list[dict]: """Run the Qwen → OVH cascade. Returns vendor records (possibly empty). - max_text_chars: VW-Cookie-Richtlinie hat ~60k chars mit ~100 Cookies in - der Tabelle. Bei 12k waren wir auf die ersten ~5 Cookies begrenzt und - haben nur 1 Vendor extrahiert. 50k deckt VW/BMW/Mercedes komplett ab - und passt in Qwen3-30b-a3b (128k Context) sowie OVH 120B. + max_text_chars: P-fix 2026-05-22 — auf 20000 reduziert. Vorher 50000 + hat qwen2.5:14b ReadTimeout (auch bei 420s — Output 16000 tokens fuer + 50k input dauert > 7min). 20000 chars erfassen die ersten ~3000 Worte + der Cookie-Tabelle (bei VW deckt das den Tabellen-Kopf komplett ab). + Vollstaendige Tabelle wird vom deterministischen parse_flat erfasst, + LLM ist nur fuer Vendor-Namen die NICHT in der Tabelle stehen (z.B. + aus Prosa-Text). Schneller + zuverlaessiger. """ if not cookie_text or len(cookie_text) < 500: logger.info(