contact_grouping.py aktualisiert
- Detailliertere Log-Ausgaben während des gesamten Prozesses für eine bessere Nachvollziehbarkeit. - Loggt die Anzahl der Zeilen direkt nach dem erfolgreichen Laden aus dem Google Sheet. - Fügt explizite Start- und End-Meldungen für die regel-basierte Zuordnung (Stufe 1 & 2) hinzu. - Loggt die genaue Anzahl der 'Undefined'-Fälle, die an die KI zur Klassifizierung gesendet werden. - Gibt eine klare Meldung aus, wenn keine KI-Anfrage nötig ist, weil alle Fälle durch Regeln gelöst wurden. - Verbessert die allgemeine Klarheit der Log-Nachrichten, um die Analyse von Laufzeitverhalten und potenziellen Fehlern zu erleichtern. - Bugfix: Behebt einen kritischen APIError [400] 'Invalid list_value', der beim Zurückschreiben der Daten in das Google Sheet auftrat. - Die Funktion `_find_best_match` gab in manchen Fällen fälschlicherweise eine Liste anstelle eines einzelnen Strings als Department zurück. - Die Rückgabewerte der Funktion wurden korrigiert, um sicherzustellen, dass immer ein String übergeben wird. - Dies stellt die Kompatibilität mit der Google Sheets API wieder her und macht den Schreibvorgang robust.
This commit is contained in:
@@ -96,12 +96,14 @@ class ContactGrouper:
|
||||
top_departments = [dept for dept, score in scores.items() if score == max_score]
|
||||
|
||||
if len(top_departments) == 1:
|
||||
winner = top_departments
|
||||
# KORREKTUR: Hier wurde vorher die ganze Liste zurückgegeben. Jetzt wird das erste Element extrahiert.
|
||||
winner = top_departments[0]
|
||||
self.logger.debug(f"'{job_title}' -> '{winner}' (Stufe 2: Keyword Match, Score {max_score})")
|
||||
return winner
|
||||
|
||||
best_priority = float('inf')
|
||||
winner = top_departments
|
||||
# KORREKTUR: Fallback-Gewinner ist jetzt ebenfalls ein String, kein Liste.
|
||||
winner = top_departments[0]
|
||||
for department in top_departments:
|
||||
priority = self.keyword_rules[department].get("priority", 99)
|
||||
if priority < best_priority:
|
||||
|
||||
Reference in New Issue
Block a user