Spaces:
Sleeping
Sleeping
File size: 4,706 Bytes
0d74ab8 1d8c2e0 0d74ab8 1d8c2e0 0d74ab8 e4d3f10 1d8c2e0 0d74ab8 1d8c2e0 0d74ab8 1d8c2e0 0d74ab8 1d8c2e0 0d74ab8 1d8c2e0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
---
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](CONFIGURATION.md)** pour le guide complet.
### Configuration rapide
1. **Créer un dataset HF privé** pour stocker les annotations
2. **Configurer les secrets** dans Settings du Space :
- `APP_PASSWORD` : Mot de passe d'accès
- `HF_TOKEN` : Token avec droits d'écriture
- `HF_DATASET_REPO` : Nom du dataset de stockage
3. **Configurer les annotateurs** dans `data/annotators.json`
4. **Pousser sur HF Spaces**
📖 **Documentation complète** : [CONFIGURATION.md](CONFIGURATION.md)
## Utilisation (Annotateurs)
### Workflow
1. **Connexion** : Entrez le mot de passe fourni
2. **Identification** : Sélectionnez votre identifiant
3. **Chargement** : L'app charge automatiquement votre portion
4. **Annotation** : Scorez les feedbacks (1-5) avec commentaires
5. **Sauvegarde** : Cliquez sur "☁️ Sauvegarder sur HF" régulièrement
6. **Reprise** : Vous pouvez fermer et reprendre plus tard
### Format du dataset
```json
{
"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
```bash
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
```bash
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](https://github.com/YOUR_USERNAME/FFGen) :
1. **Préparation** : Utilisez `create_annotation_study.py` pour créer les subsets
2. **Annotation** : Utilisez cette app pour distribuer et collecter les scores
3. **Analyse** : Utilisez `analyze_agreement.py` pour calculer l'accord
4. **Fusion** : Utilisez `merge_scores.py` pour 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](CONFIGURATION.md)
- 🐛 Issues : [GitHub Issues](https://github.com/YOUR_USERNAME/feedbacks-scoring-app/issues)
- 📧 Contact : your.email@example.com
## Licence
Ce projet est open source.
|