From 0da79087ef2efe46106c81d87d354968b1a67e75 Mon Sep 17 00:00:00 2001 From: mhillion Date: Tue, 18 Aug 2026 13:51:22 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20ignorer=20logs/,=20d=C3=A9pister=20mlf?= =?UTF-8?q?low.db=20et=20supprimer=20trois=20variables=20mortes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nettoyage des écarts entre la documentation et l'état réel du dépôt, repérés en reprenant le projet. - `logs/` et `checkpoints/` ajoutés au `.gitignore`. Le README affirmait qu'ils y étaient, mais c'était faux : rien n'empêchait de committer un log de benchmark, qui contient des extraits de copies d'élèves mineurs. - `mlflow.db` retiré de l'index Git. Il y figurait malgré la règle du `.gitignore` — celle-ci n'a aucun effet sur un fichier déjà suivi — et voyageait donc dans chaque clone (827 Ko). C'est un vestige d'une version antérieure où le scoring était tracé dans MLflow ; il l'est désormais dans Langfuse, MLflow ne servant plus qu'au fine-tuning HTR. Sa présence laissait croire que les résultats d'évaluation s'y trouvaient encore. Le fichier reste sur le disque, seul son suivi est supprimé. - `S3_BUCKET`, `S3_PREFIX_RAW` et `S3_PREFIX_GROUND_TRUTH` supprimées de `.env.example`, et le champ `s3_bucket` de `Secrets` : aucune n'était lue nulle part. Les chemins des données vivent dans les YAML d'expérience. - README : le dépôt compte 155 tests, pas 83. Aucun changement de comportement : ruff clean, 155 tests au vert. Co-Authored-By: Claude Sonnet 5 --- .env.example | 7 +++---- .gitignore | 11 +++++++++++ README.md | 2 +- mlflow.db | Bin 827392 -> 0 bytes src/evaluation_dictee/config.py | 1 - 5 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 mlflow.db diff --git a/.env.example b/.env.example index d389f52..164acba 100644 --- a/.env.example +++ b/.env.example @@ -9,12 +9,11 @@ AWS_SESSION_TOKEN= AWS_S3_ENDPOINT=minio.lab.sspcloud.fr AWS_DEFAULT_REGION=us-east-1 -# Bucket et préfixes du projet -S3_BUCKET=mon-bucket -S3_PREFIX_RAW=evaluation-ecrit/raw -S3_PREFIX_GROUND_TRUTH=evaluation-ecrit/ground_truth # Répertoire S3 où déposer les prédictions finies (export post-run), pour relancer # notebooks et site Quarto sans réexécuter le pipeline. Jamais dans Git. +# Les chemins des DONNÉES d'entrée (imagettes, CSV de codes experts) ne sont pas +# ici : ils vivent dans le YAML de chaque expérience (configs/scoring/*.yaml), +# pour qu'un run reste reproductible à partir de sa seule config. S3_PREDICTIONS_PREFIX=s3://projet-production-ecrits-depp/predictions # ─── Service de modèles (vLLM via llm.lab) ────────────────────── diff --git a/.gitignore b/.gitignore index 9cc388c..616e692 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,18 @@ !website/slides/img/**/*.jpg !website/img/**/*.png +# ─── Sorties de run : jamais dans Git ────────────────────────── +# Les logs de benchmark contiennent des extraits de copies (transcriptions +# d'élèves mineurs) : les versionner ferait sortir des données du SSP Cloud. +logs/ +checkpoints/ + # ─── MLflow (suivi local, ne pas versionner) ─────────────────── +# mlflow.db était suivi par Git malgré cette règle (un .gitignore n'a aucun +# effet sur un fichier déjà indexé) : il a été retiré de l'index. C'était un +# vestige d'une version antérieure du code, où le scoring était tracé dans +# MLflow ; il l'est désormais dans Langfuse, MLflow ne servant plus qu'au +# fine-tuning HTR sur GPU. mlflow.db mlruns/ mlartifacts/ diff --git a/README.md b/README.md index d2896af..776e59d 100644 --- a/README.md +++ b/README.md @@ -446,7 +446,7 @@ evaluation_dictee/ │ ├── 04_diagnostic.ipynb ← inspection copie par copie │ └── 05_analyse_transcription_htr.ipynb ← analyse HTR ├── website/ ← site Quarto (archi, résultats, métriques, fine-tuning) -├── tests/ ← 83 tests unitaires (pytest) +├── tests/ ← 155 tests unitaires (pytest) └── docs/ ← décisions, grille de codage, schéma du pipeline ``` diff --git a/mlflow.db b/mlflow.db deleted file mode 100644 index b3cccc2ef9d5b2f9a6baef43780c8a742a2fe1a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 827392 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 diff --git a/src/evaluation_dictee/config.py b/src/evaluation_dictee/config.py index b36640a..89f1afc 100644 --- a/src/evaluation_dictee/config.py +++ b/src/evaluation_dictee/config.py @@ -19,7 +19,6 @@ class Secrets(BaseSettings): aws_access_key_id: str = "" aws_secret_access_key: str = "" aws_s3_endpoint: str = "minio.lab.sspcloud.fr" - s3_bucket: str = "" # Répertoire S3 où sont déposées les prédictions finies (JAMAIS dans Git : les # transcriptions sont des données d'élèves mineurs). Sert à relancer notebooks # et site Quarto sans réexécuter le pipeline. Surchargé par S3_PREDICTIONS_PREFIX.