Spaces:
Sleeping
Sleeping
metadata
title: Feedback Scoring App
emoji: 🔐
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
tags:
- streamlit
- annotation
- feedback
- secure
pinned: false
short_description: Secure code feedback annotation with multi-annotator support
Feedback Scoring Tool - Production Version
Application Streamlit sécurisée pour l'annotation et le scoring de feedbacks de code par plusieurs annotateurs. Version prête pour le déploiement en production avec authentification, dispatch et persistance cloud.
Fonctionnalités
Annotation
- 📊 Interface de scoring intuitive : Notation de 1 à 5 pour chaque feedback
- 📈 Statistiques en temps réel : Suivi de votre progression et distribution des scores
- 💬 Commentaires : Ajoutez des notes sur chaque annotation
- 📥 Import flexible : Support des fichiers JSONL locaux et datasets HuggingFace
Sécurité et Collaboration
- 🔐 Authentification : Accès protégé par mot de passe
- 👥 Multi-annotateurs : Système de dispatch automatique par portion
- 🎯 Isolation : Chaque annotateur ne voit que sa portion du dataset
- 📋 Traçabilité : Toutes les annotations sont identifiées par annotateur
Persistance
- ☁️ Sauvegarde cloud : Stockage permanent sur HuggingFace Dataset privé
- 💾 Auto-sauvegarde : Progression sauvegardée automatiquement en local
- 🔄 Reprise de session : Continuez où vous en étiez, même après redémarrage
- 📤 Export JSONL : Téléchargez vos annotations à tout moment
Configuration pour Production
Cette application nécessite une configuration avant déploiement. Voir CONFIGURATION.md pour le guide complet.
Configuration rapide
- Créer un dataset HF privé pour stocker les annotations
- Configurer les secrets dans Settings du Space :
APP_PASSWORD: Mot de passe d'accèsHF_TOKEN: Token avec droits d'écritureHF_DATASET_REPO: Nom du dataset de stockage
- Configurer les annotateurs dans
data/annotators.json - Pousser sur HF Spaces
📖 Documentation complète : CONFIGURATION.md
Utilisation (Annotateurs)
Workflow
- Connexion : Entrez le mot de passe fourni
- Identification : Sélectionnez votre identifiant
- Chargement : L'app charge automatiquement votre portion
- Annotation : Scorez les feedbacks (1-5) avec commentaires
- Sauvegarde : Cliquez sur "☁️ Sauvegarder sur HF" régulièrement
- Reprise : Vous pouvez fermer et reprendre plus tard
Format du dataset
{
"anchor": "code source",
"positive": "feedback positif",
"language": "python"
}
Architecture
backend/
├── auth.py # Authentification
├── annotator_config.py # Configuration annotateurs
├── hf_storage.py # Sauvegarde HuggingFace
├── data_loader.py # Chargement datasets
├── persistence.py # Sauvegarde locale
├── export.py # Export JSONL
└── statistics.py # Métriques
frontend/
├── components.py # Composants UI
├── styles.py # Styles CSS
└── help_page.py # Page d'aide
data/
├── annotators.json # Config annotateurs
└── [sessions locales] # Sauvegardes temporaires
Développement
Local
pip install -r requirements.txt
# Définir les variables d'environnement
export APP_PASSWORD="dev"
export HF_TOKEN="hf_xxxxx"
export HF_DATASET_REPO="username/annotations"
streamlit run app.py
Docker
docker build -t feedback-scoring-app .
docker run -p 7860:7860 \
-e APP_PASSWORD="dev" \
-e HF_TOKEN="hf_xxxxx" \
-e HF_DATASET_REPO="username/annotations" \
feedback-scoring-app
Intégration avec FFGen
Cette application s'intègre avec le pipeline FFGen :
- Préparation : Utilisez
create_annotation_study.pypour créer les subsets - Annotation : Utilisez cette app pour distribuer et collecter les scores
- Analyse : Utilisez
analyze_agreement.pypour calculer l'accord - Fusion : Utilisez
merge_scores.pypour créer le dataset final
Sécurité
- ✅ Authentification par mot de passe
- ✅ Dataset de stockage privé
- ✅ Isolation des annotateurs
- ✅ Traçabilité complète
- ✅ Pas de données sensibles en clair dans le code
Support
- 📖 Documentation : CONFIGURATION.md
- 🐛 Issues : GitHub Issues
- 📧 Contact : your.email@example.com
Licence
Ce projet est open source.