debug
This commit is contained in:
@@ -427,12 +427,22 @@ def process_verification_only():
|
||||
data = main_sheet.get_all_values()
|
||||
batch_entries = []
|
||||
row_indices = []
|
||||
# Sammle Einträge, bei denen noch keine ChatGPT-Auswertung erfolgt ist (z. B. leeres Feld in Spalte AO)
|
||||
for i, row in enumerate(data[1:], start=2):
|
||||
# Überspringe Zeilen, bei denen bereits in Spalte AO (Index 40) ein Timestamp steht
|
||||
if len(row) > 40 and row[40].strip() != "":
|
||||
continue
|
||||
# Hier wird angenommen, dass der relevante Vergleichswert (z. B. Wikipedia-Daten) in Spalte Y oder AO erwartet wird.
|
||||
# Passen Sie die Bedingung ggf. an.
|
||||
if len(row) <= 25 or row[24].strip() == "":
|
||||
entry_text = f"Eintrag {i}:\nFirmenname: {row[1] if len(row)>1 else ''}\nCRM-Beschreibung: {row[7] if len(row)>7 else ''}\nWikipedia-URL: {row[11] if len(row)>11 and row[11].strip() not in ['', 'k.A.'] else 'k.A.'}\nWiki-Absatz: {row[12] if len(row)>12 else 'k.A.'}\nWiki-Kategorien: {row[16] if len(row)>16 else 'k.A.'}\n-----\n"
|
||||
entry_text = (
|
||||
f"Eintrag {i}:\n"
|
||||
f"Firmenname: {row[1] if len(row) > 1 else ''}\n"
|
||||
f"CRM-Beschreibung: {row[7] if len(row) > 7 else ''}\n"
|
||||
f"Wikipedia-URL: {row[11] if len(row) > 11 and row[11].strip() not in ['', 'k.A.'] else 'k.A.'}\n"
|
||||
f"Wiki-Absatz: {row[12] if len(row) > 12 else 'k.A.'}\n"
|
||||
f"Wiki-Kategorien: {row[16] if len(row) > 16 else 'k.A.'}\n"
|
||||
"-----\n"
|
||||
)
|
||||
batch_entries.append(entry_text)
|
||||
row_indices.append(i)
|
||||
if len(batch_entries) == rows_limit:
|
||||
@@ -440,10 +450,16 @@ def process_verification_only():
|
||||
if not batch_entries:
|
||||
debug_print("Keine Einträge für die Verifizierung gefunden.")
|
||||
return
|
||||
aggregated_prompt = ("Du bist ein Experte in der Verifizierung von Wikipedia-Artikeln für Unternehmen. "
|
||||
"Für jeden der folgenden Einträge prüfe, ob der vorhandene Wikipedia-Artikel (URL, Absatz, Kategorien) plausibel passt. "
|
||||
"Gib das Ergebnis für jeden Eintrag im Format aus:\nEintrag <Zeilennummer>: <Antwort>\n"
|
||||
"Regeln:\n- Bei Übereinstimmung: 'OK'\n- Bei Nichtübereinstimmung: 'Alternativer Wikipedia-Artikel vorgeschlagen: <URL> | X | <Begründung>'\n- Falls kein Artikel gefunden wurde: 'Kein Wikipedia-Eintrag vorhanden.'\n\n")
|
||||
aggregated_prompt = (
|
||||
"Du bist ein Experte in der Verifizierung von Wikipedia-Artikeln für Unternehmen. "
|
||||
"Für jeden der folgenden Einträge prüfe, ob der vorhandene Wikipedia-Artikel (URL, Absatz, Kategorien) plausibel passt. "
|
||||
"Gib das Ergebnis für jeden Eintrag im Format aus:\n"
|
||||
"Eintrag <Zeilennummer>: <Antwort>\n"
|
||||
"Regeln:\n"
|
||||
"- Bei Übereinstimmung: 'OK'\n"
|
||||
"- Bei Nichtübereinstimmung: 'Alternativer Wikipedia-Artikel vorgeschlagen: <URL> | X | <Begründung>'\n"
|
||||
"- Falls kein Artikel gefunden wurde: 'Kein Wikipedia-Eintrag vorhanden.'\n\n"
|
||||
)
|
||||
aggregated_prompt += "\n".join(batch_entries)
|
||||
debug_print("Aggregierter Prompt für Verifizierungs-Batch erstellt.")
|
||||
agg_token_count = "n.v."
|
||||
@@ -479,6 +495,7 @@ def process_verification_only():
|
||||
if line.strip().startswith(f"Eintrag {row_num}:"):
|
||||
answer = line.split(":", 1)[1].strip()
|
||||
break
|
||||
|
||||
if answer.upper() == "OK":
|
||||
wiki_confirm = "OK"
|
||||
alt_article = ""
|
||||
@@ -496,29 +513,53 @@ def process_verification_only():
|
||||
wiki_confirm = ""
|
||||
alt_article = answer
|
||||
wiki_explanation = answer
|
||||
|
||||
# Update Wiki-Validierungsergebnisse
|
||||
main_sheet.update(values=[[wiki_confirm]], range_name=f"S{row_num}")
|
||||
main_sheet.update(values=[[alt_article]], range_name=f"U{row_num}")
|
||||
main_sheet.update(values=[[wiki_explanation]], range_name=f"V{row_num}")
|
||||
# Branchenbewertung (Spalte W)
|
||||
|
||||
# *** Neuer Abschnitt: Website-Daten auslesen und in Spalte AR/AS schreiben ***
|
||||
website_url = data[row_num-1][3] if len(data[row_num-1]) > 3 else "k.A."
|
||||
website_raw = "k.A."
|
||||
website_summary = "k.A."
|
||||
if website_url.strip() != "" and website_url.strip().lower() != "k.a.":
|
||||
website_raw = get_website_raw(website_url)
|
||||
website_summary = summarize_website_content(website_raw)
|
||||
try:
|
||||
main_sheet.update(values=[[website_raw]], range_name=f"AR{row_num}")
|
||||
debug_print(f"Zeile {row_num}: Spalte AR (Website Rohtext) aktualisiert: {website_raw[:100]}...")
|
||||
except Exception as e:
|
||||
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AR: {e}")
|
||||
try:
|
||||
main_sheet.update(values=[[website_summary]], range_name=f"AS{row_num}")
|
||||
debug_print(f"Zeile {row_num}: Spalte AS (Website Zusammenfassung) aktualisiert: {website_summary}")
|
||||
except Exception as e:
|
||||
debug_print(f"Zeile {row_num}: Fehler beim Update von Spalte AS: {e}")
|
||||
else:
|
||||
debug_print(f"Zeile {row_num}: Kein gültiger Website-URL vorhanden, Website-Scraping wird übersprungen.")
|
||||
|
||||
# Branchenbewertung (Spalte W, X, Y)
|
||||
crm_branch = data[row_num-1][6] if len(data[row_num-1]) > 6 else "k.A."
|
||||
ext_branch = data[row_num-1][7] if len(data[row_num-1]) > 7 else "k.A."
|
||||
wiki_branch = data[row_num-1][14] if len(data[row_num-1]) > 14 else "k.A."
|
||||
wiki_cats = data[row_num-1][17] if len(data[row_num-1]) > 17 else "k.A."
|
||||
website_url = data[row_num-1][3] if len(data[row_num-1]) > 3 else "k.A."
|
||||
website_raw = get_website_raw(website_url)
|
||||
website_summary = summarize_website_content(website_raw)
|
||||
branch_result = evaluate_branche_chatgpt(crm_branch, ext_branch, wiki_branch, wiki_cats, website_summary)
|
||||
main_sheet.update(values=[[branch_result["branch"]]], range_name=f"W{row_num}")
|
||||
main_sheet.update(values=[[branch_result["consistency"]]], range_name=f"X{row_num}")
|
||||
main_sheet.update(values=[[branch_result["justification"]]], range_name=f"Y{row_num}")
|
||||
|
||||
# Aktualisiere Timestamps und Versionen
|
||||
current_dt = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
main_sheet.update(values=[[current_dt]], range_name=f"AO{row_num}")
|
||||
main_sheet.update(values=[[Config.VERSION]], range_name=f"AP{row_num}")
|
||||
main_sheet.update(values=[[str(agg_token_count)]], range_name=f"AQ{row_num}")
|
||||
|
||||
debug_print(f"Zeile {row_num} verifiziert: Antwort: {answer}")
|
||||
time.sleep(Config.RETRY_DELAY)
|
||||
debug_print("Verifizierungs-Batch abgeschlossen.")
|
||||
|
||||
|
||||
# ==================== List Metatitel, Description und Überschriften aus Websiten aus ====================
|
||||
def scrape_website_details(url):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user