This commit is contained in:
2025-04-11 12:57:11 +00:00
parent 343435f2e4
commit de9da6a390

View File

@@ -1410,7 +1410,8 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
try:
with open("ziel_Branchenschema.csv", "r", encoding="utf-8") as csvfile:
reader = csv.reader(csvfile)
branches = [row[0] for row in reader if row]
# Filtere mögliche Header (z.B. "Branche") aus
branches = [row[0].strip() for row in reader if row and row[0].strip().lower() != "branche"]
return branches
except Exception as e:
debug_print(f"Fehler beim Laden des Ziel-Branchenschemas: {e}")
@@ -1443,7 +1444,7 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
return {"branch": "k.A.", "consistency": "k.A.", "justification": "k.A."}
openai.api_key = api_key
# Falls kein Wikipedia-Artikel vorhanden ist, nutzen wir die Website-Zusammenfassung
# Falls kein Wikipedia-Artikel vorhanden ist, nutze als Fallback die Website-Zusammenfassung
if wiki_branche.strip().lower() == "k.a.":
debug_print("Kein Wikipedia-Artikel vorhanden verwende Website-Zusammenfassung als Branchenbeschreibung-Fallback.")
used_description = website_summary
@@ -1494,14 +1495,15 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
elif line.lower().startswith("begründung:"):
justification = line.split(":", 1)[1].strip()
# Fallback-Logik: Wenn der vorgeschlagene Branch nicht im Zielschema ist,
# dann wähle den in CRM vorliegenden Branch, sofern er gültig ist, sonst verwende den ersten Eintrag im Schema.
# Fallback-Logik: Wurde kein gültiger Branch von ChatGPT zurückgegeben?
# Prüfe, ob der vorgeschlagene Branch in target_branches enthalten ist.
target_lower = [tb.lower() for tb in target_branches]
if branch is None or branch.lower() not in target_lower:
debug_print("Vorgeschlagene Branche entspricht nicht dem Ziel-Branchenschema, Fallback verwenden.")
fallback = None
# Falls der in CRM angegebene Branch im Zielschema liegt, verwende ihn.
if crm_branche.strip() and crm_branche.lower() in target_lower:
fallback = crm_branche
fallback = crm_branche.strip()
elif target_branches:
fallback = target_branches[0]
else:
@@ -1513,6 +1515,7 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
return {"branch": branch, "consistency": consistency, "justification": justification}
def evaluate_servicetechnicians_estimate(company_name, company_data):
try:
with open("serpApiKey.txt", "r") as f: