Docs: Add documentation for build_knowledge_base.py
- Beschreibt die Hauptfunktion und den Zweck des Moduls. - Dokumentiert die wichtigsten öffentlichen Methoden.
This commit is contained in:
21
readme.md
21
readme.md
@@ -453,3 +453,24 @@ Das Modul `generate_marketing_text.py` ist eine spezialisierte Engine zur automa
|
|||||||
4. **Überspringen-Logik:** Prüft für jede Kombination, ob sie bereits im Google Sheet vorhanden ist. Wenn ja, wird sie übersprungen.
|
4. **Überspringen-Logik:** Prüft für jede Kombination, ob sie bereits im Google Sheet vorhanden ist. Wenn ja, wird sie übersprungen.
|
||||||
5. **Text-Generierung:** Für neue Kombinationen wird der `build_prompt` aufgerufen, um den Prompt zu erstellen, und `call_openai_with_retry`, um die Textbausteine (Betreff, Einleitung, Referenz-Block) als JSON-Objekt zu generieren.
|
5. **Text-Generierung:** Für neue Kombinationen wird der `build_prompt` aufgerufen, um den Prompt zu erstellen, und `call_openai_with_retry`, um die Textbausteine (Betreff, Einleitung, Referenz-Block) als JSON-Objekt zu generieren.
|
||||||
6. **Ergebnisse anhängen:** Alle neu generierten Texte werden gesammelt und am Ende des Prozesses in einem einzigen Batch-Aufruf an das Google Sheet angehängt, um die Anzahl der API-Aufrufe an Google zu minimieren.
|
6. **Ergebnisse anhängen:** Alle neu generierten Texte werden gesammelt und am Ende des Prozesses in einem einzigen Batch-Aufruf an das Google Sheet angehängt, um die Anzahl der API-Aufrufe an Google zu minimieren.
|
||||||
|
## build_knowledge_base.py
|
||||||
|
|
||||||
|
### Hauptfunktion
|
||||||
|
|
||||||
|
Das Modul `build_knowledge_base.py` ist dafür verantwortlich, eine umfassende Wissensbasis für die Marketing-Text-Generierung zu erstellen. Es nutzt die in `config.py` definierten Brancheninformationen, um mittels KI für jede Branche ein detailliertes Dossier zu erstellen. Aus diesem Dossier werden dann strukturierte Daten wie eine Zusammenfassung, operative "Pain Points" und branchenspezifische Schlüsselbegriffe extrahiert. Das Endergebnis ist eine einzelne YAML-Datei (`marketing_wissen_final.yaml`), die als "Single Source of Truth" für die Textgenerierung dient.
|
||||||
|
|
||||||
|
### Methodenbeschreibung
|
||||||
|
|
||||||
|
- `call_openai_with_retry(prompt, is_extraction=False, ...)`: Eine Wrapper-Funktion für OpenAI-API-Aufrufe, die eine Wiederholungslogik für den Fall von Fehlern implementiert. Sie kann sowohl für die Generierung von Freitext als auch für die Extraktion von strukturierten JSON-Daten konfiguriert werden.
|
||||||
|
|
||||||
|
- `generate_research_prompt(branch_name, branch_info)`: Erstellt einen Prompt für die KI, um ein detailliertes Branchen-Dossier zu generieren. Der Prompt wird mit Kontext aus der `config.py` angereichert, einschließlich der Branchendefinition und Beispielunternehmen, um eine hohe Relevanz sicherzustellen.
|
||||||
|
|
||||||
|
- `generate_extraction_prompt(dossier_content)`: Erstellt einen zweiten Prompt, der die KI anweist, aus dem zuvor generierten Dossier-Text strukturierte Informationen zu extrahieren. Der Fokus liegt hierbei auf operativen "Pain Points", die für den Außendienst relevant sind.
|
||||||
|
|
||||||
|
- `main(branches_to_process=None)`: Die Hauptfunktion, die den gesamten Prozess orchestriert:
|
||||||
|
1. **Initialisierung:** Lädt die API-Schlüssel und bereitet die Grundstruktur der Wissensbasis vor, einschließlich vordefinierter "Pain Points" für verschiedene Ansprechpartner-Positionen.
|
||||||
|
2. **Branchen-Selektion:** Verarbeitet entweder alle in `config.py` definierten Branchen oder eine spezifische Auswahl, die über Kommandozeilen-Argumente übergeben wird.
|
||||||
|
3. **Dossier-Generierung:** Für jede ausgewählte Branche wird `generate_research_prompt` aufgerufen und ein Dossier von der KI erstellt. Dieses wird zur Nachvollziehbarkeit als Textdatei im `industries`-Ordner gespeichert.
|
||||||
|
4. **Daten-Extraktion:** Das generierte Dossier wird verwendet, um mit `generate_extraction_prompt` die strukturierten Daten (Zusammenfassung, Pain Points, Schlüsselbegriffe) zu extrahieren.
|
||||||
|
5. **Zusammenführung:** Die extrahierten Daten werden zusammen mit den Referenzkunden aus der `config.py` in die Wissensbasis-Struktur eingefügt.
|
||||||
|
6. **Speichern:** Die vollständige, angereicherte Wissensbasis wird am Ende des Prozesses in die finale YAML-Datei (`marketing_wissen_final.yaml`) geschrieben.
|
||||||
Reference in New Issue
Block a user