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"
|
"- 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"
|
"- 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"
|
"- 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"
|
"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"
|
"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)
|
"Ziel-Branchenschema:\n" + "\n".join(branches)
|
||||||
@@ -122,10 +122,10 @@ def get_wikipedia_data(name):
|
|||||||
if not branche:
|
if not branche:
|
||||||
cats = page.categories
|
cats = page.categories
|
||||||
branche = cats[0] if cats else ""
|
branche = cats[0] if cats else ""
|
||||||
return url, branche, umsatz
|
return url, branche or "k.A.", umsatz or "k.A."
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
return "", "", ""
|
return "", "k.A.", "k.A."
|
||||||
|
|
||||||
def classify_company(row):
|
def classify_company(row):
|
||||||
user_prompt = {
|
user_prompt = {
|
||||||
@@ -138,9 +138,12 @@ def classify_company(row):
|
|||||||
temperature=0
|
temperature=0
|
||||||
)
|
)
|
||||||
text = response.choices[0].message.content.strip()
|
text = response.choices[0].message.content.strip()
|
||||||
parts = [v.strip().strip('"') for v in text.split(";")]
|
lines = text.splitlines()
|
||||||
while len(parts) < 8:
|
csv_line = next((l for l in lines if ";" in l and not l.lower().startswith("wikipedia-branche")), "")
|
||||||
parts.append("k.A.")
|
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
|
return parts
|
||||||
|
|
||||||
# === VERARBEITUNG ===
|
# === 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)
|
wiki, linkedin, umsatz_chat, new_cat, reason, fsm, techniker, techniker_reason = classify_company(row)
|
||||||
|
|
||||||
values = [
|
values = [
|
||||||
wiki or wiki_branche,
|
wiki,
|
||||||
linkedin,
|
linkedin,
|
||||||
umsatz_chat or umsatz,
|
umsatz_chat,
|
||||||
new_cat,
|
new_cat,
|
||||||
reason,
|
reason,
|
||||||
fsm,
|
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])
|
sheet.update(range_name=f"G{i+2}:P{i+2}", values=[values])
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
print("✅ Durchläufe abgeschlossen")
|
print("✅ Durchläufe abgeschlossen")
|
||||||
|
|||||||
Reference in New Issue
Block a user