Docs: Add documentation for generate_knowledge_base.py

- Beschreibt die Hauptfunktion und den Zweck des Moduls.

- Dokumentiert die wichtigsten öffentlichen Methoden.
This commit is contained in:
2025-11-07 16:00:13 +01:00
parent 2dda388874
commit 269fc7b1e7

View File

@@ -156,7 +156,7 @@ Die Klasse `DataProcessor` ist das Herzstück der Anreicherungslogik und enthäl
- **Output:** Aktualisiert die Spalten zur KI-basierten Brancheneinstufung ("Chat Vorschlag Branche", Konfidenz, Begründung etc.) im Google Sheet.
### `process_wiki_verify(...)`
- **Zweck:** Verifiziert in einem Batch-Prozess, ob der in einer Zeile hinterlegter Wikipedia-Artikel thematisch zum Unternehmen passt. Nutzt KI, um die Konsistenz zu prüfen und ggf. einen passenderen Artikel vorzuschlagen.
- **Zweck:** Verifiziert in einem Batch-Prozess, ob der in einer Zeile hinterlegte Wikipedia-Artikel thematisch zum Unternehmen passt. Nutzt KI, um die Konsistenz zu prüfen und ggf. einen passenderen Artikel vorzuschlagen.
- **Input:** `start_sheet_row`, `end_sheet_row`, `limit`. Verarbeitet Zeilen, die eine Wiki-URL, aber noch keinen Verifizierungs-Timestamp haben.
- **Output:** Schreibt das Ergebnis der KI-Prüfung (OK, X), eine Begründung und ggf. einen Alternativvorschlag in die entsprechenden Spalten im Google Sheet.
@@ -517,4 +517,28 @@ Das Modul `extract_insights.py` ist ein Werkzeug zur automatisierten Erstellung
3. **Text-Extraktion:** Liest den Inhalt jedes Dokuments mit `read_docx_content`.
4. **Iterative KI-Extraktion:** Führt für jedes Dokument drei separate KI-Aufrufe durch (einen für "Pain Points", einen für "Key Terms" und einen für "Summary"), um die Genauigkeit zu erhöhen.
5. **Daten-Aggregation:** Sammelt die extrahierten und geparsten YAML-Daten für jede Branche in einer zentralen `knowledge_base`-Struktur.
6. **Speichern:** Schreibt die finale, aggregierte Wissensbasis in die `marketing_wissen_v1.yaml`-Datei.
6. **Speichern:** Schreibt die finale, aggregierte Wissensbasis in die `marketing_wissen_v1.yaml`-Datei.
## generate_knowledge_base.py
### Hauptfunktion
Das Modul `generate_knowledge_base.py` ist ein KI-gestütztes Skript zur Erstellung eines ersten Entwurfs für eine Marketing-Wissensbasis (`marketing_wissen_entwurf.yaml`). Es generiert zwei Kernbestandteile:
1. **Branchen-Pain-Points:** Für eine vordefinierte Liste von Fokusbranchen werden die spezifischen operativen Herausforderungen im Außendienst identifiziert.
2. **Positions-Fokus:** Für eine Liste von typischen Ansprechpartner-Positionen wird deren jeweiliger strategischer Fokus in Bezug auf Serviceprozesse formuliert.
Das Skript nutzt spezialisierte Prompts, um die KI in die Rolle eines Branchenexperten oder Vertriebs-Coaches zu versetzen und so qualitativ hochwertige, relevante Inhalte zu generieren. Das Ergebnis dient als Grundlage, die manuell überprüft und verfeinert werden kann.
### Methodenbeschreibung
- `call_openai_with_retry(prompt, ...)`: Eine Standard-Wrapper-Funktion für OpenAI-API-Aufrufe mit integrierter Wiederholungslogik, um die Stabilität bei Netzwerk- oder API-Problemen zu gewährleisten.
- `generate_pain_points_prompt(branch_name)`: Erstellt einen detaillierten Prompt, der die KI anweist, sich in die Rolle eines Top-Strategieberaters zu versetzen. Der Prompt enthält einen "Chain of Thought"-Abschnitt, der die KI anleitet, über typische Aufgaben und Probleme im Außendienst der jeweiligen Branche nachzudenken, bevor sie die finalen "Pain Points" formuliert. Das Ausgabeformat wird strikt als YAML-Liste vorgegeben.
- `generate_position_focus_prompt(position_name)`: Erstellt einen Prompt, der die KI als erfahrenen B2B-Vertriebs-Coach positioniert. Die Aufgabe ist es, einen einzigen, prägnanten Satz zu formulieren, der den Hauptfokus einer bestimmten Ansprechpartner-Rolle (z.B. CFO, IT-Leiter) zusammenfasst.
- `main()`: Die Hauptfunktion, die den gesamten Generierungsprozess steuert:
1. **Initialisierung:** Lädt die API-Schlüssel und definiert die zu bearbeitenden Fokusbranchen und Positionen.
2. **Branchen-Verarbeitung:** Iteriert durch die Liste der `FOKUS_BRANCHEN`, ruft für jede Branche `generate_pain_points_prompt` auf und sendet den Prompt an die KI. Die Antwort wird geparst und in der `knowledge_base`-Struktur gespeichert.
3. **Positions-Verarbeitung:** Iteriert durch die Liste der `POSITIONEN`, generiert mit `generate_position_focus_prompt` den entsprechenden Prompt und lässt die KI den Fokus-Satz formulieren.
4. **Speichern:** Schreibt die gesammelten Daten in die Zieldatei `marketing_wissen_entwurf.yaml`, die als Arbeitsgrundlage für die finale Wissensbasis dient.