This commit is contained in:
2025-04-09 07:21:20 +00:00
parent 9dfff201d6
commit 8e671d2bf0

View File

@@ -940,14 +940,14 @@ 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
# Fallback: Falls Wikipedia-Branche und externe Beschreibung beide 'k.A.' sind, nutze Website-Zusammenfassung
if wiki_branche.strip().lower() == "k.a." and beschreibung.strip().lower() == "k.a.":
debug_print("Keine Wiki- und externe Branchenbeschreibung vorhanden, verwende Website-Zusammenfassung als Fallback.")
# Angepasst: Sobald kein Wikipedia-Artikel (Wiki-Branche) vorhanden ist, wird die Website-Zusammenfassung als Fallback genutzt.
if wiki_branche.strip().lower() == "k.a.":
debug_print("Kein Wikipedia-Artikel vorhanden verwende Website-Zusammenfassung als Branchenbeschreibung-Fallback.")
used_description = website_summary
else:
used_description = beschreibung
debug_print(f"Verwendete Angaben: CRM-Branche='{crm_branche}', externe Beschreibung='{beschreibung}', Wiki-Branche='{wiki_branche}', Wiki-Kategorien='{wiki_kategorien}'")
system_prompt = (
"Du bist ein Experte im Field Service Management. Deine Aufgabe ist es, ein Unternehmen basierend auf folgenden Angaben einer Branche zuzuordnen.\n\n"
f"CRM-Branche (Spalte F): {crm_branche if crm_branche.strip() != '' else 'k.A.'}\n"
@@ -961,7 +961,7 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
f"{focus_branches_str}\n\n"
"Gewichtung der Angaben:\n"
"1. Wikipedia-Branche (Spalte N) zusammen mit Wikipedia-Kategorien (Spalte Q) (höchste Priorität, wenn verifiziert, ansonsten erhöhte Gewichtung der Kategorien)\n"
"2. Branchenbeschreibung (Spalte G) (hier wird Website-Zusammenfassung genutzt, wenn beide Wikipedia- und externe Beschreibung fehlen)\n"
"2. Branchenbeschreibung (Spalte G) (hier wird die Website-Zusammenfassung genutzt, wenn kein Wikipedia-Artikel vorhanden ist)\n"
"3. CRM-Branche (Spalte F)\n\n"
"Ordne das Unternehmen exakt einer der oben genannten Branchen zu (keine zusätzlichen Branchen erfinden). "
"Bitte antworte im Format:\n"
@@ -986,16 +986,13 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
consistency = line.split(":", 1)[1].strip()
elif line.lower().startswith("begründung:"):
justification = line.split(":", 1)[1].strip()
# Falls das Ergebnis nicht im Ziel-Branchenschema enthalten ist, vermerke dies
if branch.lower() not in [tb.lower() for tb in target_branches]:
justification = "Vorgeschlagene Branche entspricht nicht dem Ziel-Branchenschema."
branch = "k.A."
consistency = "X"
# Falls die CRM-Branche exakt übereinstimmt, löschen wir die Begründung
if crm_branche.strip() and branch.lower() == crm_branche.strip().lower():
justification = ""
consistency = "ok"
# Zusätzliche Debug-Ausgabe zur Endbewertung
debug_print(f"Endergebnis Branchenbewertung: Branche='{branch}', Übereinstimmung='{consistency}', Begründung='{justification}'")
return {"branch": branch, "consistency": consistency, "justification": justification}
except Exception as e: