Potato 2.4.0:網頁智慧體標註、即時評估與 HuggingFace 整合
Potato 2.4.0 帶來網頁智慧體 trace 審查、即時智慧體評估、LLM 聊天側邊欄、HuggingFace Hub 匯出、Webhook、SSO/OAuth,以及五種主動學習策略。
注意: 本文中的各項數量反映的是 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,也可以邊操作邊錄製新的。
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 輔助,這份資料很有用。
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: trueHuggingFace 生態整合
Potato 現在從幾個方向接入了 HuggingFace。你可以把標註直接推送到 Hub 資料集,並自動生成 DatasetCard;可以不經中轉直接把它們作為 datasets.Dataset 物件讀回來;可以把一個 Potato 實例部署到 HuggingFace Spaces;還可以通過 LangChain 回呼,在執行 LangChain 智慧體時自動攝取 trace。
pip install potato-annotation[huggingface]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 管理。
webhooks:
- url: https://your-system.example.com/potato-events
secret: your-signing-secret
events: [annotation.created, item.fully_annotated]進階主動學習:5 種策略 + LLM 冷啟動
主動學習系統現在提供五種查詢策略:
- 不確定性取樣:挑出模型最沒把握的實例
- 基於多樣性的選擇:最大化對輸入空間的覆蓋
- BADGE:Batch Active Learning by Diverse Gradient Embeddings
- BALD:Bayesian Active Learning by Disagreement
- 混合整合:把多種策略組合起來,讓選擇更穩健
另外還有 LLM 冷啟動,它在還沒有任何標籤的時候就能挑實例。你把語言模型對準候選池,讓它把有難度的或有代表性的條目挑出來,作為標註的種子。CoverICL 也是新增的,用於挑選多樣化的上下文學習示例。
密碼管理與 SSO/OAuth
兩個大家反覆要求的認證功能:
密碼管理採用 PBKDF2-SHA256 雜湊加每使用者鹽值,支援管理員通過 CLI 和 API 重置密碼,還包含一套基於令牌的自助重置流程,後端可用 SQLite 或 PostgreSQL。
SSO/OAuth 通過 Authlib 支援 Google、GitHub 或任意通用 OIDC 提供方的單點登入。
pip install potato-annotation[auth]數量更新
| 能力 | 2.3 | 2.4 |
|---|---|---|
| 標註類型 | 20 | 21 |
| 顯示類型 | 15 | 17+ |
| AI 端點 | 7 | 11 |
| 示例項目 | 15 | 40+ |
| 主動學習策略 | 1 | 5 |
| Webhook 事件類型 | 0 | 5 |
| 智慧體示例項目 | 0 | 14 |
安裝
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 評估任務,包含單選按鈕、李克特量表、片段標註和自由文本備註:
也可以在本地跑一個示例:
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 倉庫。