Completed the GTM engine setup:\n\n- Implemented 'Dual Opener' generation (Primary/Secondary) in ClassificationService.\n- Migrated DB to support two opener fields.\n- Updated API and Frontend to handle and display both openers.\n- Fixed bug creating duplicate website_scrape entries.\n- Hardened metric extraction by improving the LLM prompt and adding content length checks.
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import sys
|
|
import os
|
|
import logging
|
|
|
|
# Add backend path
|
|
sys.path.append(os.path.join(os.path.dirname(__file__), "../../"))
|
|
|
|
# Mock logging
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
# Import Service
|
|
from backend.services.classification import ClassificationService
|
|
|
|
def test_opener_generation():
|
|
service = ClassificationService()
|
|
|
|
print("\n--- TEST: Therme Erding (Primary Focus: Hygiene) ---")
|
|
op_prim = service._generate_marketing_opener(
|
|
company_name="Therme Erding",
|
|
website_text="Größte Therme der Welt, 35 Saunen, Rutschenparadies Galaxy, Wellenbad. Täglich tausende Besucher.",
|
|
industry_name="Leisure - Wet & Spa",
|
|
industry_pains="Rutschgefahr und Hygiene",
|
|
focus_mode="primary"
|
|
)
|
|
print(f"Primary Opener: {op_prim}")
|
|
|
|
print("\n--- TEST: Dachser Logistik (Secondary Focus: Process) ---")
|
|
op_sec = service._generate_marketing_opener(
|
|
company_name="Dachser SE",
|
|
website_text="Globaler Logistikdienstleister, Warehousing, Food Logistics, Air & Sea Logistics. Intelligent Logistics.",
|
|
industry_name="Logistics - Warehouse",
|
|
industry_pains="Effizienz und Sicherheit",
|
|
focus_mode="secondary"
|
|
)
|
|
print(f"Secondary Opener: {op_sec}")
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
test_opener_generation()
|
|
except Exception as e:
|
|
print(f"Test Failed (likely due to missing env/deps): {e}")
|