Skip to content

Tableau de bord d'administration

Suivez l'avancement de l'annotation, gérez les comptes d'annotateurs, consultez les statistiques par annotateur et modifiez les réglages en temps réel depuis le tableau de bord d'administration de Potato.

Potato 2.0 fournit un tableau de bord d'administration pour suivre l'avancement de l'annotation, surveiller les performances des annotateurs et modifier la configuration de la tâche en temps réel.

Accéder au tableau de bord

Authentification par clé d'API

Définissez une clé d'API d'administration dans votre configuration :

yaml
admin_api_key: "your-secure-api-key-here"

Rendez-vous ensuite sur /admin et saisissez votre clé quand elle vous est demandée.

Méthodes d'authentification

  1. Navigation directe - Aller sur /admin et saisir la clé d'API
  2. En-tête HTTP - Envoyer l'en-tête X-API-Key dans les requêtes
  3. Mode debug - Définir debug: true en développement (déconseillé en production)
yaml
# Development only
debug: true  # Bypasses authentication

Onglets du tableau de bord

Onglet Vue d'ensemble

Les métriques générales de votre tâche d'annotation :

  • Utilisateurs - Nombre d'annotateurs inscrits
  • Annotations - Nombre total d'annotations réalisées
  • Taux d'achèvement - Pourcentage de données annotées
  • Sessions actives - Annotateurs actuellement connectés
  • Configuration de la tâche - Résumé des réglages en vigueur

Onglet Annotateurs

Le détail par annotateur :

ColonneDescription
IdentifiantIdentifiant de l'annotateur
PhasePhase du flux de travail en cours
AnnotationsNombre réalisé
Temps de travailTemps total passé
VitesseAnnotations par heure
Dernière activitéAction la plus récente

Fonctionnalités :

  • Tri sur n'importe quelle colonne
  • Filtrage par phase ou par activité
  • Export des données d'annotateurs
  • Consultation du détail d'un annotateur

Onglet Instances

Parcourir et gérer les instances d'annotation :

ColonneDescription
IDIdentifiant de l'instance
Aperçu du texte100 premiers caractères
AnnotationsNombre d'annotations reçues
DésaccordScore de désaccord inter-annotateurs
AnnotateursListe des utilisateurs ayant annoté

Fonctionnalités :

  • Pagination (25, 50 ou 100 par page)
  • Tri par nombre d'annotations, par désaccord, etc.
  • Filtrage par nombre d'annotations
  • Consultation du détail complet d'une instance

Onglet Configuration

Modifier les réglages en temps réel, sans redémarrage :

  • Annotations maximales par utilisateur - Limite le nombre d'éléments que chaque utilisateur peut annoter
  • Annotations maximales par élément - Nombre d'annotations visé par instance
  • Stratégie d'attribution - Manière dont les instances sont attribuées aux utilisateurs

Les modifications prennent effet immédiatement.

Stratégies d'attribution

La stratégie d'attribution des instances se règle depuis le tableau de bord :

StratégieDescription
randomAttribution aléatoire
orderedSéquentielle (du premier au dernier)
least_annotatedPriorité aux éléments les moins annotés
max_diversityMaximise la diversité des annotateurs par élément
active_learningPriorisation fondée sur l'incertitude
llm_basedAttribution pilotée par un LLM

Analyse des temps

Le tableau de bord enregistre des données de temps détaillées :

  • Temps de travail total - Somme de toutes les sessions d'annotation
  • Temps moyen par annotation - Temps moyen par élément
  • Annotations par heure - Débit
  • Durée de session - Temps par session de connexion

Ces données proviennent du suivi comportemental et des événements d'interaction avec la page.

Configuration

Configuration de base

yaml
# Enable admin dashboard
admin_api_key: "your-secure-api-key"
 
# Optional: customize admin settings
admin:
  session_timeout: 3600  # seconds
  max_export_size: 10000  # rows

Configuration complète

yaml
admin_api_key: "your-secure-api-key"
 
admin:
  # Session settings
  session_timeout: 3600
 
  # Export limits
  max_export_size: 10000
 
  # Dashboard refresh
  auto_refresh: true
  refresh_interval: 30  # seconds
 
  # Pagination defaults
  default_page_size: 50

Points de terminaison de l'API

Le tableau de bord d'administration s'appuie sur des points de terminaison REST :

Statistiques

text
GET /api/admin/stats

Renvoie les statistiques globales de la tâche.

Annotateurs

text
GET /api/admin/annotators
GET /api/admin/annotators/{user_id}

Liste tous les annotateurs ou renvoie le détail d'un utilisateur.

Instances

text
GET /api/admin/instances
GET /api/admin/instances/{instance_id}

Liste les instances avec pagination et filtrage.

Configuration

text
GET /api/admin/config
POST /api/admin/config

Lit ou met à jour la configuration de la tâche.

Avancement de la formation

text
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}

Statistiques de la phase de formation et avancement par utilisateur.

Apprentissage actif

text
GET /api/admin/active-learning/status
GET /api/admin/active-learning/metrics

État du modèle d'apprentissage actif et métriques de performance.

Fonctions de surveillance

Détection d'activité suspecte

Le tableau de bord peut signaler des comportements douteux :

  • Vitesses d'annotation très élevées
  • Rythmes de session inhabituels
  • Réponses systématiquement identiques
  • Annotations manquantes

Indicateurs de qualité

Suivez les indicateurs de qualité de l'annotation :

  • Accord inter-annotateurs
  • Distribution du temps par annotation
  • Équilibre de la distribution des étiquettes
  • Résultats en phase de formation

Bonnes pratiques de sécurité

Gestion des clés d'API

yaml
# Use environment variables
admin_api_key: ${ADMIN_API_KEY}
bash
export ADMIN_API_KEY="your-secure-key"

Contrôle des accès

  • Utilisez des clés d'API robustes et uniques
  • Renouvelez-les régulièrement
  • N'exposez pas publiquement les points de terminaison d'administration
  • Passez en HTTPS en production

Journal d'audit

Le tableau de bord consigne les actions d'administration :

  • Changements de configuration
  • Actions de gestion des utilisateurs
  • Exports de données
  • Tentatives d'accès

Exemple de configuration

yaml
task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
 
# Admin dashboard
admin_api_key: ${ADMIN_API_KEY}
 
admin:
  session_timeout: 7200
  auto_refresh: true
  refresh_interval: 60
  default_page_size: 50
 
# Data and annotation configuration
data_files:
  - "data/reviews.json"
 
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    labels:
      - Positive
      - Negative
      - Neutral
 
# Assignment settings (editable from dashboard)
assignment:
  strategy: least_annotated
  max_annotations_per_user: 100
  max_annotations_per_item: 3
 
output_annotation_dir: "output/"
output_annotation_format: "json"
allow_all_users: true

Points de performance

Gros jeux de données

Pour les jeux de données de plusieurs milliers d'instances :

  • Utilisez la pagination (onglet Instances)
  • Activez le chargement paresseux
  • Envisagez un backend de base de données pour de meilleures performances

Nombreux annotateurs

Pour les tâches comptant beaucoup d'annotateurs simultanés :

  • Choisissez des intervalles de rafraîchissement adaptés
  • Surveillez les ressources du serveur
  • Utilisez un backend de base de données pour tenir la charge
yaml
# For large-scale deployments
database:
  type: mysql
  host: localhost
  database: potato_db
  user: ${DB_USER}
  password: ${DB_PASSWORD}

Dépannage

Le tableau de bord est inaccessible

  • Vérifiez que la clé d'API est bien définie dans la configuration
  • Vérifiez que l'URL est /admin
  • Assurez-vous que la clé saisie correspond exactement
  • Cherchez des fautes de frappe dans la configuration

Le tableau de bord est lent à charger

  • Réduisez la taille des pages
  • Augmentez l'intervalle de rafraîchissement
  • Envisagez un backend de base de données
  • Vérifiez les ressources du serveur

Les statistiques ne se mettent pas à jour

  • Vérifiez que le rafraîchissement automatique est activé
  • Vérifiez le réglage de l'intervalle de rafraîchissement
  • Rechargez la page manuellement
  • Cherchez des erreurs JavaScript

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.