Skip to content

Painel do Administrador

Monitore o progresso da anotação, gerencie contas de anotadores, veja estatísticas por anotador e configure ajustes em tempo real pelo painel do administrador do Potato.

O Potato 2.0 inclui um painel de administrador completo para monitorar o progresso da anotação, acompanhar o desempenho dos anotadores e gerenciar a configuração da tarefa em tempo real.

Acessando o Painel

Autenticação por Chave de API

Configure uma chave de API de administrador na sua configuração:

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

Acesse o painel em /admin e informe sua chave de API quando solicitado.

Métodos de Autenticação

  1. Navegação direta - Vá até /admin e informe a chave de API
  2. Baseado em cabeçalho - Inclua o cabeçalho X-API-Key nas requisições
  3. Modo de depuração - Defina debug: true para desenvolvimento (não recomendado para produção)
yaml
# Development only
debug: true  # Bypasses authentication

Abas do Painel

Aba Visão Geral

Métricas de alto nível para sua tarefa de anotação:

  • Total de Usuários - Número de anotadores registrados
  • Total de Anotações - Total de anotações concluídas
  • Taxa de Conclusão - Porcentagem de dados anotados
  • Sessões Ativas - Anotadores ativos no momento
  • Configuração da Tarefa - Resumo das configurações atuais

Aba Anotadores

Informações detalhadas sobre cada anotador:

ColunaDescrição
ID do UsuárioIdentificador do anotador
FaseFase atual do fluxo de trabalho
AnotaçõesNúmero concluído
Tempo de TrabalhoTempo total gasto
VelocidadeAnotações por hora
Última AtividadeAção mais recente

Recursos:

  • Ordenar por qualquer coluna
  • Filtrar por fase ou atividade
  • Exportar dados do anotador
  • Ver detalhes de cada anotador

Aba Instâncias

Navegue e gerencie as instâncias de anotação:

ColunaDescrição
IDIdentificador da instância
Prévia do TextoPrimeiros 100 caracteres
AnotaçõesNúmero de anotações recebidas
DiscordânciaPontuação de discordância entre anotadores
AnotadoresLista de usuários que anotaram

Recursos:

  • Paginação (25, 50 ou 100 por página)
  • Ordenar por anotações, discordância, etc.
  • Filtrar por contagem de anotações
  • Ver detalhes completos da instância

Aba Configuração

Modifique as configurações em tempo real sem reiniciar:

  • Máximo de Anotações por Usuário - Limite quantos itens cada usuário pode anotar
  • Máximo de Anotações por Item - Meta de anotações por instância
  • Estratégia de Atribuição - Como as instâncias são atribuídas aos usuários

As alterações entram em vigor imediatamente.

Estratégias de Atribuição

Configure como as instâncias são atribuídas a partir do painel:

EstratégiaDescrição
randomAtribuição aleatória
orderedSequencial (do primeiro ao último)
least_annotatedPrioriza os itens com menos anotações
max_diversityMaximiza a diversidade de anotadores por item
active_learningPriorização baseada em incerteza
llm_basedAtribuição guiada por LLM

Análise de Tempo

O painel acompanha dados detalhados de tempo:

  • Tempo Total de Trabalho - Soma de todas as sessões de anotação
  • Tempo Médio por Anotação - Tempo médio por item
  • Anotações por Hora - Taxa de throughput
  • Duração da Sessão - Tempo por sessão de login

Os dados de tempo são derivados do rastreamento comportamental e dos eventos de interação com a página.

Configuração

Configuração 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

Configuração 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 da API

O painel do administrador é alimentado por endpoints de API REST:

Estatísticas

text
GET /api/admin/stats

Retorna as estatísticas gerais da tarefa.

Anotadores

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

Liste todos os anotadores ou obtenha detalhes de um usuário específico.

Instâncias

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

Liste as instâncias com paginação e filtragem.

Configuração

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

Obtenha ou atualize a configuração da tarefa.

Progresso de Treinamento

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

Estatísticas da fase de treinamento e progresso por usuário.

Aprendizado Ativo

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

Status do modelo de aprendizado ativo e métricas de desempenho.

Recursos de Monitoramento

Detecção de Atividade Suspeita

O painel pode sinalizar comportamentos potencialmente problemáticos:

  • Velocidades de anotação muito altas
  • Padrões de sessão incomuns
  • Padrões de resposta consistentes
  • Anotações ausentes

Métricas de Qualidade

Acompanhe os indicadores de qualidade da anotação:

  • Concordância entre anotadores
  • Distribuição do tempo por anotação
  • Equilíbrio na distribuição de rótulos
  • Desempenho na fase de treinamento

Boas Práticas de Segurança

Gerenciamento de Chave de API

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

Controle de Acesso

  • Use chaves de API fortes e exclusivas
  • Faça a rotação das chaves periodicamente
  • Não exponha os endpoints de administrador publicamente
  • Use HTTPS em produção

Registro de Auditoria

O painel acompanha as ações de administrador:

  • Alterações de configuração
  • Ações de gerenciamento de usuários
  • Exportações de dados
  • Tentativas de acesso

Exemplo de Configuração

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

Considerações de Desempenho

Conjuntos de Dados Grandes

Para conjuntos de dados com milhares de instâncias:

  • Use paginação (aba de instâncias)
  • Habilite o carregamento preguiçoso
  • Considere um backend de banco de dados para melhor desempenho

Muitos Anotadores

Para tarefas com muitos anotadores simultâneos:

  • Defina intervalos de atualização apropriados
  • Monitore os recursos do servidor
  • Use um backend de banco de dados para escalabilidade
yaml
# For large-scale deployments
database:
  type: mysql
  host: localhost
  database: potato_db
  user: ${DB_USER}
  password: ${DB_PASSWORD}

Solução de Problemas

Não Consigo Acessar o Painel

  • Verifique se a chave de API está definida na configuração
  • Confira se a URL é /admin
  • Certifique-se de que a chave de API corresponde exatamente
  • Verifique se há erros de digitação na configuração

Carregamento Lento do Painel

  • Reduza o tamanho da página
  • Aumente o intervalo de atualização
  • Considere um backend de banco de dados
  • Verifique os recursos do servidor

Estatísticas Não Atualizam

  • Verifique se a atualização automática está habilitada
  • Confira a configuração do intervalo de atualização
  • Atualize a página manualmente
  • Verifique se há erros de JavaScript

Leitura Adicional

Para detalhes de implementação, consulte a documentação de origem.