Skip to content

관리자 대시보드

Potato의 관리자 대시보드를 통해 어노테이션 진행 상황을 모니터링하고, 어노테이터 계정을 관리하며, 어노테이터별 통계를 확인하고, 설정을 실시간으로 구성하십시오.

Potato 2.0에는 어노테이션 진행 상황을 모니터링하고, 어노테이터 성과를 추적하며, 작업 구성을 실시간으로 관리할 수 있는 포괄적인 관리자 대시보드가 포함되어 있습니다.

대시보드 접근

API 키 인증

구성에서 관리자 API 키를 설정하십시오:

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

/admin에서 대시보드에 접근하고 요청 시 API 키를 입력하십시오.

인증 방식

  1. 직접 탐색 - /admin으로 이동하여 API 키를 입력합니다
  2. 헤더 기반 - 요청에 X-API-Key 헤더를 포함합니다
  3. 디버그 모드 - 개발용으로 debug: true를 설정합니다(운영 환경에는 권장되지 않음)
yaml
# Development only
debug: true  # Bypasses authentication

대시보드 탭

개요 탭

어노테이션 작업에 대한 상위 수준 지표:

  • 전체 사용자 - 등록된 어노테이터 수
  • 전체 어노테이션 - 완료된 어노테이션 총수
  • 완료율 - 어노테이션된 데이터의 비율
  • 활성 세션 - 현재 활동 중인 어노테이터
  • 작업 구성 - 현재 설정 요약

어노테이터 탭

각 어노테이터에 대한 상세 정보:

설명
사용자 ID어노테이터 식별자
단계현재 워크플로 단계
어노테이션완료된 수
작업 시간소요된 총 시간
속도시간당 어노테이션 수
마지막 활동가장 최근 동작

기능:

  • 임의의 열로 정렬
  • 단계 또는 활동으로 필터링
  • 어노테이터 데이터 내보내기
  • 개별 어노테이터 세부 정보 보기

인스턴스 탭

어노테이션 인스턴스를 탐색하고 관리합니다:

설명
ID인스턴스 식별자
텍스트 미리보기처음 100자
어노테이션받은 어노테이션 수
불일치어노테이터 간 불일치 점수
어노테이터어노테이션한 사용자 목록

기능:

  • 페이지 매김(페이지당 25, 50 또는 100개)
  • 어노테이션, 불일치 등으로 정렬
  • 어노테이션 수로 필터링
  • 전체 인스턴스 세부 정보 보기

구성 탭

재시작 없이 설정을 실시간으로 수정합니다:

  • 사용자당 최대 어노테이션 수 - 각 사용자가 어노테이션할 수 있는 항목 수 제한
  • 항목당 최대 어노테이션 수 - 인스턴스당 목표 어노테이션 수
  • 할당 전략 - 인스턴스를 사용자에게 할당하는 방식

변경 사항은 즉시 적용됩니다.

할당 전략

대시보드에서 인스턴스 할당 방식을 구성합니다:

전략설명
random무작위 할당
ordered순차적(처음부터 끝까지)
least_annotated어노테이션이 가장 적은 항목 우선
max_diversity항목별 어노테이터 다양성 최대화
active_learning불확실성 기반 우선순위 지정
llm_basedLLM 기반 할당

시간 분석

대시보드는 상세한 시간 데이터를 추적합니다:

  • 전체 작업 시간 - 모든 어노테이션 세션의 합
  • 어노테이션당 평균 시간 - 항목당 평균 시간
  • 시간당 어노테이션 수 - 처리량 비율
  • 세션 지속 시간 - 로그인 세션당 시간

시간 데이터는 행동 추적과 페이지 상호작용 이벤트에서 도출됩니다.

구성

기본 설정

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

전체 설정

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

API 엔드포인트

관리자 대시보드는 REST API 엔드포인트로 구동됩니다:

통계

text
GET /api/admin/stats

전체 작업 통계를 반환합니다.

어노테이터

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

모든 어노테이터를 나열하거나 특정 사용자의 세부 정보를 가져옵니다.

인스턴스

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

페이지 매김과 필터링으로 인스턴스를 나열합니다.

구성

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

작업 구성을 가져오거나 업데이트합니다.

학습 진행 상황

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

학습 단계 통계와 사용자별 진행 상황입니다.

능동 학습

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

능동 학습 모델 상태와 성능 지표입니다.

모니터링 기능

의심스러운 활동 감지

대시보드는 잠재적으로 문제가 될 수 있는 행동을 표시할 수 있습니다:

  • 매우 빠른 어노테이션 속도
  • 비정상적인 세션 패턴
  • 일관된 답변 패턴
  • 누락된 어노테이션

품질 지표

어노테이션 품질 지표를 추적합니다:

  • 어노테이터 간 일치도
  • 어노테이션당 시간 분포
  • 레이블 분포 균형
  • 학습 단계 성과

보안 모범 사례

API 키 관리

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

접근 제어

  • 강력하고 고유한 API 키를 사용하십시오
  • 키를 주기적으로 교체하십시오
  • 관리자 엔드포인트를 공개적으로 노출하지 마십시오
  • 운영 환경에서는 HTTPS를 사용하십시오

감사 로깅

대시보드는 관리자 작업을 추적합니다:

  • 구성 변경
  • 사용자 관리 작업
  • 데이터 내보내기
  • 접근 시도

예시 구성

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

성능 고려 사항

대규모 데이터셋

수천 개의 인스턴스가 있는 데이터셋의 경우:

  • 페이지 매김을 사용하십시오(인스턴스 탭)
  • 지연 로딩을 활성화하십시오
  • 더 나은 성능을 위해 데이터베이스 백엔드를 고려하십시오

다수의 어노테이터

동시 어노테이터가 많은 작업의 경우:

  • 적절한 새로 고침 간격을 설정하십시오
  • 서버 리소스를 모니터링하십시오
  • 확장성을 위해 데이터베이스 백엔드를 사용하십시오
yaml
# For large-scale deployments
database:
  type: mysql
  host: localhost
  database: potato_db
  user: ${DB_USER}
  password: ${DB_PASSWORD}

문제 해결

대시보드에 접근할 수 없음

  • API 키가 구성에 설정되어 있는지 확인하십시오
  • URL이 /admin인지 확인하십시오
  • API 키가 정확히 일치하는지 확인하십시오
  • 구성에 오타가 없는지 확인하십시오

대시보드 로딩이 느림

  • 페이지 크기를 줄이십시오
  • 새로 고침 간격을 늘리십시오
  • 데이터베이스 백엔드를 고려하십시오
  • 서버 리소스를 확인하십시오

통계가 업데이트되지 않음

  • 자동 새로 고침이 활성화되어 있는지 확인하십시오
  • 새로 고침 간격 설정을 확인하십시오
  • 페이지를 수동으로 새로 고치십시오
  • JavaScript 오류가 있는지 확인하십시오

더 읽어보기

구현 세부 정보는 원본 문서를 참고하십시오.