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標註者識別符號
階段當前工作流階段
標註數已完成數量
工作時間總花費時間
速度每小時標註數
最後活動最近的操作

功能:

  • 按任意列排序
  • 按階段或活動篩選
  • 匯出標註者資料
  • 檢視單個標註者詳情

實例標籤頁

瀏覽和管理標註實例:

描述
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 錯誤

延伸閱讀

有關實現細節,請參閱源文件