Comparison Processor
Le ComparisonProcessor
est la dernière étape du pipeline de traitement. Sa fonction est de valider la qualité de l’extraction LLM en comparant les horaires obtenus avec ceux de la source de données de référence (data.grandlyon.com).
Fonctionnalités
Comparaison d’Horaires : Utilise l’utilitaire
HorairesComparator
pour effectuer une comparaison sémantique entre deux objets JSON représentant des horaires : celui extrait par le LLM et celui provenant de la source de référence.Traitement Global : Récupère tous les enregistrements de la base de données qui ont une extraction LLM valide mais qui n’ont pas encore été comparés, indépendamment de leur exécution d’origine. Cela permet de rattraper les comparaisons qui auraient pu échouer lors d’exécutions précédentes.
- Gestion des RésultatsMet à jour la base de données avec le résultat de la comparaison :
True
si les horaires sont identiques.False
si des différences sont détectées, avec une description des écarts.None
si la comparaison n’a pas pu être effectuée (ex: données de référence manquantes).
Usage
Ce processeur s’exécute à la fin du pipeline. Ses résultats sont essentiels pour le rapport final, car ils permettent de quantifier la fiabilité des extractions et d’identifier les changements d’horaires.
Modules
Processeur pour les comparaisons d’horaires.
- class src.smart_watch.processing.comparison_processor.ComparisonProcessor(config: ConfigManager, logger)[source]
Bases :
object
Processeur pour les comparaisons d’horaires.
- __init__(config: ConfigManager, logger)[source]
- _compare_single(comparator, resultat, lieu) Dict [source]
Compare un seul enregistrement et retourne les résultats structurés.
- process_comparisons(db_processor: DatabaseProcessor)[source]
Compare les horaires extraits avec les références.
- Paramètres:
db_processor (DatabaseProcessor) – Processeur de base de données