Spaces:
Running
Actualisation hebdomadaire de la base
La source est le dataset public
cfahlgren1/hub-stats.
Le pipeline télécharge ses configurations models et datasets, reconstruit
hors ligne une base Neo4j, crée neo4j.dump, puis publie ce dump et son fichier
database_metadata.json dans le dataset privé configuré.
Le Space continue à utiliser le dump précédent pendant toute la reconstruction.
Il ne voit la nouvelle base qu'après un redémarrage. La date affichée dans
l'interface vient de database_metadata.json; elle n'est donc mise à jour que
si la reconstruction et la publication ont réussi.
Test sans modifier la production
Le dépôt de dumps accepte une branche de test :
export HF_TOKEN=hf_...
bash database_refresh/run_weekly_refresh.sh \
--dump-revision weekly-refresh
Pour un test rapide du prétraitement :
bash database_refresh/run_weekly_refresh.sh \
--max-models 10000 \
--max-datasets 10000 \
--prepare-only
Job Hugging Face hebdomadaire
Le Job peut monter en lecture la branche du Space qui contient ce script et utiliser l'image Neo4j correspondant exactement à celle de l'application :
Le compte qui crée le Job doit avoir au minimum le rôle write dans
l'organisation CNIL. Le token utilisé par la CLI doit explicitement autoriser
Start and manage Jobs. Puisque le même token est transmis au Job avec
--secrets HF_TOKEN, il doit également pouvoir écrire dans
cnil/genmod-dump-neo4j et redémarrer le Space ciblé. L'option
--namespace cnil est indispensable pour créer et facturer le Job sous
l'organisation plutôt que sous le compte personnel.
hf jobs scheduled run "@weekly" \
--namespace cnil \
--name genmod-weekly-database-refresh \
--flavor cpu-basic \
--timeout 12h \
--no-concurrency \
--secrets HF_TOKEN \
--env NEO4J_DUMP_REPO=cnil/genmod-dump-neo4j \
--env NEO4J_DUMP_REVISION=weekly-refresh \
--env SPACES_TO_RESTART=cnil/genmod-faster \
--volume hf://spaces/cnil/genmod@refresh-hub-database:/workspace:ro \
neo4j:2025.09.0-community \
bash /workspace/database_refresh/run_weekly_refresh.sh
La révision weekly-refresh permet de valider le nouveau dump avec
genmod-faster sans remplacer le dump de production. Après validation, il
suffit de programmer le même Job avec NEO4J_DUMP_REVISION=main.
Pour la production, SPACES_TO_RESTART doit alors être remplacé par
cnil/genmod.
Les Hugging Face Jobs nécessitent un solde positif et sont facturés uniquement pendant leur exécution. Un Space CPU Basic ne constitue pas à lui seul un cron fiable : il peut être mis en veille et son disque est éphémère.