Skip to content
Release2 min read

Potato 2.4.0:網頁智慧體標註、即時評估與 HuggingFace 整合

Potato 2.4.0 帶來網頁智慧體 trace 審查、即時智慧體評估、LLM 聊天側邊欄、HuggingFace Hub 匯出、Webhook、SSO/OAuth,以及五種主動學習策略。

Potato Team

注意: 本文中的各項數量反映的是 v2.4.0 釋出時的狀態。Potato 現在支援 50 多種標註類型,完整列表見標註類型文件

Potato 2.4.0 釋出了。這是自 2.3 引入智慧體標註以來最大的一次更新,加入了大家一直在要的智慧體評估功能,還有一批面向企業場景和外部整合的工作。

網頁智慧體標註

評估網頁瀏覽智慧體不容易。你得看到智慧體看到了什麼、點在哪裡、怎麼滾動,以及每一步是否合理。Potato 2.4 為此加入了網頁智慧體 Trace 檢視器。

審查模式(Review Mode)用膠片條的形式把預先錄製的截圖呈現給標註者。SVG 覆蓋層標出點選目標、邊界框、滑鼠路徑和滾動位置,評估者看到的就是智慧體看到的,標註控制元件也內聯在旁邊。

建立模式(Creation Mode)把介面反過來用。標註者在 iframe 裡瀏覽真實網站,Potato 把每一次互動記錄成可直接標註的 trace。你可以匯入 WebArena、Mind2Web 和 Anthropic Computer Use 格式的已有 trace,也可以邊操作邊錄製新的。

yaml
display:
  type: web_agent_trace
  mode: review          # or "creation"
  show_overlays: true
  keyboard_shortcuts: true

即時智慧體評估

有時候你需要在智慧體執行過程中評估它,而不是事後再看。新的即時智慧體評估系統讓標註者即時觀看 AI 智慧體執行任務,並在執行過程中就對其行為做標註。

Potato 通過 Agent Runner Manager 並行執行智慧體,用 webhook 接收器捕獲陸續到來的 trace,並給標註者一個即時評估介面。步驟級的標註者間一致性會被自動統計。

LLM 聊天側邊欄

難判斷的標註適合聽聽第二種意見。新的 LLM 聊天側邊欄給標註者一個 AI 助手面板,不用離開介面就能在標註過程中隨時諮詢。

側邊欄支援多輪對話,並會自動注入完整的任務上下文。它可以對接 OpenAI、Anthropic 和 Ollama 端點,並把每一次對話作為行為資料記錄下來,如果你想研究標註者如何依賴 AI 輔助,這份資料很有用。

yaml
llm_sidebar:
  enabled: true
  provider: anthropic
  model: claude-3-5-sonnet-20241022
  system_prompt: "You are a helpful annotation assistant for this {task_name} task."
  collapsible: true

HuggingFace 生態整合

Potato 現在從幾個方向接入了 HuggingFace。你可以把標註直接推送到 Hub 資料集,並自動生成 DatasetCard;可以不經中轉直接把它們作為 datasets.Dataset 物件讀回來;可以把一個 Potato 實例部署到 HuggingFace Spaces;還可以通過 LangChain 回呼,在執行 LangChain 智慧體時自動攝取 trace。

bash
pip install potato-annotation[huggingface]
python
from potato import PotatoDataset
 
ds = PotatoDataset.from_output("annotations/")
ds.push_to_hub("my-org/my-annotation-dataset")

Webhook 系統

Potato 2.4 帶來了一套完整的 webhook 系統,用於事件驅動的整合。共五種事件類型,按 Standard Webhooks 規範用 HMAC-SHA256 簽名:

事件觸發時機
annotation.created標註者提交了一個標籤
item.fully_annotated某個條目達到了要求的重疊數
task.completed一個任務中的所有條目都已標註完
user.phase_completed某個使用者完成了一個階段(Solo 模式)
quality.attention_check_failed某個標註者沒通過注意力檢查

Webhook 以非阻塞方式投遞,重試策略可配置,並通過管理員 API 管理。

yaml
webhooks:
  - url: https://your-system.example.com/potato-events
    secret: your-signing-secret
    events: [annotation.created, item.fully_annotated]

進階主動學習:5 種策略 + LLM 冷啟動

主動學習系統現在提供五種查詢策略:

  1. 不確定性取樣:挑出模型最沒把握的實例
  2. 基於多樣性的選擇:最大化對輸入空間的覆蓋
  3. BADGE:Batch Active Learning by Diverse Gradient Embeddings
  4. BALD:Bayesian Active Learning by Disagreement
  5. 混合整合:把多種策略組合起來,讓選擇更穩健

另外還有 LLM 冷啟動,它在還沒有任何標籤的時候就能挑實例。你把語言模型對準候選池,讓它把有難度的或有代表性的條目挑出來,作為標註的種子。CoverICL 也是新增的,用於挑選多樣化的上下文學習示例。

密碼管理與 SSO/OAuth

兩個大家反覆要求的認證功能:

密碼管理採用 PBKDF2-SHA256 雜湊加每使用者鹽值,支援管理員通過 CLI 和 API 重置密碼,還包含一套基於令牌的自助重置流程,後端可用 SQLite 或 PostgreSQL。

SSO/OAuth 通過 Authlib 支援 Google、GitHub 或任意通用 OIDC 提供方的單點登入。

bash
pip install potato-annotation[auth]

數量更新

能力2.32.4
標註類型2021
顯示類型1517+
AI 端點711
示例項目1540+
主動學習策略15
Webhook 事件類型05
智慧體示例項目014

安裝

bash
pip install potato-annotation           # core
pip install potato-annotation[ai]       # OpenAI, Ollama
pip install potato-annotation[huggingface]  # HF Hub + Spaces
pip install potato-annotation[langchain]    # LangChain callback
pip install potato-annotation[auth]         # SSO/OAuth
pip install potato-annotation[all]          # everything

試一試

想最快看到 2.4 的效果,就去 HuggingFace Spaces 上的線上演示,不用安裝任何東西。它跑的是一個智慧體 trace 評估任務,包含單選按鈕、李克特量表、片段標註和自由文本備註:

試用線上演示 →

也可以在本地跑一個示例:

bash
git clone https://github.com/davidjurgens/potato.git
cd potato
pip install -e .
python potato/flask_server.py start examples/agent-traces/complex-annotation/config.yaml -p 8000

完整變更日誌見 v2.4.0 釋出說明,其餘文件見 GitHub 倉庫