Skip to content

Repository files navigation

AI-SQL Audit

English · Español · Français

Un banc de contrôle local et open source pour les décisions binaires produites par une requête AI-SQL. Il compare les identifiants retenus par un filtre à des exemples annotés, sépare les résultats par jeu et par langue, crée une liste de revue et montre les changements entre deux versions.

Le premier exemple porte sur la contestation de frais dans des réclamations clients. Ses 21 messages FR/EN/ES et ses deux jeux de prédictions sont entièrement synthétiques. Les fichiers positive-ids-v1.csv et positive-ids-v2.csv sont des fixtures manuelles : ils ne sont pas des résultats mesurés de Quail ou de Jev.

Essayer sans GPU

Python 3.11+ suffit pour le cœur de l'outil. Aucune clé ni service externe n'est requis.

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e .

ai-sql-audit evaluate --corpus examples/support/corpus.csv --labels examples/support/labels.csv --positive-ids examples/support/positive-ids-v1.csv --query examples/support/query-v1.sql --engine synthetic-fixture --name v1 --out output/v1 --lang fr
ai-sql-audit evaluate --corpus examples/support/corpus.csv --labels examples/support/labels.csv --positive-ids examples/support/positive-ids-v2.csv --query examples/support/query-v2.sql --engine synthetic-fixture --name v2 --out output/v2 --lang fr
ai-sql-audit compare --baseline output/v1/run.json --candidate output/v2/run.json --out output/comparison --lang fr

Ouvrir output/v1/report.html et output/comparison/report.html. Chaque évaluation crée aussi run.json et review.csv. Les métriques de l'exemple passent de 6 VP / 3 FP / 3 FN à 8 VP / 1 FP / 1 FN, mais la comparaison montre aussi une régression sur fr1. Ces nombres illustrent l'outil ; ils ne constituent pas une mesure de qualité d'un modèle.

Évaluer une vraie requête

Le contrat d'entrée est volontairement simple :

Fichier Colonnes requises Sens
Corpus CSV id,language,text Toutes les lignes candidates, avec ID unique.
Annotations CSV id,label,split Sous-ensemble annoté ; label vaut true ou false.
Résultats CSV id IDs renvoyés par la requête ; les autres IDs du corpus sont considérés comme négatifs.
Requête SQL texte SQL Conservée dans le rapport avec son empreinte SHA-256.

Exécuter la requête dans votre moteur, exporter les IDs retenus, puis appeler evaluate. Quail est proposé comme adaptateur optionnel : avec Python 3.12, pyarrow, quail-engine et un GPU CUDA compatible, ai-sql-audit run-quail --corpus ... --query ... --model qwen3-4b-fp8 --device h100-sxm --out output/positive-ids.csv exécute le SQL et écrit les IDs. Ajouter --endpoint pour un serveur Quail. L'adaptateur utilise l'API documentée de Quail ; il n'a pas été exécuté sur GPU dans ce dépôt. La requête doit retourner une seule colonne id et lire la table complaints (id, text, language). Quail requiert actuellement un GPU CUDA ; QUAIL-B mesure aussi vitesse et exactitude des moteurs à une autre échelle.

Une annotation absente reste inconnue : elle ne compte jamais comme correcte. La précision et le rappel sont calculés seulement sur les lignes annotées ; dev et holdout sont rapportés séparément. Un petit jeu synthétique ne permet pas d'estimer la qualité en production. Le rapport contient le texte source pour permettre la revue ; il reste sur disque et output/ est ignoré par Git. Le CSV de revue protège les cellules commençant par une formule lors de leur ouverture dans un tableur.

Périmètre et suite

Cette version évalue AI.IF / AI_FILTER en binaire. Elle ne génère pas de SQL, ne prétend pas certifier une requête et ne gère pas encore les jointures ou les classifications multiclasse. Un prolongement utile serait une boucle de revue humaine sur des échantillons, puis un adaptateur de résultats pour d'autres moteurs. Cela rejoint la question ouverte de Quail sur la revue interactive ; toute contribution amont doit être coordonnée avec ses mainteneurs.

python -m unittest discover -s tests -v vérifie les métriques, la régression, les entrées invalides, l'échappement HTML et les trois langues. Licence MIT. Voir Contribuer et Sécurité.

About

Audit local des requêtes AI-SQL · Local AI-SQL query audit · Auditoría local de consultas AI-SQL

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages