Skip to content

管理者ダッシュボード

アノテーションの進捗監視、アノテーター管理、リアルタイム設定変更。

管理者ダッシュボード

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アノテーター識別子
フェーズ現在のワークフローフェーズ
アノテーション数完了した数
作業時間合計作業時間
速度1時間あたりのアノテーション数
最終アクティビティ最新のアクション

機能:

  • 任意の列でソート
  • フェーズまたはアクティビティでフィルタ
  • アノテーターデータのエクスポート
  • 個々のアノテーターの詳細表示

インスタンスタブ

アノテーションインスタンスの閲覧と管理:

説明
IDインスタンス識別子
テキストプレビュー最初の100文字
アノテーション数受け取ったアノテーションの数
不一致度アノテーター間の不一致スコア
アノテーターアノテーションしたユーザーのリスト

機能:

  • ページネーション(25、50、または100件ごと)
  • アノテーション数、不一致度などでソート
  • アノテーション数でフィルタ
  • 完全なインスタンス詳細の表示

設定タブ

再起動なしでリアルタイムに設定を変更:

  • ユーザーあたりの最大アノテーション数 - 各ユーザーがアノテーションできるアイテム数を制限
  • アイテムあたりの最大アノテーション数 - インスタンスあたりの目標アノテーション数
  • 割り当て戦略 - インスタンスがユーザーに割り当てられる方法

変更は即座に反映されます。

割り当て戦略

ダッシュボードからインスタンスの割り当て方法を設定する:

戦略説明
randomランダム割り当て
ordered順次(最初から最後まで)
least_annotatedアノテーションが最も少ないアイテムを優先
max_diversityアイテムあたりのアノテーターの多様性を最大化
active_learning不確実性に基づく優先順位付け
llm_basedLLM駆動の割り当て

タイミング分析

ダッシュボードは詳細なタイミングデータを追跡します:

  • 合計作業時間 - すべてのアノテーションセッションの合計
  • アノテーションあたりの平均時間 - アイテムあたりの平均時間
  • 1時間あたりのアノテーション数 - スループット率
  • セッション時間 - ログインセッションあたりの時間

タイミングデータは行動トラッキングとページインタラクションイベントから導出されます。

設定

基本設定

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エラーを確認する

関連情報

実装の詳細については、ソースドキュメントを参照してください。