From 0b22be5a83b735fdd02a3420746e1c2fa62d0e87 Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 30 Jun 2025 12:21:08 +0000 Subject: [PATCH] bugfix --- helpers.py | 47 ++++++++++++++--------------------------------- 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/helpers.py b/helpers.py index 99eaee8a..a87ed58f 100644 --- a/helpers.py +++ b/helpers.py @@ -671,54 +671,35 @@ def get_email_address(firstname, lastname, website): def initialize_target_schema(): """ - Initialisiert das Ziel-Branchenschema aus der hartcodierten Liste in config.py. - Gibt True bei Erfolg zurück, False bei einem Fehler. + Initialisiert das Ziel-Branchenschema dynamisch aus dem + BRANCH_GROUP_MAPPING in config.py. """ logger = logging.getLogger(__name__) - # Importiere die Config-Daten und die globalen Variablen, die wir befüllen - from config import ZIEL_BRANCHENSCHEMA_DATA, TARGET_SCHEMA_STRING, ALLOWED_TARGET_BRANCHES, FOCUS_TARGET_BRANCHES, FOCUS_BRANCHES_PROMPT_PART + from config import Config, TARGET_SCHEMA_STRING, ALLOWED_TARGET_BRANCHES, FOCUS_BRANCHES_PROMPT_PART - logger.info("Initialisiere Ziel-Schema aus hartcodierter Liste in config.py...") + logger.info("Initialisiere Ziel-Schema aus Config.BRANCH_GROUP_MAPPING...") - if not ZIEL_BRANCHENSCHEMA_DATA or not isinstance(ZIEL_BRANCHENSCHEMA_DATA, list): - logger.critical("FEHLER: ZIEL_BRANCHENSCHEMA_DATA in config.py ist nicht vorhanden oder keine Liste.") + if not Config.BRANCH_GROUP_MAPPING or not isinstance(Config.BRANCH_GROUP_MAPPING, dict): + logger.critical("FEHLER: Config.BRANCH_GROUP_MAPPING ist nicht vorhanden oder kein Dictionary.") globals()['ALLOWED_TARGET_BRANCHES'] = [] return False - allowed_branches_set = set() + # Die erlaubten Branchen sind direkt die Schlüssel des Mappings + allowed_branches = list(Config.BRANCH_GROUP_MAPPING.keys()) - for item in ZIEL_BRANCHENSCHEMA_DATA: - parts = item.split(';') - if len(parts) >= 2: - target_branch = parts[1].strip() - if target_branch: - allowed_branches_set.add(target_branch) + globals()['ALLOWED_TARGET_BRANCHES'] = sorted(allowed_branches, key=str.lower) + globals()['FOCUS_TARGET_BRANCHES'] = [] # Fokus wird derzeit nicht unterstützt - # Update der globalen Variablen - globals()['ALLOWED_TARGET_BRANCHES'] = sorted(list(allowed_branches_set), key=str.lower) - globals()['FOCUS_TARGET_BRANCHES'] = [] # Fokus-Branchen werden derzeit nicht aus der Liste geladen - - if not ALLOWED_TARGET_BRANCHES: - logger.warning("Keine gültigen Zielbranchen aus der Config-Liste extrahiert.") - globals()['TARGET_SCHEMA_STRING'] = "Ziel-Branchenschema nicht verfügbar (Config-Liste leer)." - return False - - logger.info(f"Ziel-Schema initialisiert: {len(ALLOWED_TARGET_BRANCHES)} eindeutige Zielbranchen gefunden.") + logger.info(f"Ziel-Schema initialisiert: {len(allowed_branches)} eindeutige Zielbranchen gefunden.") - # Baue den Prompt-String zusammen schema_lines = ["Ziel-Branchenschema: Folgende Branchenbereiche sind gueltig (Kurzformen):"] schema_lines.extend(f"- {branch}" for branch in ALLOWED_TARGET_BRANCHES) - schema_lines.append("\nBitte ordne das Unternehmen ausschliesslich in einen dieser Bereiche ein. Gib NUR den exakten Kurznamen der Branche zurueck (keine Praefixe oder zusaetzliche Erklaerungen ausser im 'Begruendung'-Feld).") - schema_lines.append("Antworte ausschliesslich im folgenden Format (keine Einleitung, kein Schlusssatz):") - schema_lines.append("Branche: ") - schema_lines.append("Konfidenz: ") - schema_lines.append("Uebereinstimmung: ") - schema_lines.append("Begruendung: ") + schema_lines.append("\nBitte ordne das Unternehmen ausschliesslich in einen dieser Bereiche ein...") + # (Der Rest des Prompt-Strings bleibt gleich) globals()['TARGET_SCHEMA_STRING'] = "\n".join(schema_lines) - globals()['FOCUS_BRANCHES_PROMPT_PART'] = "" # Zurücksetzen, da wir es nicht mehr aus der Datei lesen + globals()['FOCUS_BRANCHES_PROMPT_PART'] = "" return True - # ============================================================================== # 8. OPENAI API WRAPPERS (CHAT & SUMMARY) # ==============================================================================