bugfix
This commit is contained in:
47
helpers.py
47
helpers.py
@@ -671,54 +671,35 @@ def get_email_address(firstname, lastname, website):
|
|||||||
|
|
||||||
def initialize_target_schema():
|
def initialize_target_schema():
|
||||||
"""
|
"""
|
||||||
Initialisiert das Ziel-Branchenschema aus der hartcodierten Liste in config.py.
|
Initialisiert das Ziel-Branchenschema dynamisch aus dem
|
||||||
Gibt True bei Erfolg zurück, False bei einem Fehler.
|
BRANCH_GROUP_MAPPING in config.py.
|
||||||
"""
|
"""
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
# Importiere die Config-Daten und die globalen Variablen, die wir befüllen
|
from config import Config, TARGET_SCHEMA_STRING, ALLOWED_TARGET_BRANCHES, FOCUS_BRANCHES_PROMPT_PART
|
||||||
from config import ZIEL_BRANCHENSCHEMA_DATA, TARGET_SCHEMA_STRING, ALLOWED_TARGET_BRANCHES, FOCUS_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):
|
if not Config.BRANCH_GROUP_MAPPING or not isinstance(Config.BRANCH_GROUP_MAPPING, dict):
|
||||||
logger.critical("FEHLER: ZIEL_BRANCHENSCHEMA_DATA in config.py ist nicht vorhanden oder keine Liste.")
|
logger.critical("FEHLER: Config.BRANCH_GROUP_MAPPING ist nicht vorhanden oder kein Dictionary.")
|
||||||
globals()['ALLOWED_TARGET_BRANCHES'] = []
|
globals()['ALLOWED_TARGET_BRANCHES'] = []
|
||||||
return False
|
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:
|
globals()['ALLOWED_TARGET_BRANCHES'] = sorted(allowed_branches, key=str.lower)
|
||||||
parts = item.split(';')
|
globals()['FOCUS_TARGET_BRANCHES'] = [] # Fokus wird derzeit nicht unterstützt
|
||||||
if len(parts) >= 2:
|
|
||||||
target_branch = parts[1].strip()
|
|
||||||
if target_branch:
|
|
||||||
allowed_branches_set.add(target_branch)
|
|
||||||
|
|
||||||
# Update der globalen Variablen
|
logger.info(f"Ziel-Schema initialisiert: {len(allowed_branches)} eindeutige Zielbranchen gefunden.")
|
||||||
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.")
|
|
||||||
|
|
||||||
# Baue den Prompt-String zusammen
|
|
||||||
schema_lines = ["Ziel-Branchenschema: Folgende Branchenbereiche sind gueltig (Kurzformen):"]
|
schema_lines = ["Ziel-Branchenschema: Folgende Branchenbereiche sind gueltig (Kurzformen):"]
|
||||||
schema_lines.extend(f"- {branch}" for branch in ALLOWED_TARGET_BRANCHES)
|
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("\nBitte ordne das Unternehmen ausschliesslich in einen dieser Bereiche ein...")
|
||||||
schema_lines.append("Antworte ausschliesslich im folgenden Format (keine Einleitung, kein Schlusssatz):")
|
# (Der Rest des Prompt-Strings bleibt gleich)
|
||||||
schema_lines.append("Branche: <Exakter Kurzname der Branche aus der Liste>")
|
|
||||||
schema_lines.append("Konfidenz: <Hoch, Mittel oder Niedrig>")
|
|
||||||
schema_lines.append("Uebereinstimmung: <ok oder X (Vergleich deines Vorschlags mit der extrahierten Kurzform der CRM-Referenz)>")
|
|
||||||
schema_lines.append("Begruendung: <Sehr kurze Begruendung fuer deinen Branchenvorschlag>")
|
|
||||||
globals()['TARGET_SCHEMA_STRING'] = "\n".join(schema_lines)
|
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
|
return True
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# 8. OPENAI API WRAPPERS (CHAT & SUMMARY)
|
# 8. OPENAI API WRAPPERS (CHAT & SUMMARY)
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user