Skip to content

新功能

Potato v2.x 的新特性。2.8 版加入計算機視覺、3D 點雲、深度圖、機器人回合與世界模型評測,並對幾何與時間提供機會校正後的一致性度量。61 種標註類型,24 種展示類型。

本頁面介紹 Potato v2.x 各版本的新功能和改進。


Potato 2.9.0

2026 年 9 月釋出

Potato 可以從 brat、doccano、Prodigy、CoNLL 和 REFI-QDA 匯入項目,並能在本地對音訊進行轉寫和說話人分離。匯出結果會記錄每個影像形狀是由人繪製、由模型提議還是匯入的,以及每一票是在哪個房間投出的。本次釋出的大部分內容是缺陷修復。

升級前請對每個配置執行 potato validate --strict 有幾項改動可能讓在 2.8.2 下正常執行的研究無法啟動或行為發生變化:同一階段內重複的方案名會被拒絕;min_annotators_per_instance 變成了每條資料上限的別名;require_fully_annotated: true 開始生效;載入失敗的階段會中止啟動;片段偏移量改用碼位而不是 UTF-16 單元。集合值、順序值、矩陣和帶文字標籤的定序方案的一致性數值會發生變化,應重新計算。完整列表見釋出說明

bash
pip install --upgrade potato-annotation

匯入與匯出

  • brat、doccano、Prodigy、CoNLL-2003/CoNLL-U 和 REFI-QDA .qdpx 的匯入器,以及 .qdpx 匯出器。參見匯入項目
  • 匯出中的來源資訊。 每個影像形狀都會記錄它是由人繪製還是由模型提議的(sourceai_modelconfidenceeditedcarried_overimport_format)。在多人房間中投出的票會帶上房間、角色、初始投票、揭曉後是否改變以及投票人數。
  • csv、jsonl 和 parquet 格式的片段匯出會包含被覆蓋的文本。
  • 新增 potato export --format adjudication,並且每種方案類型現在都有“採納某個答案”的裁決控制元件(此前只有 radio 和 likert 有)。

音訊、影片與轉寫

  • 本地轉寫與說話人分離,使用 faster-whisper 和 sherpa-onnx,不需要 PyTorch,也不需要 Hugging Face 令牌:安裝 potato-annotation[transcribe],然後執行 potato transcripts <dir> --transcribe --diarize --num-speakers N -o out.json。參見轉寫格式
  • segment_schemes 可以在音訊或影片片段內渲染任意標註類型。此前該設定會被接受但不起作用。

一致性、品質與 AI

  • 隨時間變化的一致性,與編碼手冊的修訂版本關聯,並在 /admin/iaa 上提供重新校準的觸發器。
  • 模型輸出審閱模式,包含空預測的切片,因此可以計算召回率。
  • ai_budget.cap_usd 會拒絕啟動超出預算的執行,ai_budget.prices 可在配置中設定各模型的價格。
  • ai_support 會記錄 final_annotationpre_annotation_seeds,因此可以用你自己的資料衡量採納率。

部署與介面

  • 每個頁面都支援反向代理和路徑字首(#168,Aldo Costa)。參見反向代理
  • card_sort 無需滑鼠即可操作,移動會播報給螢幕閱讀器。
  • resizablemax_heightmin_height 對每種顯示類型都有效。

影響結果的修復

  • /admin/api/agreement 從未算出過數值,而且比較的是儲存值而不是標籤名,所以每個分類方案都顯示為完全一致。
  • 在每條資料兩人標註的研究中,第二名標註者會被送到完成頁面,之後給出的每個答案都會丟失。
  • fixed_order 外,在每種分配策略下 AI 建議針對的都是錯誤的資料條目。
  • 在預設的記憶體配置下,註冊資訊從未被儲存,因此伺服器重啟後任何人都可以認領已有的使用者名稱。

感謝 Aldo Costa(@Eyecatch3r)提交 #168#171,感謝 @ruthenian8 報告並診斷 #170


Potato 2.8.2

2026 年 8 月釋出

2.8.1 並未包含其釋出說明中描述的五項安全修復中的兩項:媒體端點上的 SSRF 修復(GHSA-9394-85jj-2mhj)和除錯模式加固(GHSA-r4ww-vc5h-35qf)。2.8.2 包含了這兩項。如果你是為了其中任何一個問題升級到 2.8.1 的,請再次升級。參見 2.8.2 釋出說明


Potato 2.8.1

2026 年 8 月釋出

一次安全釋出。它修復了通過即時程式設計智慧體實現的遠端程式碼執行(GHSA-cm4p-5rfv-x252)、無需管理員金鑰即可讀取的管理配置,以及接受所有請求的軌跡攝取 webhook。如果你在 localhost 以外的任何地方執行 Potato,請升級,並直接升級到 2.8.2,它包含 2.8.1 缺少的兩項修復。


Potato 2.8.0

2026 年 8 月釋出

Potato 曾經是一個帶影像模式的文本標註平臺。如今它覆蓋影像、影片、十億畫素級掃描件、3D 點雲、深度圖、機器人回合、生成式影片推演,以及視覺-語言定位。對其中每一項,它都會報告機會校正後的一致性。

如果你是從 PyPI 安裝的,請升級。 2.7.1 之前的 wheel 包在宣告包資料時只用了一層萬用字元,因此有 27 個位於子目錄中的模板從未被打進任何 wheel。對所有執行 pip install 的人來說,solo 模式的初始化路由、管理頁面、評審校準和語料地圖都無法工作;而從 git 檢出執行的人從未遇到這個問題。該問題已由 @0x6362PR #164 中修復。

bash
pip install --upgrade potato-annotation

幾何與時間上的一致性

  • 空間標籤的機會校正一致性,拆解為檢測(標註者是否找到了同樣的物件)、分類(他們是否給出了同樣的名稱)和定位(他們是否放在了同樣的位置,以 σ 相對於經驗機會基線報告,並附一個 KS 檢驗)。
  • STAPLE 用於掩碼共識。它估計一條潛在邊界,以及每位評分者的敏感度和特異度。在一個兩位細緻的標註者以三比二被噪聲標註者壓過的語料上,多數投票相對真值的 Dice 為 0.846,而 STAPLE 為 1.000。
  • 精確的旋轉 3D IoU,因此長方體一致性在無人機、手持和室內資料上都是正確的,而不僅限於水平框。
  • 時間一致性以掃描的形式報告,覆蓋多個匹配容差,因為 0.25 秒容差下的一致性與 2 秒容差下的一致性是兩種不同的結論。
  • 未定義的值會自我說明。在完全一致的語料上 α 確實是未定義的,而一個光禿禿的 NaN 看上去像是計算出了故障。

這同時修復了一個缺陷:裁定流程比較的是標註的,而影像方案把一切都存在一個名為 _data 的鍵下。於是每一對影像標註的一致性都算成 1.0,兩位其實毫無共識的標註者看起來完全一致,任何影像都不會被路由去複核。

視覺

  • 幾何基元:折線、橢圓、2D 長方體、帶骨架拓撲與 COCO 可見性標誌的關鍵點集,以及按實例分鍵的畫筆掩碼。
  • 瀏覽器內點選分割——在 ONNX Runtime Web 下執行的 MobileSAM,每次點選約 132 毫秒,不需要 GPU,也不需要逐次點選的網路呼叫。
  • 開放詞表文本提示:輸入一個短語,所有匹配物件都會被框出。使用 Grounding DINO,Apache-2.0 許可,同樣在瀏覽器中執行。
  • 影片掩碼傳播,基於 SAM 2 的記憶模組,實測每幀 IoU 為 0.974–0.979,且在整個序列上沒有衰減。這一項按設計在服務端執行;瀏覽器另有一條更輕量的沿用路徑。
  • 深度縮放支援十億畫素級影像,同時以 DZI 和 IIIF Image API 3.0 提供,畫筆掩碼按源圖的完整解析度工作。
  • 媒體接入:多頁 16 位 TIFF、HEIC、相機 RAW,以及通過帶快取的服務端代理支援的 ProRes/MKV/MOV。
  • 15 種匯入與 29 種匯出格式,其中 11 種可雙向往返。Darwin 格式兩個方向都支援。

影像標註的鍵盤快捷鍵現在預設遵循 V7 的約定:b 畫筆、r 矩形、f 填充、k 關鍵點、v 選擇。在方案上設定 keybinding_profile: legacy 可以為已經在實地進行的研究恢復舊的鍵位。

3D、深度與機器人

  • spatial_annotation 支援 PCD、PLY、LAS、KITTI .bin.xyz 點雲,提供 3D 長方體、點、折線和逐點分割,並帶有八叉樹細節層次和正交切片面板。旋轉以四元數儲存,因此僅記錄偏航角的欄位會悄悄丟棄的安裝傾角,能夠在 KITTI 往返中保留下來。
  • 深度圖支援 16 位 PNG/TIFF、NPY、PFM 和 EXR,帶窗寬窗位調節、偽彩對映、游標下的米數讀數,以及反投影到同一個 3D 檢視中。
  • 考慮標定的投影,因此在 3D 中繪製的長方體會出現在每一路相機影像中,並可在 2D 中核對。
  • episode_annotation 把 N 路同步影片流和 M 條機器人時序通道放在同一條時間軸上,支援階段切分、逐階段結果和稠密獎勵曲線。可匯入 LeRobot v2、RLDS/TFDS 和 HDF5。通道降取樣會保留極小值和極大值,因此一個僅持續一幀的力值尖峰也能在壓縮到 300 畫素寬的通道後依然可見。

評測

  • rollout_evaluation 把 2 到 N 段生成影片放在同一個時鐘上,請標註者標出世界開始不合理的那一幀,再標註是哪條物理或因果性質被破壞。各個面板可以做盲化處理,並按標註者穩定地打亂順序。
  • grounding_evalregion_caption 用四個閾值下的 IoU 給定位打分,用點落在區域內的命中率給指點打分——因為點沒有面積,對點計算 IoU 永遠為零。無法定位的情況單獨計數。

其餘更新

  • 線索式對話dialogue 展示會根據每個話輪的 reply_to 渲染回覆結構。potato convokit 可匯入任意 ConvoKit 語料,--format convokit 可匯出回去,且不依賴 convokit 包。
  • 繪製遙測——每個圖形的耗時、筆畫動態、修改次數,以及接受 AI 建議的延遲。整批照單全收的預標註會讓所有品質指標都變好看,包括一致性,因為其幾何形狀與認真作業完全相同。耗時是唯一能顯出差別的地方。
  • 即時資料庫接入:啟動之後新建的資料行會在 poll_interval_seconds 之內變為可標註,無需重啟(#166)。
  • 機器可讀的規格說明——一份覆蓋 159 個配置鍵、61 種標註類型和 24 種展示類型的 JSON Schema,以及一份含 419 條路徑的 OpenAPI 文件。兩者都由程式碼生成,任一齣現漂移時 CI 都會失敗,因此編輯器或編碼智慧體可以在不臆造選項的情況下校驗配置。
  • 不發出任何外部請求:全部 14 套模板中的每一份樣式表、指令碼、字型和圖示現在都由本地安裝提供。此前 styles.css 開頭是一條指向 Google Fonts 的 @import,會在頁面載入時把每位標註者的 IP 地址發給第三方,登入頁還帶著一個第三方 favicon。兩者都已移除。
  • 管理端 Instances 標籤頁從二次複雜度降到線性:2,000 條資料的載入時間從 15.1 秒降到 23 毫秒。

Potato 2.7.2

釋出於 2026 年 8 月

自由文本欄位的擊鍵記錄。Potato 記錄答案背後的時間資訊,從不記錄字元本身,而這已經足以把打字和貼上區分開。

  • 擊鍵記錄 — 對每個自由文本欄位的停頓、爆發、修改和貼上做內容無關的採集,每份回答計算約四十項摘要特徵。預設關閉。
  • 寫作過程檢測 — 六條具名規則,閾值明確,並會報告觸發每個標記的特徵值。閾值可以針對你自己的項目重新擬合;如果你有標籤,還有一條有監督的路徑。
  • 倫理指南 — 知情同意示例文本、留存與刪除、基礎率問題,以及為什麼一個標記是提示你去檢視,而不是一項結論。
  • 可選匯出export_include_typing_dynamics 寫出一個摘要附屬檔案,--format keystrokes 把原始事件流寫入 Parquet。兩者都不預設開啟,行為資料不會意外進入資料集釋出。

向標註者披露預設開啟,關閉它會在啟動時記錄一條警告。


Potato 2.7.1

釋出於 2026 年 7 月

轉錄稿匯入,前提是轉錄稿已經存在。有人跑過 Whisper,或者下載了字幕,或者拿到了一份語料,而下一步不該是寫轉換指令碼。

  • 21 種轉錄稿與字幕格式,此前是 6 種。Whisper、WhisperX、whisper.cpp、AWS Transcribe、Deepgram、AssemblyAI、Rev.ai、SPoRC、SubRip、WebVTT、SubStation Alpha、TTML/DFXP、YouTube json3srv1/srv2/srv3、NIST CTM、Praat TextGrid 以及 ELAN EAF。按檔案內容識別,而不是按副檔名。
  • 附屬轉錄稿檔案 — 資料檔案可以指向磁碟上的 media/int_001.srt,而不必把轉錄內容內聯進來。路徑經過標準的路徑安全檢查在 task_dir 下解析,所以轉錄稿仍然是你能 diff、能重新匯出的檔案。
  • potato transcripts — 一個轉換器,把一整個資料夾的 ASR 輸出變成可直接標註的資料檔案,按檔案基名把轉錄稿和媒體配對。--dry-run 在寫入任何東西之前先報告它識別到了什麼,--emit-config 列印一份對應的配置。
  • 四種 schema 共用同一套格式詞彙speech_transcriptvoice_interactiontiered_annotation 現在都接受 audio_dialogue 顯示類型接受的全部格式。此前只有顯示類型支援。
  • 標註 Whisper 轉錄稿標註 YouTube 字幕 從這兩種起點各完整走了一遍。

ASR 和說話人分離仍然在上游完成。Potato 讀取它們的輸出,自己不做轉寫。


Potato 2.7.0

釋出於 2026 年 7 月

Potato 2.7 建立在一個想法上:標註工具應該測量判斷是怎麼做出的,而不只是記錄判斷的結果。這對兩類判斷者都適用——做標註的人,以及被評估的 AI 模型。

測量人類如何標註

七項可選功能,都不需要 LLM。

  • 心理測量學引擎 — 一個即時的項目反應理論層,給每個標籤一個後驗機率和置信區間(p = 0.94 [0.88–0.97]),而不是一個光禿禿的多數投票。它僅憑一致性模式估計標註者能力和項目難度,把項目分派給判斷資訊量最大的標註者,並標出可能的編碼手冊漏洞。
  • 多人協作房間 — 你的團隊本來就在螢幕共享裡開的校準會議,被搬進工具並加上了測量:盲投、主持人揭曉、討論、復投,還有一個即時的 Krippendorff's α 儀表顯示這場會議值多少。
  • 邊界實驗室 — 每次標註之後追加反事實探針(「換成這樣還成立嗎?」),把普通標註變成對比集,並且不用埋金標準項目就能發現前後不一致的標註者。
  • Truth Serum — 「意外地受歡迎」同伴預測計分法,在標註本身很難的場景裡勝過多數投票,且不需要金標準標籤。
  • Think-Aloud 模式 — 標註者一邊工作一邊說話;語音轉文字完全在本地執行,逐字轉錄稿直接成為理由說明。
  • 論文模式 — 一條命令把項目變成可編譯的 LaTeX 資料集報告,含一致性統計和引用。
  • 口袋模式 — 一等公民的移動端標註,帶可滑動卡片堆、離線同步和 PWA 安裝。

評估 AI 智慧體

智慧體評估套件擴充套件到了團隊結構和多模態智慧體:可點選的智慧體互動圖、跨智慧體失敗歸因、交接審查、單個智慧體和團隊記分卡、工具爭用時間線、湧現行為標註,以及 GUI/計算機操作軌跡、全雙工語音時間線、影片時間定位和文件表格結構

其他各處

跨文件事件標註、輪次級標註、帶全頁編輯器的活文件式編碼手冊、可選 OCR 的 PDF 跨頁連結、帶按佇列分組 schema 的 RBAC 角色、10 種語言的管理員和標註者儀表板,以及輕得多的安裝——AI SDK 現在延遲載入,啟動時間從約 2.0 秒降到 0.7 秒。


Potato 2.6.0

釋出於 2026 年 6 月

Potato 2.6 進入定性資料分析領域,並加深了智慧體評估工具集。它新增了 QDA 模式、帶訊號分診佇列的 LLM 評判校準與對齊工作流,以及能產出 SFT 和 DPO 訓練資料的軌跡編輯 schema。Potato 同時改用 GPL-3.0-or-later 許可(此前為 PolyForm Shield)。

QDA 模式

可選的 qda_mode 把 Potato 變成協作式定性編碼工作區。啟用它會同時裝配活文件式編碼手冊、原生編碼(in-vivo)、分析備忘、案例和全文檢索,預設值針對一位分析員編碼整個語料的場景調優。

yaml
qda_mode:
  enabled: true            # codebook + memos + cases + search
codebook_invivo_key: i     # mint a code from a text selection
search:
  enabled: true
  annotator_claim: true

瞭解更多關於 QDA 模式 →

LLM 評判校準與對齊

先用一個或多個 LLM 評判者自動打標,然後跑一輪盲測的人工校準來衡量準確率、一致性和校準誤差。另有一套單評判者對齊工作流,在你打磨評分標準的過程中追蹤與人工金標準之間的 Cohen's kappa,並可在標註過程中內聯顯示評判結果。

瞭解更多關於評判校準 → · 評判對齊 →

基於訊號的分診佇列

按每個項目的品質訊號給標註佇列排序——智慧體報錯、線上的點踩、低分,或任意自定義欄位——讓審查者先看到最可疑的項目,而不是按到達順序看。

yaml
triage:
  enabled: true
  signal_field: quality_score
  invert_signal: true
assignment_strategy: priority

瞭解更多關於分診佇列 →

面向 SFT/DPO 的軌跡編輯

新增的 trajectory_edittrajectory_correction schema 讓標註者可以改寫智慧體軌跡中的步驟。匯出器把每一對原始/修正內容變成監督微調目標(trajectory_sft.jsonl)和 DPO 偏好對(trajectory_dpo.jsonl)。

瞭解更多關於軌跡編輯 →

eval_trace 顯示類型

一個三欄的智慧體軌跡顯示類型——推理、函式呼叫和最終答案——為持續評估而設計:軌跡通過 webhook、Langfuse 輪詢器或被監視的目錄到達,並在到達時被評判。

瞭解更多關於 eval_trace →

工作流與分派

  • 異構覆蓋 — 按項目設定標註者上限、標註者間一致性報告,以及針對不同項目需要不同標註人數的任務的裁決路由。
  • 回收被放棄的分派 — 找回被 Prolific 或品質控制攔截的工作者留下的分派,留存時間可配置,回收操作冪等。
  • 自定義批次分派策略 — 把預先定義好的項目批次分配給特定標註者。
  • 反向代理 URL 字首 — 在反向代理後以子路徑提供 Potato 服務。

許可

Potato 現在以 GPL-3.0-or-later 釋出,從 PolyForm Shield 改換而來。你可以使用、修改和再分發它,包括商業用途,只要衍生作品仍然採用 GPL。詳見關於頁面

效能與穩定性

  • 啟動大約快了 3 倍。 ML 棧不再在啟動時被急切載入:匯入時間從約 6.5 秒降到 2 秒,5 萬項目的啟動從約 10 秒降到 5.7 秒,常駐記憶體從約 750MB 降到 365MB。
  • Schema 更名。 annotation_type: highlight 現在叫 span,並提供了遷移。改名即可更新舊配置;已有的 span 配置不受影響。
  • 一輪範圍很廣的 QA 加固,涉及路由註冊、培訓階段、Prolific、持久化、匯出與問卷處理、webhook、單人模式和主動學習。

Potato 2.5.0

釋出於 2026 年

一波定性編碼功能,讓 Potato 在原有的 NLP 與 ML 標註能力之外,也能勝任定性研究工作流。

  • 標註者間一致性 — 除 Krippendorff's alpha 外,新增 Cohen's kappa(兩兩)和 Fleiss' kappa(N 位評分者),通過管理員一致性 API 暴露。參見標註者間一致性指南
  • 新匯出器codebook(按 schema 輸出 CSV,含編碼層級、顏色、描述和使用次數)和 quotation_report(按片段輸出 CSV,含文本、偏移量、來源文件和編碼者)。
  • 編碼分析 — 用於編碼兩兩共現,以及基於既有實例後設資料的編碼-屬性交叉表的管理員端點。

Potato 2.4.5

釋出於 2026 年

一個穩定性與工具版本。

  • 經驗證的迭代改進 — 一個可插拔框架,用於迭代改進單人模式的標註指南,並對指南自相矛盾和後設資料洩漏設有防護。
  • 配置校驗器 — 新的 python -m potato.validate_cli 命令列工具,對照已知配置 schema 檢查配置鍵。
  • 安全 — 修復了路徑校驗中的同級字首路徑穿越繞過(GHSA-q9m2-fhv9-3jcf)。
  • 修復涉及儲存/導航狀態同步、Prolific 整合、多階段導航和品質控制反饋。

Potato 2.3.0

釋出於 2026 年 3 月 9 日

Potato 2.3 是 Potato 歷史上最大的一次釋出,引入了智慧體標註、單人模式、最優-最差量表、SSO/OAuth 認證、Parquet 匯出、15 個新的演示項目和安全加固。

智慧體標註

一套通過人工標註評估 AI 智慧體的完整系統。包含 12 個軌跡格式轉換器、3 種專用顯示類型和 9 個預置標註 schema。

12 個軌跡格式轉換器 — 從 OpenAI、Anthropic、SWE-bench、OpenTelemetry、MCP、CrewAI/AutoGen/LangGraph、LangChain、LangFuse、ReAct、WebArena/VisualWebArena、ATIF 以及原始瀏覽器錄製匯入智慧體軌跡。支援自動識別。

yaml
agentic:
  enabled: true
  trace_converter: react       # or openai, anthropic, webarena, auto, etc.
  trace_file: "data/traces.jsonl"

3 種顯示類型:

  • 智慧體軌跡顯示 — 彩色編碼的步驟卡片,可摺疊的觀察內容、JSON 美化輸出,以及面向工具呼叫型智慧體的時間線側欄
  • 網頁智慧體軌跡顯示 — 完整截圖配 SVG 疊加層,標出點選目標、文本輸入和滾動操作;面向瀏覽型智慧體的膠片條導航
  • 互動式聊天顯示 — 即時聊天模式(標註者通過代理與智慧體互動)和麵向對話型智慧體的軌跡審查模式

逐輪評分 — 在整體軌跡之外,對單個步驟單獨評分,做更細粒度的評估。

9 個預置 schemaagent_task_successagent_step_correctnessagent_error_taxonomyagent_safetyagent_efficiencyagent_instruction_followingagent_explanation_qualityagent_web_action_correctnessagent_conversation_quality

智慧體代理系統 — OpenAI、HTTP 和 echo 代理,用於即時智慧體評估。

瞭解更多關於智慧體標註 →


單人模式

一個 12 階段的智慧工作流,由一位人類標註者與 LLM 協作標註整個資料集,在只需 10-15% 人工標籤的情況下,與多標註者流水線達到 95% 以上的一致性。

12 個階段:

  1. 種子標註 — 人類標註 50 個多樣化實例
  2. 初始 LLM 校準 — LLM 參照種子示例進行標註
  3. 混淆分析 — 識別系統性的分歧模式
  4. 指南改進 — LLM 提出修改,人類批准更新後的指南
  5. 標註函式生成 — 受 ALCHEmist 啟發的程式化規則
  6. 主動標註 — 人類標註資訊量最大的實例
  7. 自動改進迴圈 — 用改進後的指南迭代重新標註
  8. 分歧探查 — 人類解決 LLM 與標註函式之間的衝突
  9. 邊緣案例合成 — LLM 生成有歧義的示例交由人類標註
  10. 級聯置信度上報 — 人類審查置信度最低的標籤
  11. 提示詞最佳化 — 受 DSPy 啟發的自動提示詞搜尋
  12. 最終驗證 — 隨機抽樣審查
yaml
solo_mode:
  enabled: true
  llm:
    endpoint_type: openai
    model: "gpt-4o"
    api_key: ${OPENAI_API_KEY}
  seed_count: 50
  accuracy_threshold: 0.92

多訊號實例優先順序排序 — 6 個加權池(uncertain、disagreement、boundary、novel、error_pattern、random),用於挑選最有價值的實例。

瞭解更多關於單人模式 →


最優-最差量表

一種高效的比較式標註方式,標註者從一組元組中選出最好和最差的項目。自動生成元組,採用平衡不完全區組設計,並提供三種計分方法(計數法、Bradley-Terry、Plackett-Luce)。

yaml
annotation_schemes:
  - annotation_type: bws
    name: fluency
    tuple_size: 4
    best_description: "Most Fluent"
    worst_description: "Least Fluent"

瞭解更多關於最優-最差量表 →


SSO 與 OAuth 認證

可用於生產環境的認證方案,支援 Google OAuth(限制域名)、GitHub OAuth(限制組織)和通用 OIDC(Okta、Azure AD、Auth0、Keycloak)。支援自動註冊、混合模式和會話管理。

yaml
authentication:
  method: google_oauth
  google_oauth:
    client_id: ${GOOGLE_CLIENT_ID}
    client_secret: ${GOOGLE_CLIENT_SECRET}
    allowed_domains:
      - "umich.edu"
    auto_register: true

瞭解更多關於 SSO 與 OAuth →


Parquet 匯出

把標註匯出為 Apache Parquet 格式,生成三個結構化檔案:annotations.parquetspans.parquetitems.parquet。支援 snappy、gzip、zstd、lz4 和 brotli 壓縮、增量匯出,以及按日期/標註者分割槽。可配合 pandas、DuckDB、PyArrow、Polars 和 Hugging Face Datasets 使用。

yaml
parquet_export:
  enabled: true
  output_dir: "output/parquet/"
  compression: zstd
  auto_export: true

瞭解更多關於 Parquet 匯出 →


15 個新的演示項目

project-hub/ 中新增的演示涵蓋智慧體標註(5 個)、單人模式(3 個)、最優-最差量表(3 個)、認證(2 個)和匯出工作流(2 個)。用 potato start config.yaml 啟動任意演示。


安全加固

  • 加密安全的會話令牌,過期時間可配置
  • 預設啟用 CSRF 防護
  • 認證端點限流
  • 對使用者提供內容做輸入清理
  • 依賴審計,所有包已更新
  • 內容安全策略(CSP)響應頭

其他改進

  • 為不受支援的智慧體框架編寫自定義軌跡轉換器
  • 帶多標註者抽樣驗證的混合單人模式
  • BWS 管理員儀表板標籤頁,含分數收斂圖表
  • 支援按日期分割槽的增量 Parquet 匯出

v2.2 與 v2.3 對比

功能v2.2v2.3
智慧體標註不可用12 個轉換器、3 種顯示類型、9 個 schema
單人模式不可用12 階段人類-LLM 工作流
最優-最差量表不可用BWS,含 3 種計分方法
認證僅使用者名稱增加 Google OAuth、GitHub OAuth、OIDC
Parquet 匯出不可用3 檔案 Parquet,6 種壓縮選項
演示項目125+140+(15 個新增)
安全基礎CSRF、限流、CSP、安全會話

Potato 2.2.0

釋出於 2026 年 2 月 20 日

Potato 2.2 是一個重要的功能版本,包含 9 種新的標註方案、可插拔的匯出系統、MACE 能力評估、55 個經過驗證的調查問卷以及遠端資料來源。

新增標註方案(9 種)

事件標註 — N 元事件結構,包含觸發詞片段和類型化參數角色。標註 ATTACK、HIRE 和 TRAVEL 等事件,支援受約束的實體參數和輻射狀弧形視覺化。

yaml
annotation_schemes:
  - annotation_type: event_annotation
    name: events
    span_schema: entities
    event_types:
      - type: "ATTACK"
        trigger_labels: ["EVENT_TRIGGER"]
        arguments:
          - role: "attacker"
            entity_types: ["PERSON", "ORGANIZATION"]
            required: true

瞭解更多關於事件標註 →

實體連結 — 將片段標註連結到外部知識庫(Wikidata、UMLS、自定義 REST API)。在任何片段方案中新增 entity_linking: 塊即可啟用知識庫搜尋和連結。

瞭解更多關於實體連結 →

分診 — Prodigy 風格的接受/拒絕/跳過介面,用於快速資料篩選。可自定義標籤、鍵盤快捷鍵和自動推進,實現高吞吐量標註。

瞭解更多關於分診 →

成對比較 — 以二元(點選偏好選項)或量表(滑塊)模式比較兩個項目。支援 items_keyallow_tiescale: 塊及可配置範圍。

瞭解更多關於成對比較 →

對話樹 — 標註層次化對話結構,支援逐節點評分、路徑選擇和分支比較。

瞭解更多關於對話樹 →

共指鏈 — 將共指文本提及分組為鏈,帶有視覺化指示器。支援實體類型、單例控制和多種高亮模式。

瞭解更多關於共指鏈 →

分割掩碼 — 新增 filleraserbrush 工具,用於畫素級影像分割。

PDF/文件的邊界框 — 在 PDF 頁面上繪製框,用於文件標註任務。

不連續片段allow_discontinuous: true 允許選擇不連續的文本段落作為單個片段。


智慧標註

MACE 能力評估 — 變分貝葉斯 EM 演算法,聯合估計真實標籤和標註者能力得分(0.0-1.0)。適用於 radio、likert、select 和 multiselect 方案。

yaml
mace:
  enabled: true
  trigger_every_n: 10
  min_annotations_per_item: 3

瞭解更多關於 MACE →

選項高亮 — 基於 LLM 的可能正確選項高亮,用於離散標註任務。用星標指示器高亮前 k 個選項,同時降低不太可能選項的透明度。

yaml
ai_support:
  option_highlighting:
    enabled: true
    top_k: 3
    dim_opacity: 0.4

瞭解更多關於選項高亮 →

多樣性排序 — 基於嵌入的聚類和輪詢取樣,確保標註者看到多樣化的內容,而不是連續看到相似的項目。

yaml
assignment_strategy: diversity_clustering
diversity_ordering:
  enabled: true
  prefill_count: 100

瞭解更多關於多樣性排序 →


匯出系統

新的可插拔匯出 CLI(python -m potato.export)可將標註轉換為 6 種行業標準格式:COCO、YOLO、Pascal VOC、CoNLL-2003、CoNLL-U 和分割掩碼。

bash
python -m potato.export --config config.yaml --format coco --output ./export/

瞭解更多關於匯出格式 →


遠端資料來源

通過新的 data_sources: 配置塊,從 URL、S3、Google Drive、Dropbox、Hugging Face、Google Sheets 和 SQL 資料庫載入標註資料。包括部分載入、快取和憑證管理。

瞭解更多關於遠端資料來源 →


調查問卷

55 個經過驗證的問卷,涵蓋 8 個類別(人格、心理健康、情感、自我概念、社會態度、回應風格、簡短表單、人口統計)。在預研究/後研究階段使用 instrument: "tipi"

瞭解更多關於調查問卷 →


其他改進

  • 帶有關鍵幀插值的影片物件跟蹤
  • 外部 AI 配置檔案支援
  • 表單佈局網格改進
  • PDF、Word、程式碼和電子表格的格式處理器

Potato 2.1.0

釋出於 2026 年 2 月 5 日

Potato 2.1 引入了實例顯示系統、視覺 AI 支援、片段連結、多欄位片段標註和佈局自定義。

實例顯示系統

新的 instance_display 配置塊將內容顯示與標註分離。在任何標註方案旁邊顯示影像、影片、音訊、文本和對話的任意組合。

yaml
instance_display:
  fields:
    - key: image_url
      type: image
      display_options:
        max_width: 600
        zoomable: true
    - key: description
      type: text
 
annotation_schemes:
  - annotation_type: radio
    name: category
    labels: [nature, urban, people]

支援 11 種顯示類型,包括 texthtmlimagevideoaudiodialoguepairwisecodespreadsheetdocumentpdf

瞭解更多關於實例顯示 →


多欄位片段標註

片段標註方案現在支援 target_field 選項,可在同一實例中跨多個文本欄位進行標註。

yaml
annotation_schemes:
  - annotation_type: span
    name: source_entities
    labels: [PERSON, ORGANIZATION]
 
  - annotation_type: span
    name: summary_entities
    labels: [PERSON, ORGANIZATION]

瞭解更多關於片段標註 →


片段連結

新的 span_link 標註類型,用於在已標註的片段之間建立類型化關係。支援有向和無向連結、N 元關係、視覺化弧形顯示和標籤約束。

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    labels:
      - name: "PERSON"
        color: "#3b82f6"
      - name: "ORGANIZATION"
        color: "#22c55e"
 
  - annotation_type: span_link
    name: relations
    span_schema: entities
    link_types:
      - name: "WORKS_FOR"
        directed: true
        allowed_source_labels: ["PERSON"]
        allowed_target_labels: ["ORGANIZATION"]
        color: "#dc2626"

瞭解更多關於片段連結 →


視覺 AI 支援

四個新的視覺端點,用於 AI 輔助的影像和影片標註:

  • YOLO — 快速本地目標檢測
  • Ollama Vision — 本地視覺語言模型(LLaVA、Qwen-VL)
  • OpenAI Vision — GPT-4o 雲端視覺
  • Anthropic Vision — 帶視覺功能的 Claude

功能包括目標檢測、預標註、分類、提示、場景檢測、關鍵幀檢測和物件跟蹤。

瞭解更多關於視覺 AI 支援 →


佈局自定義

使用 HTML 模板和 CSS 建立複雜的自定義視覺佈局。Potato 生成可編輯的佈局檔案,或者您可以提供完全自定義的模板,包括網格佈局、顏色編碼選項和部分樣式。

yaml
task_layout: layouts/custom_task_layout.html

包含三個示例佈局:內容稽核、對話問答和醫學審查。

瞭解更多關於佈局自定義 →


標籤理據

第四項 AI 功能,生成關於每個標籤為何可能適用的平衡解釋,幫助標註者理解不同的分類視角。

yaml
ai_support:
  features:
    rationales:
      enabled: true

瞭解更多關於 AI 支援 →


其他改進

  • 50 多個新測試以提高可靠性
  • 響應式設計改進
  • 增強的項目中心組織,包含佈局示例
  • 多種標註類型的錯誤修復

v2.0 與 v2.1 對比

功能v2.0v2.1
實例顯示通過標註方案變通實現專用 instance_display
片段目標單個文本欄位通過 target_field 支援多欄位
片段連結不可用完整的 span_link 類型
視覺 AI不可用YOLO、Ollama Vision、OpenAI Vision、Anthropic Vision
佈局自定義基本自動生成自動生成 + 自定義模板
AI 功能3 種(提示、關鍵詞、建議)4 種(+ 理據)

Potato 2.0

Potato 2.0 是一個重要版本,引入了強大的智慧、可擴充套件標註新功能。本節重點介紹主要新增功能和改進。

AI 支援

整合大語言模型,通過智慧提示、關鍵詞高亮和標籤建議來輔助標註者。

支援的提供商:

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude 3, Claude 3.5)
  • Google (Gemini)
  • Ollama(本地模型)
  • vLLM(自託管)
yaml
ai_support:
  enabled: true
  endpoint_type: openai
  ai_config:
    model: gpt-4
    api_key: ${OPENAI_API_KEY}
  features:
    hints:
      enabled: true
    label_suggestions:
      enabled: true

瞭解更多關於 AI 支援 →


音訊標註

功能齊全的音訊標註,基於 Peaks.js 提供波形視覺化。建立片段、標記時間區域,並使用鍵盤快捷鍵標註語音。

主要功能:

  • 波形視覺化
  • 片段建立和標記
  • 逐片段標註問題
  • 15 個以上鍵盤快捷鍵
  • 服務端波形快取
yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: speakers
    mode: label
    labels:
      - Speaker A
      - Speaker B

瞭解更多關於音訊標註 →


主動學習

根據模型不確定性自動優先排序標註實例。在現有標註上訓練分類器,並將標註者集中在最有資訊量的樣本上。

功能:

  • 多種分類器選項(LogisticRegression、RandomForest、SVC、MultinomialNB)
  • 多種向量化方法(TF-IDF、Count、Hashing)
  • 跨重啟的模型持久化
  • LLM 增強選擇
  • 多方案支援
yaml
active_learning:
  enabled: true
  schema_names:
    - sentiment
  min_instances_for_training: 30
  update_frequency: 50
  classifier:
    type: LogisticRegression

瞭解更多關於主動學習 →


訓練階段

在主任務之前通過練習題對標註者進行資格認證。提供即時反饋,並通過可配置的通過標準確保品質。

功能:

  • 帶已知答案的練習題
  • 即時反饋和解釋
  • 可配置的通過標準
  • 重試選項
  • 管理儀表板中的進度跟蹤
yaml
phases:
  training:
    enabled: true
    data_file: "data/training.json"
    passing_criteria:
      min_correct: 8
      total_questions: 10

瞭解更多關於訓練階段 →


增強的管理儀表板

用於標註任務的綜合監控和管理介面。

儀表板標籤頁:

  • 概覽:高層指標和完成率
  • 標註者:效能跟蹤、時間分析
  • 實例:瀏覽資料及分歧評分
  • 配置:即時設定調整
yaml
admin_api_key: ${ADMIN_API_KEY}

瞭解更多關於管理儀表板 →


資料庫後端

MySQL 支援大規模部署,提供連線池和事務支援。

yaml
database:
  type: mysql
  host: localhost
  database: potato_db
  user: ${DB_USER}
  password: ${DB_PASSWORD}

Potato 在首次啟動時自動建立所需的表。


標註歷史

完整跟蹤所有標註更改,包括時間戳、使用者 ID 和操作類型。支援審計和行為分析。

json
{
  "history": [
    {
      "timestamp": "2024-01-15T10:30:00Z",
      "user": "annotator_1",
      "action": "create",
      "schema": "sentiment",
      "value": "Positive"
    }
  ]
}

多階段工作流

構建包含多個連續階段的複雜標註工作流:

  1. 知情同意 - 知情同意收集
  2. 預研究 - 人口統計和篩選
  3. 說明 - 任務指南
  4. 訓練 - 練習題
  5. 標註 - 主任務
  6. 後研究 - 反饋調查
yaml
phases:
  consent:
    enabled: true
    data_file: "data/consent.json"
  prestudy:
    enabled: true
    data_file: "data/demographics.json"
  training:
    enabled: true
    data_file: "data/training.json"
  poststudy:
    enabled: true
    data_file: "data/feedback.json"

瞭解更多關於多階段工作流 →


v2.0 配置變更

新的配置結構

Potato 2.0 使用更簡潔的配置格式:

v1(舊版):

yaml
data_files:
  - data.json
id_key: id
text_key: text
output_file: annotations.json

v2(新版):

yaml
data_files:
  - "data/data.json"
 
item_properties:
  id_key: id
  text_key: text
 
output_annotation_dir: "output/"
output_annotation_format: "json"

安全要求

配置檔案現在必須位於 task_dir 內:

yaml
# Valid - config.yaml is in the project directory
task_dir: "."
 
# Valid - config in configs/ subdirectory
task_dir: "my_project/"

快速對比

功能v1v2.0v2.1v2.2v2.3
AI/LLM 支援是 + 視覺 AI + 理據+ 選項高亮+ 單人模式
智慧體標註12 個轉換器、3 種顯示類型
最優-最差量表是(3 種計分方法)
音訊標註基礎完整波形完整波形完整波形完整波形
主動學習是 + 多樣性排序+ 單人模式整合
實例顯示
片段連結
事件標註
實體連結
成對比較/分診/共指/對話樹
佈局自定義自動生成自動 + 自定義模板自動 + 自定義模板自動 + 自定義模板
訓練階段
管理儀表板基礎增強增強增強 + MACE+ BWS 標籤頁、單人模式
資料庫後端僅檔案檔案 + MySQL檔案 + MySQL檔案 + MySQL檔案 + MySQL
匯出 CLI是(COCO、YOLO、CoNLL 等)+ Parquet
認證使用者名稱使用者名稱使用者名稱使用者名稱+ Google/GitHub OAuth、OIDC
調查問卷55 個經驗證的問卷55 個經驗證的問卷
遠端資料來源S3、GDrive、HuggingFace 等S3、GDrive、HuggingFace 等

遷移指南

更新配置(v1 到 v2)

  1. 資料配置

    yaml
    # Old
    id_key: id
    text_key: text
     
    # New
    item_properties:
      id_key: id
      text_key: text
  2. 輸出配置

    yaml
    # Old
    output_file: annotations.json
     
    # New
    output_annotation_dir: "output/"
    output_annotation_format: "json"
  3. 配置檔案位置 確保配置檔案位於項目目錄內。

啟動伺服器

bash
# v2 command
python -m potato start config.yaml -p 8000
 
# Or shorthand
potato start config.yaml

開始使用

準備好試用 Potato 了嗎?從快速入門指南開始,或探索特定功能:

v2.3 功能:

v2.2 功能:

v2.1 功能:

核心功能: