Skip to content

Panel de Administración

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

Panel de Administración

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 - Establece debug: true para desarrollo (no recomendado para producción)
yaml
# Development only
debug: true  # Bypasses authentication

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"
 
# Optional: customize admin settings
admin:
  session_timeout: 3600  # seconds
  max_export_size: 10000  # rows

Configuración Completa

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

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
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

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
  user: ${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.