新功能
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 單元。集合值、順序值、矩陣和帶文字標籤的定序方案的一致性數值會發生變化,應重新計算。完整列表見釋出說明。
pip install --upgrade potato-annotation匯入與匯出
- brat、doccano、Prodigy、CoNLL-2003/CoNLL-U 和 REFI-QDA
.qdpx的匯入器,以及.qdpx匯出器。參見匯入項目。 - 匯出中的來源資訊。 每個影像形狀都會記錄它是由人繪製還是由模型提議的(
source、ai_model、confidence、edited、carried_over、import_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_annotation和pre_annotation_seeds,因此可以用你自己的資料衡量採納率。
部署與介面
- 每個頁面都支援反向代理和路徑字首(#168,Aldo Costa)。參見反向代理。
card_sort無需滑鼠即可操作,移動會播報給螢幕閱讀器。resizable、max_height和min_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 檢出執行的人從未遇到這個問題。該問題已由 @0x6362 在 PR #164 中修復。
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_eval和region_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
json3與srv1/srv2/srv3、NIST CTM、Praat TextGrid 以及 ELAN EAF。按檔案內容識別,而不是按副檔名。 - 附屬轉錄稿檔案 — 資料檔案可以指向磁碟上的
media/int_001.srt,而不必把轉錄內容內聯進來。路徑經過標準的路徑安全檢查在task_dir下解析,所以轉錄稿仍然是你能 diff、能重新匯出的檔案。 potato transcripts— 一個轉換器,把一整個資料夾的 ASR 輸出變成可直接標註的資料檔案,按檔案基名把轉錄稿和媒體配對。--dry-run在寫入任何東西之前先報告它識別到了什麼,--emit-config列印一份對應的配置。- 四種 schema 共用同一套格式詞彙 —
speech_transcript、voice_interaction和tiered_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)、分析備忘、案例和全文檢索,預設值針對一位分析員編碼整個語料的場景調優。
qda_mode:
enabled: true # codebook + memos + cases + search
codebook_invivo_key: i # mint a code from a text selection
search:
enabled: true
annotator_claim: trueLLM 評判校準與對齊
先用一個或多個 LLM 評判者自動打標,然後跑一輪盲測的人工校準來衡量準確率、一致性和校準誤差。另有一套單評判者對齊工作流,在你打磨評分標準的過程中追蹤與人工金標準之間的 Cohen's kappa,並可在標註過程中內聯顯示評判結果。
基於訊號的分診佇列
按每個項目的品質訊號給標註佇列排序——智慧體報錯、線上的點踩、低分,或任意自定義欄位——讓審查者先看到最可疑的項目,而不是按到達順序看。
triage:
enabled: true
signal_field: quality_score
invert_signal: true
assignment_strategy: priority面向 SFT/DPO 的軌跡編輯
新增的 trajectory_edit 和 trajectory_correction schema 讓標註者可以改寫智慧體軌跡中的步驟。匯出器把每一對原始/修正內容變成監督微調目標(trajectory_sft.jsonl)和 DPO 偏好對(trajectory_dpo.jsonl)。
eval_trace 顯示類型
一個三欄的智慧體軌跡顯示類型——推理、函式呼叫和最終答案——為持續評估而設計:軌跡通過 webhook、Langfuse 輪詢器或被監視的目錄到達,並在到達時被評判。
工作流與分派
- 異構覆蓋 — 按項目設定標註者上限、標註者間一致性報告,以及針對不同項目需要不同標註人數的任務的裁決路由。
- 回收被放棄的分派 — 找回被 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 以及原始瀏覽器錄製匯入智慧體軌跡。支援自動識別。
agentic:
enabled: true
trace_converter: react # or openai, anthropic, webarena, auto, etc.
trace_file: "data/traces.jsonl"3 種顯示類型:
- 智慧體軌跡顯示 — 彩色編碼的步驟卡片,可摺疊的觀察內容、JSON 美化輸出,以及面向工具呼叫型智慧體的時間線側欄
- 網頁智慧體軌跡顯示 — 完整截圖配 SVG 疊加層,標出點選目標、文本輸入和滾動操作;面向瀏覽型智慧體的膠片條導航
- 互動式聊天顯示 — 即時聊天模式(標註者通過代理與智慧體互動)和麵向對話型智慧體的軌跡審查模式
逐輪評分 — 在整體軌跡之外,對單個步驟單獨評分,做更細粒度的評估。
9 個預置 schema — agent_task_success、agent_step_correctness、agent_error_taxonomy、agent_safety、agent_efficiency、agent_instruction_following、agent_explanation_quality、agent_web_action_correctness、agent_conversation_quality。
智慧體代理系統 — OpenAI、HTTP 和 echo 代理,用於即時智慧體評估。
單人模式
一個 12 階段的智慧工作流,由一位人類標註者與 LLM 協作標註整個資料集,在只需 10-15% 人工標籤的情況下,與多標註者流水線達到 95% 以上的一致性。
12 個階段:
- 種子標註 — 人類標註 50 個多樣化實例
- 初始 LLM 校準 — LLM 參照種子示例進行標註
- 混淆分析 — 識別系統性的分歧模式
- 指南改進 — LLM 提出修改,人類批准更新後的指南
- 標註函式生成 — 受 ALCHEmist 啟發的程式化規則
- 主動標註 — 人類標註資訊量最大的實例
- 自動改進迴圈 — 用改進後的指南迭代重新標註
- 分歧探查 — 人類解決 LLM 與標註函式之間的衝突
- 邊緣案例合成 — LLM 生成有歧義的示例交由人類標註
- 級聯置信度上報 — 人類審查置信度最低的標籤
- 提示詞最佳化 — 受 DSPy 啟發的自動提示詞搜尋
- 最終驗證 — 隨機抽樣審查
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)。
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)。支援自動註冊、混合模式和會話管理。
authentication:
method: google_oauth
google_oauth:
client_id: ${GOOGLE_CLIENT_ID}
client_secret: ${GOOGLE_CLIENT_SECRET}
allowed_domains:
- "umich.edu"
auto_register: trueParquet 匯出
把標註匯出為 Apache Parquet 格式,生成三個結構化檔案:annotations.parquet、spans.parquet 和 items.parquet。支援 snappy、gzip、zstd、lz4 和 brotli 壓縮、增量匯出,以及按日期/標註者分割槽。可配合 pandas、DuckDB、PyArrow、Polars 和 Hugging Face Datasets 使用。
parquet_export:
enabled: true
output_dir: "output/parquet/"
compression: zstd
auto_export: true15 個新的演示項目
project-hub/ 中新增的演示涵蓋智慧體標註(5 個)、單人模式(3 個)、最優-最差量表(3 個)、認證(2 個)和匯出工作流(2 個)。用 potato start config.yaml 啟動任意演示。
安全加固
- 加密安全的會話令牌,過期時間可配置
- 預設啟用 CSRF 防護
- 認證端點限流
- 對使用者提供內容做輸入清理
- 依賴審計,所有包已更新
- 內容安全策略(CSP)響應頭
其他改進
- 為不受支援的智慧體框架編寫自定義軌跡轉換器
- 帶多標註者抽樣驗證的混合單人模式
- BWS 管理員儀表板標籤頁,含分數收斂圖表
- 支援按日期分割槽的增量 Parquet 匯出
v2.2 與 v2.3 對比
| 功能 | v2.2 | v2.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 等事件,支援受約束的實體參數和輻射狀弧形視覺化。
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_key、allow_tie、scale: 塊及可配置範圍。
對話樹 — 標註層次化對話結構,支援逐節點評分、路徑選擇和分支比較。
共指鏈 — 將共指文本提及分組為鏈,帶有視覺化指示器。支援實體類型、單例控制和多種高亮模式。
分割掩碼 — 新增 fill、eraser 和 brush 工具,用於畫素級影像分割。
PDF/文件的邊界框 — 在 PDF 頁面上繪製框,用於文件標註任務。
不連續片段 — allow_discontinuous: true 允許選擇不連續的文本段落作為單個片段。
智慧標註
MACE 能力評估 — 變分貝葉斯 EM 演算法,聯合估計真實標籤和標註者能力得分(0.0-1.0)。適用於 radio、likert、select 和 multiselect 方案。
mace:
enabled: true
trigger_every_n: 10
min_annotations_per_item: 3選項高亮 — 基於 LLM 的可能正確選項高亮,用於離散標註任務。用星標指示器高亮前 k 個選項,同時降低不太可能選項的透明度。
ai_support:
option_highlighting:
enabled: true
top_k: 3
dim_opacity: 0.4多樣性排序 — 基於嵌入的聚類和輪詢取樣,確保標註者看到多樣化的內容,而不是連續看到相似的項目。
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 和分割掩碼。
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 配置塊將內容顯示與標註分離。在任何標註方案旁邊顯示影像、影片、音訊、文本和對話的任意組合。
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 種顯示類型,包括 text、html、image、video、audio、dialogue、pairwise、code、spreadsheet、document 和 pdf。
多欄位片段標註
片段標註方案現在支援 target_field 選項,可在同一實例中跨多個文本欄位進行標註。
annotation_schemes:
- annotation_type: span
name: source_entities
labels: [PERSON, ORGANIZATION]
- annotation_type: span
name: summary_entities
labels: [PERSON, ORGANIZATION]片段連結
新的 span_link 標註類型,用於在已標註的片段之間建立類型化關係。支援有向和無向連結、N 元關係、視覺化弧形顯示和標籤約束。
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
功能包括目標檢測、預標註、分類、提示、場景檢測、關鍵幀檢測和物件跟蹤。
佈局自定義
使用 HTML 模板和 CSS 建立複雜的自定義視覺佈局。Potato 生成可編輯的佈局檔案,或者您可以提供完全自定義的模板,包括網格佈局、顏色編碼選項和部分樣式。
task_layout: layouts/custom_task_layout.html包含三個示例佈局:內容稽核、對話問答和醫學審查。
標籤理據
第四項 AI 功能,生成關於每個標籤為何可能適用的平衡解釋,幫助標註者理解不同的分類視角。
ai_support:
features:
rationales:
enabled: true其他改進
- 50 多個新測試以提高可靠性
- 響應式設計改進
- 增強的項目中心組織,包含佈局示例
- 多種標註類型的錯誤修復
v2.0 與 v2.1 對比
| 功能 | v2.0 | v2.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(自託管)
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音訊標註
功能齊全的音訊標註,基於 Peaks.js 提供波形視覺化。建立片段、標記時間區域,並使用鍵盤快捷鍵標註語音。
主要功能:
- 波形視覺化
- 片段建立和標記
- 逐片段標註問題
- 15 個以上鍵盤快捷鍵
- 服務端波形快取
annotation_schemes:
- annotation_type: audio_annotation
name: speakers
mode: label
labels:
- Speaker A
- Speaker B主動學習
根據模型不確定性自動優先排序標註實例。在現有標註上訓練分類器,並將標註者集中在最有資訊量的樣本上。
功能:
- 多種分類器選項(LogisticRegression、RandomForest、SVC、MultinomialNB)
- 多種向量化方法(TF-IDF、Count、Hashing)
- 跨重啟的模型持久化
- LLM 增強選擇
- 多方案支援
active_learning:
enabled: true
schema_names:
- sentiment
min_instances_for_training: 30
update_frequency: 50
classifier:
type: LogisticRegression訓練階段
在主任務之前通過練習題對標註者進行資格認證。提供即時反饋,並通過可配置的通過標準確保品質。
功能:
- 帶已知答案的練習題
- 即時反饋和解釋
- 可配置的通過標準
- 重試選項
- 管理儀表板中的進度跟蹤
phases:
training:
enabled: true
data_file: "data/training.json"
passing_criteria:
min_correct: 8
total_questions: 10增強的管理儀表板
用於標註任務的綜合監控和管理介面。
儀表板標籤頁:
- 概覽:高層指標和完成率
- 標註者:效能跟蹤、時間分析
- 實例:瀏覽資料及分歧評分
- 配置:即時設定調整
admin_api_key: ${ADMIN_API_KEY}資料庫後端
MySQL 支援大規模部署,提供連線池和事務支援。
database:
type: mysql
host: localhost
database: potato_db
user: ${DB_USER}
password: ${DB_PASSWORD}Potato 在首次啟動時自動建立所需的表。
標註歷史
完整跟蹤所有標註更改,包括時間戳、使用者 ID 和操作類型。支援審計和行為分析。
{
"history": [
{
"timestamp": "2024-01-15T10:30:00Z",
"user": "annotator_1",
"action": "create",
"schema": "sentiment",
"value": "Positive"
}
]
}多階段工作流
構建包含多個連續階段的複雜標註工作流:
- 知情同意 - 知情同意收集
- 預研究 - 人口統計和篩選
- 說明 - 任務指南
- 訓練 - 練習題
- 標註 - 主任務
- 後研究 - 反饋調查
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(舊版):
data_files:
- data.json
id_key: id
text_key: text
output_file: annotations.jsonv2(新版):
data_files:
- "data/data.json"
item_properties:
id_key: id
text_key: text
output_annotation_dir: "output/"
output_annotation_format: "json"安全要求
配置檔案現在必須位於 task_dir 內:
# Valid - config.yaml is in the project directory
task_dir: "."
# Valid - config in configs/ subdirectory
task_dir: "my_project/"快速對比
| 功能 | v1 | v2.0 | v2.1 | v2.2 | v2.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)
-
資料配置
yaml# Old id_key: id text_key: text # New item_properties: id_key: id text_key: text -
輸出配置
yaml# Old output_file: annotations.json # New output_annotation_dir: "output/" output_annotation_format: "json" -
配置檔案位置 確保配置檔案位於項目目錄內。
啟動伺服器
# v2 command
python -m potato start config.yaml -p 8000
# Or shorthand
potato start config.yaml開始使用
準備好試用 Potato 了嗎?從快速入門指南開始,或探索特定功能:
v2.3 功能:
- 智慧體標註 - 使用 12 種轉換器和 3 種顯示類型評估 AI 智慧體
- 單人模式 - 人機協同標註
- 最優-最差量表 - 帶評分的比較式標註
- SSO 與 OAuth - Google、GitHub 和 OIDC 身份驗證
- Parquet 匯出 - 列式資料匯出
v2.2 功能:
- 事件標註 - N 元事件結構
- 實體連結 - 知識庫連結
- 分診 - 快速資料篩選
- 共指鏈 - 實體共指
- 對話樹 - 層次化對話標註
- MACE - 標註者能力評估
- 選項高亮 - AI 輔助選項引導
- 多樣性排序 - 基於嵌入的項目排序
- 匯出格式 - 支援 6 種格式的匯出 CLI
- 遠端資料來源 - 雲端資料載入
- 調查問卷 - 55 個經驗證的問卷
v2.1 功能:
核心功能: