Présentation

Jevotron est un utilitaire en ligne de commande dédié à l’évaluation d’anomalies sur des jeux de données structurés. Il accepte nativement les formats CSV, YAML, JSON, TOML, texte brut, OBO et leurs variantes compressées (gzip). L’utilisateur fournit un fichier source et, éventuellement, une consigne textuelle via l’option --guidance ; le moteur renvoie un score d’anomalie par champ ainsi qu’une file d’attente de révision. Le processus repose sur l’API TypeSafe, accessible après export d’une clé d’accès dans la variable d’environnement TYPESAFE_API_KEY. Une fonction preview permet d’inspecter les requêtes sans consommer de quota API.

Architecture et flux de travail

Le CLI agit comme orchestrateur : il segmente le fichier en « chunks », identifie les chemins de champs, puis interroge le service TypeSafe pour chaque segment. Les réponses sont stockées dans une base SQLite locale, ce qui rend possible la reprise d’une exécution interrompue ; les entrées non modifiées ne sont pas ré‑analysées, ce qui réduit le nombre d’appels API. Le stockage SQLite s’accompagne d’une option DuckDB pour les traitements volumineux, offrant une exécution en mémoire plus rapide. Le flux typique comprend trois étapes : preview (inspection), scan (détection) et review (tri et export). Le score d’avertissement correspond à la probabilité d’anomalie la plus élevée parmi les champs d’une entrée, et l’utilisateur définit le seuil de déclenchement.

jevotron scan airports.csv --guidance "Check airport locations."

Cette commande illustre le modèle : le fichier airports.csv est analysé, la consigne guide le modèle LLM sur le type d’anomalie attendu, et les résultats sont enregistrés dans SQLite. L’utilisateur peut ensuite trier les entrées suspectes, exporter le tableau au format CSV ou le transmettre à un pipeline shell via JSONL.

Performances et limites

Dans l’exemple « Agent traces », un sous‑échantillon de 24 traces publiques a été évalué : le système a correctement associé 130 des 163 étiquettes de qualité de pas (79,8 % de correspondance). La précision sur les pas jugés nuisibles était de 89,7 % avec un rappel de 70,3 %. Ces chiffres indiquent que le modèle excelle à identifier les anomalies les plus évidentes, mais qu’il peut manquer des cas plus subtils, notamment lorsque les données sont fortement hétérogènes ou que les consignes sont peu précises.

Le principal facteur de limitation provient de la dépendance à l’API TypeSafe : la latence réseau et le quota d’appels influencent directement le temps de traitement. De plus, la qualité des scores dépend de la pertinence de la consigne fournie ; une guidance vague peut entraîner des faux positifs. Enfin, le stockage SQLite, bien que robuste pour des jeux de données modestes, peut devenir un goulot d’étranglement pour des millions d’enregistrements, où une solution de base de données distribuée serait préférable.

Intégration et extensibilité

Jevotron propose une configuration Python locale, permettant d’ajouter des parseurs personnalisés ou de réutiliser des paramètres de projet. Cette extensibilité facilite l’intégration dans des pipelines CI/CD ou des workflows de data‑science, notamment via les redirections de flux standard (|) vers d’autres outils de traitement. Le support natif de formats variés et la capacité à reprendre des analyses interrompues font de l’outil un composant adaptable aux environnements de recherche et aux processus de nettoyage de données automatisés.