diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 2866ce53..ff95f6c0 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -53,7 +53,7 @@ LOG_DIR = "Log" # ==================== KONFIGURATION ==================== class Config: - VERSION = "v1.6.3" # Behalte Version bei, da es ein Bugfix ist + VERSION = "v1.6.3" # Behalte Version bei LANG = "de" SHEET_URL = "https://docs.google.com/spreadsheets/d/1u_gHr9JUfmV1-iviRzbSe3575QEp7KLhK5jFV_gJcgo" MAX_RETRIES = 3 @@ -67,13 +67,18 @@ class Config: # --- Konfiguration für Batching & Parallelisierung --- BATCH_SIZE = 10 # Batch-Größe für Wiki Verification (_process_batch) PROCESSING_BATCH_SIZE = 20 # Wie viele Zeilen pro Verarbeitungs-Batch sammeln (Website Scraping) - OPENAI_BATCH_SIZE_LIMIT = 1 # Max. Texte pro OpenAI Call in summarize_batch_openai + OPENAI_BATCH_SIZE_LIMIT = 4 # Max. Texte pro OpenAI Call in summarize_batch_openai MAX_SCRAPING_WORKERS = 10 # Threads für paralleles Website-Scraping UPDATE_BATCH_ROW_LIMIT = 50 # Zeilen sammeln für gebündelte Sheet Updates + # --- NEU: Konfiguration für Branch-Parallelisierung --- + MAX_BRANCH_WORKERS = 10 # Wie viele Threads für parallele Bewertung? + OPENAI_CONCURRENCY_LIMIT = 5 # Max. gleichzeitige OpenAI Calls für Branch Bewertung + PROCESSING_BRANCH_BATCH_SIZE = PROCESSING_BATCH_SIZE # Nutze dieselbe Batch-Größe wie Website, oder definiere neu (z.B. 20) + API_KEYS = {} @classmethod - def load_api_keys(cls): # unverändert + def load_api_keys(cls): cls.API_KEYS['openai'] = cls._load_key_from_file(API_KEY_FILE) cls.API_KEYS['serpapi'] = cls._load_key_from_file(SERP_API_KEY_FILE) cls.API_KEYS['genderize'] = cls._load_key_from_file(GENDERIZE_API_KEY_FILE) @@ -81,7 +86,7 @@ class Config: else: debug_print("⚠️ OpenAI API Key konnte nicht geladen werden.") @staticmethod - def _load_key_from_file(filepath): # unverändert + def _load_key_from_file(filepath): try: with open(filepath, "r") as f: return f.read().strip() except Exception as e: debug_print(f"Fehler Keys aus '{filepath}': {e}"); return None