bugfix
This commit is contained in:
@@ -202,15 +202,45 @@ def validate_article_with_chatgpt(crm_data, wiki_data):
|
||||
debug_print(f"Fehler beim Validierungs-API-Aufruf: {e}")
|
||||
return "k.A."
|
||||
|
||||
def load_target_branches():
|
||||
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 and row[0].strip() != ""]
|
||||
return branches
|
||||
except Exception as e:
|
||||
debug_print(f"Fehler beim Laden des Ziel-Branchenschemas: {e}")
|
||||
return [
|
||||
"Gutachter / Versicherungen > Baugutachter",
|
||||
"Gutachter / Versicherungen > Technische Gutachten",
|
||||
"Gutachter / Versicherungen > Versicherungsgutachten",
|
||||
"Gutachter / Versicherungen > Medizinische Gutachten",
|
||||
"Hersteller / Produzenten > Anlagenbau",
|
||||
"Hersteller / Produzenten > Automaten (Vending, Slot)",
|
||||
"Hersteller / Produzenten > Gebäudetechnik Allgemein",
|
||||
"Hersteller / Produzenten > Gebäudetechnik Heizung, Lüftung, Klima",
|
||||
"Hersteller / Produzenten > Maschinenbau",
|
||||
"Hersteller / Produzenten > Medizintechnik",
|
||||
"Service provider (Dienstleister) > Aufzüge und Rolltreppen",
|
||||
"Service provider (Dienstleister) > Feuer- und Sicherheitssysteme",
|
||||
"Service provider (Dienstleister) > Servicedienstleister / Reparatur ohne Produktion",
|
||||
"Service provider (Dienstleister) > Facility Management",
|
||||
"Versorger > Telekommunikation"
|
||||
]
|
||||
|
||||
def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kategorien):
|
||||
target_branches = load_target_branches()
|
||||
target_branches_str = "\n".join(target_branches)
|
||||
prompt_text = (
|
||||
"Du bist ein Experte im Field Service Management. Analysiere die folgenden Branchenangaben und ordne das Unternehmen einer der gültigen Branchen zu. "
|
||||
"Nutze ausschließlich die vorhandenen Informationen.\n\n"
|
||||
"Du bist ein Experte im Field Service Management. Hier ist das gültige Ziel-Branchenschema:\n"
|
||||
f"{target_branches_str}\n\n"
|
||||
"Ordne anhand der folgenden Informationen das Unternehmen genau einer der oben genannten Branchen zu. "
|
||||
"Wenn keine der Informationen passt, antworte mit 'k.A.'. Verwende dabei exakt die Schreibweise aus dem Ziel-Branchenschema.\n\n"
|
||||
f"CRM-Branche: {crm_branche}\n"
|
||||
f"Beschreibung Branche extern: {beschreibung}\n"
|
||||
f"Wikipedia-Branche: {wiki_branche}\n"
|
||||
f"Wikipedia-Kategorien: {wiki_kategorien}\n\n"
|
||||
"Gib aus:\n"
|
||||
"Gib aus im exakten Format (ohne zusätzliche Erklärungen):\n"
|
||||
"Branche: <vorgeschlagene Branche>\n"
|
||||
"Konsistenz: <OK oder X>\n"
|
||||
"Begründung: <Begründung bei Abweichung (leer, wenn OK)>"
|
||||
@@ -233,6 +263,23 @@ def evaluate_branche_chatgpt(crm_branche, beschreibung, wiki_branche, wiki_kateg
|
||||
branch = "k.A."
|
||||
consistency = "k.A."
|
||||
justification = ""
|
||||
for line in result.split("\n"):
|
||||
if line.lower().startswith("branche:"):
|
||||
branch = line.split(":", 1)[1].strip()
|
||||
elif line.lower().startswith("konsistenz:"):
|
||||
consistency = line.split(":", 1)[1].strip()
|
||||
elif line.lower().startswith("begründung:"):
|
||||
justification = line.split(":", 1)[1].strip()
|
||||
if branch not in target_branches:
|
||||
debug_print(f"Vorgeschlagene Branche '{branch}' nicht im Ziel-Branchenschema enthalten.")
|
||||
branch = "k.A."
|
||||
return {"branch": branch, "consistency": consistency, "justification": justification}
|
||||
except Exception as e:
|
||||
debug_print(f"Fehler beim Aufruf der ChatGPT API für Branchenabgleich: {e}")
|
||||
return {"branch": "k.A.", "consistency": "k.A.", "justification": "k.A."}
|
||||
branch = "k.A."
|
||||
consistency = "k.A."
|
||||
justification = ""
|
||||
for line in result.split("\n"):
|
||||
if line.lower().startswith("branche:"):
|
||||
branch = line.split(":", 1)[1].strip()
|
||||
|
||||
Reference in New Issue
Block a user