From 8e671d2bf096b2da464a79224d980ba4e10b42b3 Mon Sep 17 00:00:00 2001 From: Floke Date: Wed, 9 Apr 2025 07:21:20 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 9e536b98..64d6dda0 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -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: