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 - Avec debug: true, les requêtes venant de la machine du serveur elle-même ouvrent les pages d'administration sans clé

Le mode debug ouvre les pages d'administration sans clé uniquement pour les requêtes venant de la machine du serveur elle-même, c'est-à-dire d'une adresse de loopback sans en-tête X-Forwarded-For, X-Real-IP ni Forwarded. Un tunnel ou un proxy inverse sur la même machine qui n'ajoute aucun en-tête de transfert fait passer chaque appelant pour local ; n'activez donc jamais le mode debug sur un serveur déployé :

yaml
# Development only
debug: true  # Admin pages open without a key for requests from this machine

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"

Configuration complète

yaml
admin_api_key: "your-secure-api-key"
 
# How long a session may sit idle before the server clears it.
# The clock restarts on every request, so it bounds inactivity,
# not the length of a shift. Default 480.
session_timeout_minutes: 480
 
# Editable from the Configuration tab while the server runs
assignment_strategy: least_annotated
max_annotations_per_user: 100
max_annotations_per_item: 3

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
annotation_task_name: "Sentiment Analysis"
task_dir: "."
port: 8000
 
# Admin dashboard
admin_api_key: ${ADMIN_API_KEY}
session_timeout_minutes: 480
 
# Data and annotation configuration
data_files:
  - "data/reviews.json"
 
item_properties:
  id_key: id
  text_key: text
 
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "How does this review read?"
    labels:
      - Positive
      - Negative
      - Neutral
 
# Assignment settings (editable from the Configuration tab)
assignment_strategy: least_annotated
max_annotations_per_user: 100
max_annotations_per_item: 3
 
output_annotation_dir: "output/"
export_annotation_format: jsonl
 
user_config:
  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
  username: ${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.