- Changes the model ID from the generic 'gemini-1.5-flash' to the specific 'gemini-1.5-flash-001'.
- This resolves the '404 NOT_FOUND' error where the API could not locate the generic model alias in the v1beta API version.
- Rewrites and in helpers.py to use the new and syntax.
- Removes the deprecated calls which were causing AttributeError.
- Updates parameter handling to use .
- This change ensures full compatibility with the library version 1.0+.
- Reverts docker-compose.yml to use volume mount for gemini_api_key.txt, due to format constraints.
- Restores and refines Config.load_api_keys() in config.py.
- **Crucially, calls Config.load_api_keys() at the start of gtm_architect_orchestrator.py to ensure keys are loaded.**
- Adjusts _get_gemini_api_key in helpers.py to prioritize keys from Config.API_KEYS.
- This definitively addresses the 'API Key missing' error by guaranteeing key initialization.
- Modifies docker-compose.yml to use for injecting the Gemini API key, which is more robust than volume mounting.
- Updates helpers.py to prioritize reading the API key from the environment variable.
- Removes the now-redundant file-based key loading logic from config.py and the Dockerfile.
- This change completely bypasses the problematic file system interactions within the container, providing a definitive fix for the 'API Key missing' error.
- Adds a version and timestamp to the orchestrator's startup logs to verify code deployment.
- Introduces extensive debug logging in config.py and helpers.py to trace the API key loading process, including exact file paths and environment variable checks. This will help diagnose the persistent 'API Key missing' error.
- Updates requirements.txt to use the new 'google-genai' package.
- Updates import statements and error messages in helpers.py to use the new library.
- Ensures the gemini_api_key.txt is copied into the Docker container to resolve API key errors.
- Refactors the gtm-architect Dockerfile for a flat, more efficient build process.
- Implements robust web scraping via BeautifulSoup in helpers.py for URL analysis in phase1.
- Makes shared library imports (gspread, pandas, etc.) in helpers.py optional to prevent ModuleNotFoundErrors in microservices.
- Implements the main execution logic in the orchestrator to handle command-line arguments.
- Updates documentation to reflect the new architecture, scraping feature, and dependency handling.
- Refactor Docker build process for gtm-app to ensure reliability
- Correct volume mounts and build context in docker-compose.yml to prevent stale code
- Fix frontend 404 error by using relative paths in index.html
- Ensure API key is correctly mounted into the container
- Stabilize Node.js to Python data passing via explicit --data argument
- Update gtm_architect_documentation.md with extensive troubleshooting guide
- Ersetzt starre Namensprüfung durch flexible Token-basierte Validierung
- Erhöht die Trefferquote für Firmennamen, die nicht exakt im Suchergebnis erscheinen
- Löst das Problem, dass für bekannte Firmen wie 'Rohde & Schwarz' keine Website gefunden wurde
- Einführung von __version__ Attributen in allen Kernmodulen (data_processor, helpers etc.).
- Erstellung einer zentralen Funktion log_module_versions in helpers.py.
- Integration des Version-Loggings beim Start des Hauptskripts für volle Nachvollziehbarkeit.
- Zentralisierung kritischer Hilfsfunktionen in helpers.py (get_col_idx, _get_col_letter).
- Bereinigung der helpers.py durch Entfernen der doppelten alignment_demo-Funktion.
- Anpassung des GoogleSheetHandler, um die zentralen Helper zu nutzen.
- Erstellung einer Test-Suite (test_core_functionality.py) zur Absicherung der Kernlogik.
- FEATURE: Brancheneinstufung erfolgt nun in Batches (z.B. 20 Unternehmen pro API-Call), um die Token-Kosten drastisch zu senken.
- REFACTOR: Neue Funktion `evaluate_branches_batch` in `helpers.py` erstellt, die den komplexen Batch-Prompt generiert.
- REFACTOR: `reclassify_all_branches` in `data_processor.py` überarbeitet, um die Batch-Verarbeitung und das Ergebnis-Mapping zu steuern.
- FEATURE: Brancheneinstufung 2.0 implementiert; nutzt nun die reichhaltigen Definitionen und Beispiele aus `config.py` für ein hochpräzises, kontextuelles Matching.
- REFACTOR: `evaluate_branche_chatgpt` in `helpers.py` komplett neugeschrieben; gibt nun eine detaillierte Begründung für die Zuordnung zurück.
- FEATURE: Neuer Batch-Modus `reclassify_branches` in `data_processor.py` hinzugefügt, um eine vollständige Neubewertung aller Accounts zu ermöglichen.
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet, um der KI maximale stilistische Freiheit für eine elegante, partnerschaftliche Tonalität zu geben.
- FIX: Die "FEHLER_DATEN"-Regel wurde entfernt, um sicherzustellen, dass für jedes Unternehmen ein Pitch generiert wird, auch bei dünnerer Datenlage.
- Die generierten Pitches sind nun optimal für die direkte Verwendung in der Marketing-Automation, mit einer hohen Erfolgsquote und exzellenter Tonalität.
- FEATURE: Techniker-Buckets werden nun in `data_processor.py` in natürlichsprachliche Phrasen ("eine große Serviceorganisation") übersetzt, was die Prompt-Qualität verbessert.
- REFACTOR: Der FSM-Pitch-Prompt in `helpers.py` wurde final poliert, um eine positivere, partnerschaftlichere Tonalität zu fördern und die Eignung als "Door Opener" zu maximieren.
- Dies stellt den finalen Stand des FSM-Pitch-Moduls dar, optimiert für den Einsatz in der Marketing-Automation.
- REVERT & FINALIZE: Der FSM-Pitch-Prompt wurde auf den bewährten "Chain of Thought"-Master-Prompt zurückgesetzt, der die qualitativ besten Ergebnisse liefert.
- FIX: Die Datenaufbereitung und die Anweisung zur Verwendung des Kurznamens wurden integriert, um die Zuverlässigkeit zu maximieren.
- Dies ist die finale, produktionsreife Version des FSM-Pitch-Moduls.
- REVERT & FINALIZE: Der FSM-Pitch-Prompt wurde auf die bewährte "Chain of Thought"-Version zurückgesetzt, die die qualitativ besten Ergebnisse liefert.
- FIX: Die Datenaufbereitung und die Anweisung zur Verwendung des Kurznamens wurden integriert, um die Zuverlässigkeit zu maximieren.
- Dies ist die finale, produktionsreife Version des FSM-Pitch-Moduls.
- REVERT: Zurück zur bewährten, ursprünglichen FSM-Pitch-Prompt-Logik, die die besten Ergebnisse in Tonalität und Spezifität geliefert hat.
- FIX: Die Datenaufbereitung wurde an die neue, strukturierte Website-Zusammenfassung angepasst, um eine saubere Input-Qualität für die KI sicherzustellen.
- Das FSM-Pitch-Modul ist nun finalisiert und liefert qualitativ hochwertige, für die Marketing-Automation geeignete Ergebnisse.
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet und nutzt nun einen "Few-Shot"-Ansatz mit exzellenten Beispielen, um Tonalität und Qualität drastisch zu verbessern.
- FIX: Die KI wird explizit angewiesen, den bereitgestellten Kurznamen zu verwenden, um Fehler bei der Firmierung zu vermeiden.
- Die generierten Pitches sind nun strategisch, aktiv formuliert und direkt für die Marketing-Automation geeignet.
- FEATURE: Der FSM-Pitch-Prompt wurde grundlegend überarbeitet und implementiert nun einen "Chain of Thought"-Ansatz für drastisch verbesserte Ergebnisse.
- Die KI analysiert nun schrittweise das Geschäftsmodell und die Service-Art, bevor sie einen strategischen, positiv formulierten Pitch generiert.
- Das Ergebnis ist nun eine Kombination aus interner Analyse und einem für die Marketing-Automation optimierten Ausgabesatz.
- REFACTOR: Der FSM-Pitch-Prompt wurde final optimiert. Er kombiniert nun die strategische "Pain Point"-Analyse mit einer positiven, beobachtenden Tonalität für die E-Mail-Ansprache.
- Die KI fokussiert sich auf die Implikationen von Service-Prozessen (z.B. Uptime, Qualität), ohne das Unternehmen direkt zu kritisieren.
- Dies stellt den finalen, qualitativ hochwertigsten Stand für die automatische Pitch-Generierung dar.
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet, um eine positive, lösungsorientierte Tonalität für die direkte Kundenansprache zu gewährleisten.
- FIX: Die "FEHLER_DATEN"-Regel wurde gelockert, um die Erfolgsquote bei der Pitch-Generierung auch bei dünnerer Datenlage zu erhöhen.
- Die generierten Pitches sind nun strategisch fundiert UND für die Marketing-Automation geeignet.
- FIX: Die `generate_fsm_pitch`-Funktion in `helpers.py` extrahiert nun korrekt nur den reinen Beschreibungstext aus der Website-Analyse.
- Dies verhindert, dass die KI durch Meta-Informationen (wie "FSM-POTENZIAL") im Prompt verwirrt wird, und verbessert die Qualität der generierten Pitches.
Rolle geschärft: Von "Texter" zu "Lösungsberater", der "Pain Points" findet.
Aufgabe präzisiert: Von "Herausforderung beschreiben" zu "Schmerzpunkt adressieren".
Denkprozess explizit gemacht: Wir geben der KI klare, regelbasierte Anweisungen, wie sie von der Tätigkeit zum geschäftlichen Problem kommen soll.
Ihre Struktur bleibt erhalten: Der Rest Ihrer Funktion (call_openai_chat, Fehlerbehandlung etc.) bleibt exakt gleich. Wir tauschen nur das "Gehirn" (den Prompt) aus.
Modell-Empfehlung: Ich belasse in Ihrem call_openai_chat-Aufruf model="gpt-4o". Für diese strategische Aufgabe liefert dieses Modell signifikant bessere Ergebnisse als gpt-3.5-turbo oder gpt-4o-mini.
- REFACTOR: Prompt für Website-Zusammenfassung in `helpers.py` optimiert, um eine ausgewogene Analyse von Geschäftsmodell und Service-Potenzial zu liefern.
- Die KI fasst nun zuerst die Kerntätigkeit des Unternehmens zusammen und bewertet danach gezielt die Relevanz des technischen Außendienstes.
- Das Ergebnis ist nun eine umfassendere und strategisch wertvollere Analyse für die Lead-Qualifizierung.