Admin-Dashboard
Annotationsfortschritt überwachen, Annotatoren verwalten und Einstellungen in Echtzeit konfigurieren.
Admin-Dashboard
Potato 2.0 enthält ein umfassendes Admin-Dashboard zur Überwachung des Annotationsfortschritts, zur Verfolgung der Annotatorenleistung und zur Verwaltung der Aufgabenkonfiguration in Echtzeit.
Zugang zum Dashboard
API-Key-Authentifizierung
Konfigurieren Sie einen Admin-API-Key in Ihrer Konfiguration:
admin_api_key: "your-secure-api-key-here"Rufen Sie das Dashboard unter /admin auf und geben Sie Ihren API-Key ein, wenn Sie dazu aufgefordert werden.
Authentifizierungsmethoden
- Direkte Navigation – Navigieren Sie zu
/adminund geben Sie den API-Key ein - Header-basiert –
X-API-Key-Header in Anfragen einschließen - Debug-Modus –
debug: truefür die Entwicklung setzen (nicht für die Produktion empfohlen)
# Development only
debug: true # Bypasses authenticationDashboard-Tabs
Übersichts-Tab
Übergeordnete Metriken für Ihre Annotationsaufgabe:
- Gesamtnutzer – Anzahl registrierter Annotatoren
- Gesamtannotationen – Abgeschlossene Annotationen insgesamt
- Abschlussrate – Prozentualer Anteil annotierter Daten
- Aktive Sitzungen – Derzeit aktive Annotatoren
- Aufgabenkonfiguration – Zusammenfassung der aktuellen Einstellungen
Annotatoren-Tab
Detaillierte Informationen zu jedem Annotator:
| Spalte | Beschreibung |
|---|---|
| Benutzer-ID | Annotator-Kennung |
| Phase | Aktuelle Workflow-Phase |
| Annotationen | Anzahl abgeschlossener Annotationen |
| Arbeitszeit | Gesamte aufgewendete Zeit |
| Geschwindigkeit | Annotationen pro Stunde |
| Letzte Aktivität | Jüngste Aktion |
Funktionen:
- Nach beliebiger Spalte sortieren
- Nach Phase oder Aktivität filtern
- Annotatordaten exportieren
- Einzelne Annotatordetails anzeigen
Instanzen-Tab
Annotationsinstanzen durchsuchen und verwalten:
| Spalte | Beschreibung |
|---|---|
| ID | Instanzkennung |
| Textvorschau | Erste 100 Zeichen |
| Annotationen | Anzahl erhaltener Annotationen |
| Uneinigkeit | Inter-Annotator-Uneinigkeitswert |
| Annotatoren | Liste der Benutzer, die annotiert haben |
Funktionen:
- Paginierung (25, 50 oder 100 pro Seite)
- Sortierung nach Annotationen, Uneinigkeit usw.
- Filterung nach Annotationsanzahl
- Vollständige Instanzdetails anzeigen
Konfiguration-Tab
Einstellungen in Echtzeit ändern, ohne neu zu starten:
- Max. Annotationen pro Nutzer – Anzahl der Elemente, die jeder Nutzer annotieren kann, begrenzen
- Max. Annotationen pro Element – Zielannotationen pro Instanz
- Zuweisungsstrategie – Wie Instanzen Nutzern zugewiesen werden
Änderungen werden sofort wirksam.
Zuweisungsstrategien
Konfigurieren Sie im Dashboard, wie Instanzen zugewiesen werden:
| Strategie | Beschreibung |
|---|---|
random | Zufällige Zuweisung |
ordered | Sequenziell (erste bis letzte) |
least_annotated | Elemente mit wenigsten Annotationen priorisieren |
max_diversity | Annotator-Vielfalt pro Element maximieren |
active_learning | Unsicherheitsbasierte Priorisierung |
llm_based | LLM-gesteuerte Zuweisung |
Zeitanalysen
Das Dashboard verfolgt detaillierte Zeitdaten:
- Gesamte Arbeitszeit – Summe aller Annotationssitzungen
- Durchschnittliche Zeit pro Annotation – Mittlere Zeit pro Element
- Annotationen pro Stunde – Durchsatzrate
- Sitzungsdauer – Zeit pro Login-Sitzung
Zeitdaten werden aus dem Verhaltens-Tracking und Seiteninteraktionsereignissen abgeleitet.
Konfiguration
Grundeinrichtung
# Enable admin dashboard
admin_api_key: "your-secure-api-key"
# Optional: customize admin settings
admin:
session_timeout: 3600 # seconds
max_export_size: 10000 # rowsVollständige Konfiguration
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: 50API-Endpunkte
Das Admin-Dashboard wird von REST-API-Endpunkten betrieben:
Statistiken
GET /api/admin/stats
Gibt allgemeine Aufgabenstatistiken zurück.
Annotatoren
GET /api/admin/annotators
GET /api/admin/annotators/{user_id}
Alle Annotatoren auflisten oder Details zu einem bestimmten Nutzer abrufen.
Instanzen
GET /api/admin/instances
GET /api/admin/instances/{instance_id}
Instanzen mit Paginierung und Filterung auflisten.
Konfiguration
GET /api/admin/config
POST /api/admin/config
Aufgabenkonfiguration abrufen oder aktualisieren.
Trainingsfortschritt
GET /api/admin/training/stats
GET /api/admin/training/user/{user_id}
Trainingsphase-Statistiken und Fortschritt je Nutzer.
Active Learning
GET /api/admin/active-learning/status
GET /api/admin/active-learning/metrics
Status des Active-Learning-Modells und Leistungsmetriken.
Überwachungsfunktionen
Erkennung verdächtiger Aktivitäten
Das Dashboard kann potenziell problematisches Verhalten markieren:
- Sehr schnelle Annotationsgeschwindigkeiten
- Ungewöhnliche Sitzungsmuster
- Konsistente Antwortmuster
- Fehlende Annotationen
Qualitätsmetriken
Qualitätsindikatoren für Annotationen verfolgen:
- Inter-Annotator-Übereinstimmung
- Verteilung der Zeit pro Annotation
- Balance der Label-Verteilung
- Leistung in der Trainingsphase
Sicherheits-Best-Practices
API-Key-Verwaltung
# Use environment variables
admin_api_key: ${ADMIN_API_KEY}export ADMIN_API_KEY="your-secure-key"Zugriffskontrolle
- Starke, einzigartige API-Keys verwenden
- Keys regelmäßig rotieren
- Admin-Endpunkte nicht öffentlich zugänglich machen
- HTTPS in der Produktion verwenden
Audit-Logging
Das Dashboard verfolgt Admin-Aktionen:
- Konfigurationsänderungen
- Nutzerverwaltungsaktionen
- Datenexporte
- Zugriffsversuche
Beispielkonfiguration
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: trueLeistungsüberlegungen
Große Datensätze
Bei Datensätzen mit Tausenden von Instanzen:
- Paginierung nutzen (Instanzen-Tab)
- Lazy Loading aktivieren
- Datenbankbackend für bessere Leistung erwägen
Viele Annotatoren
Bei Aufgaben mit vielen gleichzeitigen Annotatoren:
- Angemessene Aktualisierungsintervalle festlegen
- Serverressourcen überwachen
- Datenbankbackend für Skalierbarkeit nutzen
# For large-scale deployments
database:
type: mysql
host: localhost
database: potato_db
user: ${DB_USER}
password: ${DB_PASSWORD}Fehlerbehebung
Dashboard nicht erreichbar
- Sicherstellen, dass der API-Key in der Konfiguration gesetzt ist
- URL
/adminüberprüfen - Sicherstellen, dass der API-Key exakt übereinstimmt
- Konfiguration auf Tippfehler prüfen
Langsames Laden des Dashboards
- Seitengröße reduzieren
- Aktualisierungsintervall erhöhen
- Datenbankbackend in Betracht ziehen
- Serverressourcen prüfen
Statistiken werden nicht aktualisiert
- Sicherstellen, dass Auto-Refresh aktiviert ist
- Aktualisierungsintervall-Einstellung prüfen
- Seite manuell neu laden
- Auf JavaScript-Fehler prüfen
Weiterführende Informationen
- Verhaltens-Tracking – Detailliertes Interaktions-Tracking
- Qualitätskontrolle – Aufmerksamkeitschecks und Gold-Standards
- API-Übersicht – Admin-API-Endpunkte
Implementierungsdetails finden Sie in der Quelldokumentation.