Skip to content

Panel de Administración

Monitorea el progreso de anotación, gestiona anotadores y configura ajustes en tiempo real.

Potato 2.0 incluye un panel de administración completo para monitorear el progreso de anotación, rastrear el rendimiento de los anotadores y gestionar la configuración de tareas en tiempo real.

Acceso al Panel

Autenticación por Clave API

Configura una clave API de administrador en tu configuración:

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

Accede al panel en /admin e ingresa tu clave API cuando se solicite.

Métodos de Autenticación

  1. Navegación directa - Ve a /admin e ingresa la clave API
  2. Basado en encabezado - Incluye el encabezado X-API-Key en las solicitudes
  3. Modo de depuración - Con debug: true, las solicitudes que vienen de la propia máquina del servidor abren las páginas de administración sin clave

El modo de depuración abre las páginas de administración sin clave solo para las solicitudes que vienen de la propia máquina del servidor, es decir, de una dirección de loopback sin encabezado X-Forwarded-For, X-Real-IP ni Forwarded. Un túnel o un proxy inverso en la misma máquina que no añada un encabezado de reenvío hace que todas las solicitudes parezcan locales, así que no actives nunca debug en un servidor desplegado:

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

Pestañas del Panel

Pestaña de Resumen

Métricas de alto nivel para tu tarea de anotación:

  • Total de Usuarios - Número de anotadores registrados
  • Total de Anotaciones - Total de anotaciones completadas
  • Tasa de Completitud - Porcentaje de datos anotados
  • Sesiones Activas - Anotadores actualmente activos
  • Configuración de Tarea - Resumen de configuración actual

Pestaña de Anotadores

Información detallada sobre cada anotador:

ColumnaDescripción
ID de UsuarioIdentificador del anotador
FaseFase actual del flujo de trabajo
AnotacionesNúmero completado
Tiempo de TrabajoTiempo total empleado
VelocidadAnotaciones por hora
Última ActividadAcción más reciente

Características:

  • Ordenar por cualquier columna
  • Filtrar por fase o actividad
  • Exportar datos de anotadores
  • Ver detalles individuales del anotador

Pestaña de Instancias

Explorar y gestionar instancias de anotación:

ColumnaDescripción
IDIdentificador de instancia
Vista previa del textoPrimeros 100 caracteres
AnotacionesNúmero de anotaciones recibidas
DesacuerdoPuntuación de desacuerdo entre anotadores
AnotadoresLista de usuarios que anotaron

Características:

  • Paginación (25, 50 o 100 por página)
  • Ordenar por anotaciones, desacuerdo, etc.
  • Filtrar por cantidad de anotaciones
  • Ver detalles completos de la instancia

Pestaña de Configuración

Modificar ajustes en tiempo real sin reiniciar:

  • Máximo de Anotaciones por Usuario - Limitar cuántos elementos puede anotar cada usuario
  • Máximo de Anotaciones por Elemento - Anotaciones objetivo por instancia
  • Estrategia de Asignación - Cómo se asignan las instancias a los usuarios

Los cambios surten efecto inmediatamente.

Estrategias de Asignación

Configura cómo se asignan las instancias desde el panel:

EstrategiaDescripción
randomAsignación aleatoria
orderedSecuencial (primero a último)
least_annotatedPriorizar elementos con menos anotaciones
max_diversityMaximizar la diversidad de anotadores por elemento
active_learningPriorización basada en incertidumbre
llm_basedAsignación dirigida por LLM

Analíticas de Tiempo

El panel rastrea datos detallados de tiempo:

  • Tiempo Total de Trabajo - Suma de todas las sesiones de anotación
  • Tiempo Promedio por Anotación - Tiempo medio por elemento
  • Anotaciones por Hora - Tasa de rendimiento
  • Duración de Sesión - Tiempo por sesión de inicio

Los datos de tiempo se derivan del seguimiento conductual y eventos de interacción con la página.

Configuración

Configuración Básica

yaml
# Enable admin dashboard
admin_api_key: "your-secure-api-key"

Configuración Completa

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

Endpoints de la API

El panel de administración funciona con endpoints de API REST:

Estadísticas

text
GET /api/admin/stats

Devuelve estadísticas generales de la tarea.

Anotadores

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

Lista todos los anotadores u obtiene detalles de un usuario específico.

Instancias

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

Lista instancias con paginación y filtrado.

Configuración

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

Obtener o actualizar la configuración de la tarea.

Progreso de Entrenamiento

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

Estadísticas de la fase de entrenamiento y progreso por usuario.

Aprendizaje Activo

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

Estado del modelo de aprendizaje activo y métricas de rendimiento.

Funciones de Monitoreo

Detección de Actividad Sospechosa

El panel puede señalar comportamientos potencialmente problemáticos:

  • Velocidades de anotación muy rápidas
  • Patrones de sesión inusuales
  • Patrones de respuesta consistentes
  • Anotaciones faltantes

Métricas de Calidad

Rastrea indicadores de calidad de anotación:

  • Acuerdo entre anotadores
  • Distribución de tiempo por anotación
  • Balance de distribución de etiquetas
  • Rendimiento en la fase de entrenamiento

Mejores Prácticas de Seguridad

Gestión de Claves API

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

Control de Acceso

  • Usa claves API fuertes y únicas
  • Rota las claves periódicamente
  • No expongas los endpoints de administración públicamente
  • Usa HTTPS en producción

Registro de Auditoría

El panel rastrea las acciones de administración:

  • Cambios de configuración
  • Acciones de gestión de usuarios
  • Exportaciones de datos
  • Intentos de acceso

Ejemplo de Configuración

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

Consideraciones de Rendimiento

Conjuntos de Datos Grandes

Para conjuntos de datos con miles de instancias:

  • Usa paginación (pestaña de instancias)
  • Habilita la carga diferida
  • Considera un backend de base de datos para mejor rendimiento

Muchos Anotadores

Para tareas con muchos anotadores concurrentes:

  • Establece intervalos de actualización apropiados
  • Monitorea los recursos del servidor
  • Usa un backend de base de datos para escalabilidad
yaml
# For large-scale deployments
database:
  type: mysql
  host: localhost
  database: potato_db
  username: ${DB_USER}
  password: ${DB_PASSWORD}

Solución de Problemas

No Se Puede Acceder al Panel

  • Verifica que la clave API esté configurada
  • Comprueba que la URL sea /admin
  • Asegúrate de que la clave API coincida exactamente
  • Busca errores tipográficos en la configuración

Carga Lenta del Panel

  • Reduce el tamaño de página
  • Aumenta el intervalo de actualización
  • Considera un backend de base de datos
  • Verifica los recursos del servidor

Estadísticas No Se Actualizan

  • Verifica que la actualización automática esté habilitada
  • Comprueba la configuración del intervalo de actualización
  • Actualiza la página manualmente
  • Busca errores de JavaScript

Lectura Adicional

Para detalles de implementación, consulta la documentación fuente.