Bugfix Robuster Umgang mit k.A.
This commit is contained in:
@@ -93,7 +93,7 @@ system_prompt = {
|
||||
"- Berücksichtige dabei alle vorliegenden Informationen (auch externe Beschreibung, Wikipedia, LinkedIn, Website) sowie die bisherige Einstufung.\n"
|
||||
"- Wenn die bisherige Einstufung korrekt ist, bestätige sie – wenn nicht, schlage eine neue Einstufung vor und begründe diese.\n"
|
||||
"- Gib zusätzlich an, ob das Unternehmen FSM-relevant ist (Ja / Nein / k.A. mit Begründung).\n"
|
||||
"- Schätze die Anzahl mobiler Techniker anhand öffentlich verfügbarer Infos und gib eine Stufe an: <50 / >50 / >100 / >500, mit Begründung.\n\n"
|
||||
"- Schätze die Anzahl mobiler Techniker anhand öffentlich verfügbarer Infos und gib eine Stufe an und begründe diese: <50 / >50 / >100 / >500\n\n"
|
||||
"Gib das Ergebnis ausschließlich im folgenden CSV-Format aus (eine Zeile, 8 Spalten, getrennt durch Semikolon):\n"
|
||||
"Wikipedia-Branche;LinkedIn-Branche;Umsatz (Mio €);Empfohlene Neueinstufung;Begründung;FSM-Relevanz (Ja/Nein/k.A. mit Begründung);Techniker-Einschätzung;Techniker-Begründung\n\n"
|
||||
"Ziel-Branchenschema:\n" + "\n".join(branches)
|
||||
@@ -122,10 +122,10 @@ def get_wikipedia_data(name):
|
||||
if not branche:
|
||||
cats = page.categories
|
||||
branche = cats[0] if cats else ""
|
||||
return url, branche, umsatz
|
||||
return url, branche or "k.A.", umsatz or "k.A."
|
||||
except:
|
||||
continue
|
||||
return "", "", ""
|
||||
return "", "k.A.", "k.A."
|
||||
|
||||
def classify_company(row):
|
||||
user_prompt = {
|
||||
@@ -138,9 +138,12 @@ def classify_company(row):
|
||||
temperature=0
|
||||
)
|
||||
text = response.choices[0].message.content.strip()
|
||||
parts = [v.strip().strip('"') for v in text.split(";")]
|
||||
while len(parts) < 8:
|
||||
parts.append("k.A.")
|
||||
lines = text.splitlines()
|
||||
csv_line = next((l for l in lines if ";" in l and not l.lower().startswith("wikipedia-branche")), "")
|
||||
parts = [v.strip().strip('"') for v in csv_line.split(";")] if csv_line else []
|
||||
if len(parts) != 8:
|
||||
print("⚠️ Antwort konnte nicht korrekt gelesen werden. Setze alle Werte auf 'k.A.'")
|
||||
parts = ["k.A."] * 8
|
||||
return parts
|
||||
|
||||
# === VERARBEITUNG ===
|
||||
@@ -152,9 +155,9 @@ for i in range(start, min(start + DURCHLÄUFE, len(sheet_values))):
|
||||
wiki, linkedin, umsatz_chat, new_cat, reason, fsm, techniker, techniker_reason = classify_company(row)
|
||||
|
||||
values = [
|
||||
wiki or wiki_branche,
|
||||
wiki,
|
||||
linkedin,
|
||||
umsatz_chat or umsatz,
|
||||
umsatz_chat,
|
||||
new_cat,
|
||||
reason,
|
||||
fsm,
|
||||
@@ -168,4 +171,4 @@ for i in range(start, min(start + DURCHLÄUFE, len(sheet_values))):
|
||||
sheet.update(range_name=f"G{i+2}:P{i+2}", values=[values])
|
||||
time.sleep(5)
|
||||
|
||||
print("✅ Durchläufe abgeschlossen")
|
||||
print("✅ Durchläufe abgeschlossen")
|
||||
|
||||
Reference in New Issue
Block a user