Commit Graph

427 Commits

Author SHA1 Message Date
62b8cc4341 bugfix 2025-05-10 08:16:23 +00:00
f724cbba73 Fokusbranchen-Logik in Branchenevaluation integriert
Wiedereinführung und Verbesserung der Funktionalität zur Priorisierung von Fokusbranchen bei der automatisierten Branchenklassifizierung durch ChatGPT.

**Änderungen:**
- **Fokusbranchen aus CSV:**
    - Die Definition von Fokusbranchen erfolgt nun über eine zusätzliche Spalte in der `ziel_Branchenschema.csv`-Datei. Dies ermöglicht eine flexible Konfiguration ohne Code-Änderungen.
    - Die Funktion `load_target_schema` wurde erweitert, um diese Fokus-Markierungen einzulesen und eine separate Liste `FOCUS_TARGET_BRANCHES` sowie einen spezifischen Prompt-Teil `FOCUS_BRANCHES_PROMPT_PART` zu generieren.
- **Angepasste `evaluate_branche_chatgpt` Funktion:**
    - Nutzt nun die global geladenen Listen `ALLOWED_TARGET_BRANCHES` und `FOCUS_TARGET_BRANCHES` sowie die Prompt-Teile `TARGET_SCHEMA_STRING` und `FOCUS_BRANCHES_PROMPT_PART`.
    - Der an ChatGPT gesendete Prompt wurde um einen expliziten Hinweis erweitert, Fokusbranchen bei der Klassifizierung zu priorisieren, falls mehrere Branchen plausibel erscheinen.
    - Die Fallback-Logik für die zu verwendende Beschreibungsquelle (CRM-Beschreibung vs. Website-Zusammenfassung bei fehlenden Wiki-Daten) wurde aus der früheren Funktionsversion übernommen und verfeinert.
    - Die API-Key-Handhabung wurde entfernt, da diese nun global über `Config.API_KEYS` und `call_openai_chat` erfolgt.
    - `debug_print` Aufrufe wurden durch Standard-Logging (`logger.debug`) ersetzt.
- **Globale Variablen:** Neue globale Variablen für Fokusbranchen und deren Prompt-Teil wurden eingeführt.

**Ziel:**
- Erhöhung der Genauigkeit der Branchenklassifizierung, indem vordefinierte, strategisch wichtige Branchen bei der KI-gestützten Bewertung bevorzugt werden.
- Verbesserung der Flexibilität und Wartbarkeit der Fokusbranchen-Definition durch Auslagerung in die zentrale CSV-Datei.
2025-05-10 08:11:41 +00:00
cae103d601 v1.7.3 Vollständige Alignment Demo für Spaltendoku wiederhergestellt & erweitert
Diese Version stellt die ausführliche `alignment_demo`-Funktion wieder her und erweitert sie, um alle aktuellen Spalten (A-AY) des Google Sheets präzise zu dokumentieren. Dies dient als zentrale Referenz für die Spaltenbedeutungen und -verwendungen im Projekt.

**Änderungen:**
- **`alignment_demo` wiederhergestellt:** Die ursprüngliche, detaillierte Struktur der `alignment_demo`-Funktion mit Beschreibungen für Quelle, Feldkategorie, Kurzbeschreibung und Aufgabe/Funktion pro Spalte wurde re-integriert.
- **Erweiterung für neue Spalten:** Die Dokumentation in `alignment_demo` wurde um die neu hinzugekommenen Spalten AR ("Website Rohtext") bis AY ("SerpAPI Wiki Search Timestamp") ergänzt, inklusive detaillierter Beschreibungen ihrer Herkunft und Funktion.
- **Inhaltliche Anpassungen:** Bestehende Beschreibungen in der `alignment_demo` (insbesondere für Spalten wie V, S) wurden präzisiert, um die aktuelle Code-Logik und die Bedeutung von Statuswerten (z.B. "?") widerzuspiegeln.
- **Konsistenz mit `COLUMN_MAP`:** Sichergestellt, dass die `alignment_demo` alle 51 Spalten abdeckt, die in der aktuellen `COLUMN_MAP`-Konstante definiert sind.
- **Vorbereitung für Modularisierung:** Die `alignment_demo` unterstreicht die Notwendigkeit einer klaren Spaltendefinition, die bei einer zukünftigen Aufteilung des Codes in Module essenziell ist.

**Ziel:**
- Eine klare, aktuelle und umfassende Dokumentation der Spaltenstruktur direkt im Google Sheet über die `alignment_demo`-Funktion.
- Schaffung einer verbindlichen Referenz für die weitere Entwicklung und das Verständnis der Datenverarbeitungsschritte.
2025-05-10 07:47:51 +00:00
b8caacd5c7 bugfix 2025-05-09 07:13:52 +00:00
921dde309c v1.7.2: behebung OpenAI Scope, URL-Neusuche
feat: Verbesserte Fehlerbehandlung Website-Scraping & URL-Neusuche (v1.7.2)

Diese Version behebt kritische Fehler im Zusammenhang mit dem OpenAI-Modul und verbessert die Robustheit des Website-Scrapings erheblich.

**Fehlerbehebungen:**
- **OpenAI `NameError`:** Behoben durch expliziten globalen Import von `openai` und Anpassung der Exception-Behandlung im `retry_on_failure`-Decorator. OpenAI-Calls (Zusammenfassung, Branchenbewertung) funktionieren nun korrekt.
- **Wikipedia `TypeError`:** Behoben durch Deaktivieren der internen Ratenbegrenzung der `wikipedia`-Bibliothek, da diese bei der Initialisierung der Ratenbegrenzungsvariablen einen Fehler verursachte.
- **Doppelte Definitionen:** Redundante Codeblöcke entfernt.
- **Klassen-Logger:** Korrekte Initialisierung und Verwendung von `self.logger` in den Klassen `GoogleSheetHandler`, `WikipediaScraper` und `DataProcessor` implementiert, um `NameError` für `logger` zu beheben.
- **Funktionsaufrufe:** Korrektur kleinerer Fehler in Funktionsaufrufen (`summarize_batch_openai`, `_scrape_raw_text_task`, `get_numeric_filter_value`).
- **Tippfehler:** `selflogger` zu `self.logger` korrigiert.

**Neue Features & Verbesserungen:**
- **Verbesserte Fehlerbehandlung `get_website_raw`:**
    - Standardmäßige Deaktivierung der SSL-Zertifikatsprüfung (`verify=False`) für pragmatischeres Scraping.
    - Implementierung von spezifischeren Fehlermeldungen (z.B. "k.A. (Timeout)", "k.A. (SSL Fehler)", "k.A. (HTTP Error 403)") für eine bessere Fehleranalyse direkt im Sheet.
    - Einführung eines Markers `URL_CHECK_NEEDED` für URLs, die beim Scraping auf fundamentale Probleme (ConnectionError, 404) hinweisen.
- **User-Agent Rotation:** Eingeführt in `get_website_raw`, um die Wahrscheinlichkeit von 403-Fehlern durch Bot-Erkennung zu reduzieren.
- **Neuer Modus `check_urls`:**
    - Implementiert in `DataProcessor.process_url_check`.
    - Sucht nach Zeilen mit dem `URL_CHECK_MARKER` oder generischen "k.A. (Fehler...)"-Einträgen in der Rohtext-Spalte (AR), bei denen der AY-Timestamp (SerpAPI Wiki Search Timestamp) noch nicht gesetzt ist.
    - Führt für diese Zeilen `serp_website_lookup` aus, um eine neue URL zu finden.
    - Bei Fund einer *neuen und anderen* URL: Aktualisiert Spalte D, leert AR, setzt ReEval-Flag (A) und löscht abhängige Timestamps (AT, AO, AN, AX, AP) zur erneuten Verarbeitung.
    - Bei identischer oder keiner neuen URL: Aktualisiert AR mit entsprechender Info.
    - Setzt immer den AY-Timestamp, um den Prüfversuch zu dokumentieren.
- **Funktion `is_valid_wikipedia_article_url`:** Globale Hilfsfunktion implementiert, um die Gültigkeit von Wikipedia-URLs zu prüfen (existierender Artikel, keine Begriffsklärung). Wird von `process_wiki_updates_from_chatgpt` verwendet.

**Bekannte offene Punkte:**
- ML-Modell und Imputer-Dateien müssen noch erstellt werden (`technician_decision_tree_model.pkl`, `median_imputer.pkl`). Aktuelle Fehler diesbezüglich sind erwartet.
- Implementierung der Platzhalter-Funktionen für FSM, Mitarbeiter- und Umsatzschätzung via OpenAI steht noch aus.
2025-05-09 06:52:15 +00:00
2784f91175 bugfix 2025-05-08 10:56:07 +00:00
a5b0845d9b bugfix 2025-05-08 10:05:19 +00:00
e92eb49dc1 bugfix 2025-05-08 09:25:03 +00:00
a3584d94a8 bugfix 2025-05-08 09:03:29 +00:00
d54c41688c bugfix 2025-05-08 08:52:20 +00:00
1134e8167d v. 1.7.1: Große Überarbeitung neuer Chat 2025-05-08 08:03:00 +00:00
ba5f9220bf bugfix 2025-05-07 13:10:16 +00:00
8b5f321f18 bugfix 2025-05-07 12:34:50 +00:00
f9d2d40d64 bugfix 2025-05-07 12:32:11 +00:00
bc0553b038 bugfix 2025-05-07 11:25:11 +00:00
4cb40d51b6 bugfix 2025-05-07 10:42:37 +00:00
e0582fe5e6 bugfix 2025-05-07 10:20:40 +00:00
04619a60b1 bugfix 2025-05-07 10:19:33 +00:00
61f258468c bugfix 2025-05-07 09:52:50 +00:00
921e595196 bugfix 2025-05-07 09:47:46 +00:00
54cc2eba92 bugfix 2025-05-07 09:40:58 +00:00
c5bcc9c834 bugfix 2025-05-07 09:19:20 +00:00
b7dd8fe141 bugfix 2025-05-07 09:08:05 +00:00
c700359569 bugfix 2025-05-07 08:42:28 +00:00
854929d10d bugfix 2025-05-07 08:28:09 +00:00
145981dc70 bugfix 2025-05-07 06:33:21 +00:00
263049342b v1.7.1 Re-Import der neu erstellten Version
Re-Import der neu erstellten Version
2025-05-07 06:00:42 +00:00
fd57db914d bugfix 2025-05-06 12:53:53 +00:00
589b4757b9 bugfix 2025-05-06 12:32:51 +00:00
5ca839608f bugfix 2025-05-06 12:30:09 +00:00
bc028371d2 bugfix 2025-05-06 06:52:01 +00:00
1e61c16936 bugfix 2025-05-05 14:50:21 +00:00
59fac9a964 bugfix 2025-05-05 13:55:58 +00:00
7a47c516d5 Reset 2025-05-05 13:12:55 +00:00
1814922a07 bugfix 2025-04-25 13:05:14 +00:00
6217f1c299 bugfix 2025-04-25 12:55:53 +00:00
f5cda2d6ac bugfix 2025-04-25 12:44:42 +00:00
8d35dfbc8a v1.7.0: Refactor into modular classes & flexible UI
- Restructured codebase into modular classes (DataProcessor, Handlers)
- Centralized processing logic in DataProcessor class
- Implemented flexible step selection via flags in single row processing
- Added detailed timestamp/status checks for conditional step execution
- Integrated batch processing methods into DataProcessor
- Developed robust CLI/interactive user interface for mode selection
- Added new modes: find_wiki_serp, website_details, wiki_reextract_missing_an, combined_all
- Enhanced reeval & full_run modes with granular step control
- Improved logging with file output and better detail
- Consolidated & refined helper functions and external API calls
- Updated column mapping with new timestamps
- Revised ML model loading, prediction, and training data prep
2025-04-25 12:40:18 +00:00
db9a5fd976 bugfix 2025-04-24 18:27:41 +00:00
5cfa10c28e bugfix 2025-04-24 18:24:43 +00:00
2664a830b7 bugfix 2025-04-24 18:20:15 +00:00
79245057b3 bugfix 2025-04-24 18:12:21 +00:00
c83ddf85df bugfix 2025-04-24 18:10:23 +00:00
f6a38eaf86 bugfix 2025-04-24 18:08:24 +00:00
63565e32e3 bugfix 2025-04-24 18:06:28 +00:00
2f293d2302 bugfix 2025-04-24 18:04:30 +00:00
706523a77d bugfix 2025-04-24 18:02:08 +00:00
1fde11db9a bugfix 2025-04-24 18:00:24 +00:00
7928c2dcd5 bugfix 2025-04-24 17:58:25 +00:00
fa00feb30e bugfix 2025-04-24 17:55:45 +00:00