Skip to content

नया क्या है

Potato v2.x में नया क्या है। संस्करण 2.8 में कंप्यूटर विज़न, 3D पॉइंट क्लाउड, डेप्थ मैप, रोबोट एपिसोड और वर्ल्ड-मॉडल मूल्यांकन जुड़े हैं, साथ में ज्यामिति और समय पर chance-corrected सहमति भी। 61 एनोटेशन प्रकार, 24 डिस्प्ले प्रकार।

यह पृष्ठ Potato v2.x रिलीज़ में आई नई सुविधाओं और सुधारों को कवर करता है।


Potato 2.11.1

अक्टूबर 2026 में जारी

Potato 2.11.1 में potato start config.yaml --debug फिर से डिफ़ॉल्ट पते पर शुरू होता है, मॉडल ट्रेनिंग में इमेज क्लासिफ़ायर जुड़ते हैं, और वे प्रीलेबल ठीक होते हैं जो हर रीस्टार्ट पर खो जाते थे।

bash
pip install --upgrade potato-annotation

डीबग मोड

2.8.2 से 2.11.0 तक, डिफ़ॉल्ट 0.0.0.0 पते पर डीबग सर्वर तब तक शुरू नहीं होता था जब तक --host 127.0.0.1 न दिया जाए। 2.11.1 में यह किसी भी पते पर शुरू होता है, और नेटवर्क की दूसरी मशीनें इस तक पहुँच सकती हैं। डीबगिंग गाइड बताती है कि डीबग मोड अब क्या करता है:

  • लॉगिन पेज तब तक बना रहता है जब तक आप --debug-phase न जोड़ें। --debug-phase के साथ हर विज़िटर साझा debug_user के रूप में साइन इन होता है, इसलिए इसे किसी असली अध्ययन में उपयोग न करें।
  • एडमिन पेज बिना की के केवल सर्वर की अपनी मशीन से आए अनुरोधों के लिए खुलते हैं, यानी ऐसे loopback पते से जिसके अनुरोध में कोई X-Forwarded-For, X-Real-IP या Forwarded हेडर न हो। यह 127.0.0.1 बाइंड पर भी लागू होता है, जहाँ 2.11.0 हर अनुरोध को आने देता था, क्योंकि उसी मशीन पर चलने वाला प्रॉक्सी या टनल दूसरी मशीनों के अनुरोध 127.0.0.1 पर आगे भेजता है।
  • Werkzeug का इंटरैक्टिव डीबगर केवल 127.0.0.1 बाइंड पर चलता है, क्योंकि वह ब्राउज़र में टाइप किया गया कोड चलाता है।

POTATO_ALLOW_REMOTE_DEBUG अब पढ़ा नहीं जाता। --host 127.0.0.1 वाला डीबग कमांड अब भी काम करता है और अब भी आपको इंटरैक्टिव डीबगर देता है।

इमेज वर्गीकरण और प्रीलेबल

  • मॉडल ट्रेनिंग इमेज क्लासिफ़ायर फ़िट करती है। जिस radio या multiselect स्कीमा के आइटम इमेज फ़ाइलों के नाम देते हैं, उसे CLIP एम्बेडिंग पर प्रशिक्षित किया जाता है, जबकि पहले फ़ाइल पाथ पर TF-IDF फ़िट होता था। रिमोट या गायब इमेज एक चेतावनी के साथ छोड़ दी जाती हैं।
  • इमेज एक्टिव लर्निंग दस्तावेज़ में बताए अनुसार काम करती है। vectorizer: {name: image} CLIP वेक्टराइज़र बनाता है। पहले मैनेजर इस नाम से कुछ नहीं बना पाता था, इसलिए ऐसे अध्ययन की रैंकिंग फ़ाइल पाथ पर TF-IDF से होती थी।
  • लेबलिंग इंजन इमेज अध्ययन पर इमेज क्लासिफ़ायर डिस्टिल करता है (labeling_engine.distill.modality)।
  • बिना लेबल वाले आइटमों के लिए प्रीलेबल। model_training.writeback.include_unlabeled: true उन आइटमों पर प्रेडिक्शन करता है जिन पर अभी तक किसी ने लेबल नहीं लगाया। पहले कोई रन केवल उन held-out आइटमों पर प्रेडिक्शन करता था जिन पर पहले से लेबल थे, इसलिए write-back उन आइटमों तक कभी नहीं पहुँचता था जिनके लिए प्रीलेबल बनाए जाते हैं।

मॉडल ट्रेनिंग दस्तावेज़ ट्रेनिंग रन, write-back और रिव्यू कतार के बारे में बताता है।

पहले के अध्ययनों को प्रभावित करने वाले सुधार

  • प्रीलेबल रीस्टार्ट के बाद नहीं बचते थे। सहेजे गए प्रेडिक्शन को स्टार्टअप पर दोबारा लागू करने का चरण किसी भी आइटम के लोड होने से पहले चलता था, इसलिए हर रीस्टार्ट पर मॉडल रिव्यू कतार खाली हो जाती थी। अब यह आइटम लोड होने के बाद चलता है और वही जाँचें लागू करता है जो write-back करता है।
  • एक टेक्स्ट मॉडल URL पर प्रशिक्षित होता था। जिन आइटमों में url, path या file_name फ़ील्ड था, उनके लिए ट्रेनर को टेक्स्ट के बजाय उस फ़ील्ड का मान मिलता था।
  • SSO के साथ पासवर्ड रीसेट विफल होते थे। method: oauth और allow_local_login के साथ हर रीसेट त्रुटि देता था। अब स्थानीय खाते रीसेट किए जा सकते हैं।
  • ai_support OpenRouter को अस्वीकार करता था। endpoint_type: openrouter अब स्वीकार किया जाता है।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.11.0

अक्टूबर 2026 में जारी

Potato 2.11.0 लेबलिंग इंजन जोड़ता है, जो मॉडलों से किसी डेटासेट पर लेबल लगाता है और मानव लेबलों के एक ब्लाइंड, यादृच्छिक नमूने से मापता है कि मॉडल कितनी बार गलत होते हैं। आप तय करते हैं कि तैयार लेबलों को कौन-सी शर्त पूरी करनी है, जैसे "स्वीकार किए गए मशीन लेबलों में से अधिकतम 5% गलत हों, 90% विश्वास के साथ"। इंजन उन मशीन लेबलों को स्वीकार करता है जिनका समर्थन कोई सांख्यिकीय परीक्षण करता है, बाकी को लोगों के पास भेजता है, और एक प्रमाणपत्र लिखता है जिसमें दर्ज होता है कि क्या परखा गया और कितने मानव लेबलों पर। सेटअप लेबलिंग इंजन में बताया गया है।

निष्क्रिय सत्र अब साइन आउट हो जाते हैं, डिफ़ॉल्ट रूप से 8 घंटे बाद। 2.11.0 से पहले, चल रहे ऐप पर session_timeout_minutes का कोई असर नहीं होता था, क्योंकि जाँच एक ऐसे ऐप ऑब्जेक्ट पर दर्ज थी जिसे potato start छोड़ देता है। जो सत्र सेटिंग से ज़्यादा देर (डिफ़ॉल्ट रूप से 480 मिनट) निष्क्रिय रहता है, वह अब मिटा दिया जाता है, और उसका अगला अनुरोध लॉगिन पेज पर जाता है। रात भर साइन इन रहने वाले कियोस्क और लैब की साझा मशीनों पर अब साइन आउट होने लगेंगे, इसलिए जहाँ इससे फ़र्क पड़ता हो वहाँ session_timeout_minutes बढ़ा दें।

bash
pip install --upgrade potato-annotation

लेबलिंग इंजन

एक labeling_engine ब्लॉक और assignment_strategy: engine इंजन को चालू करते हैं। इसके स्रोत मॉडल होते हैं, जिन्हें कैस्केड क्रम में आज़माया जाता है, और आखिरी स्रोत के बाद आइटम लोगों के पास जाता है। हर कॉन्ट्रैक्ट एक एनोटेशन स्कीमा का नाम लेता है और उसे उन मानव लेबलों पर परखा जाता है जिन्हें इंजन यादृच्छिक रूप से माँगता है और ब्लाइंड रूप में दिखाता है, यानी पेज पर न कोई प्री-एनोटेशन होता है, न जज का फ़ैसला, न AI की मदद।

  • स्रोत। LLM, विज़न-लैंग्वेज मॉडल, निर्णय मॉडल (Laya और कोई भी /v1/systemone सर्वर), YOLO डिटेक्टर, लेबलों का क्रम बदलकर जाँचने वाले LLM जज, ज्यूरी, अध्ययन के अपने लेबलों पर प्रशिक्षित मॉडल, और वे लेबल जो आपके पास पहले से हैं।
  • कॉन्ट्रैक्ट। selective_risk एक तय विश्वास स्तर पर, स्वीकार किए गए मशीन लेबलों में गलत लेबलों के अनुपात की ऊपरी सीमा बाँधता है। ppi प्रचलन (prevalence) या माध्य के ऐसे अंतराल देता है जो मशीन की गुणवत्ता चाहे जैसी हो, मान्य रहते हैं। no_worse_than_human alternative annotator test चलाता है, budget_first अनुमान लगाता है कि मानव लेबलों के एक बजट से क्या मिलेगा, और distributional मशीन के लेबलों की तुलना इससे करता है कि व्यक्तिपरक आइटमों पर लोगों की राय कैसे बँटती है।
  • मोडैलिटी। N में से एक, क्रमसूचक, संख्यात्मक और मल्टी-लेबल स्कीमा, इमेज क्षेत्र, ऑडियो, वीडियो, temporal grounding और tiered एनोटेशन के सेगमेंट, 3D ऑब्जेक्ट, और एजेंट ट्रेस के चरणों के लेबल। क्षेत्र, सेगमेंट, 3D ऑब्जेक्ट और ट्रेस उन्हीं मापों से आँके जाते हैं जिनका उपयोग सहमति रिपोर्ट करती है।
  • ऑडिट। स्वीकार किए गए मशीन लेबलों का एक हिस्सा ब्लाइंड रूप में वापस लोगों के पास जाता है। जब ऑडिट में त्रुटि दर लक्ष्य से ऊपर दिखती है, तो इंजन उस स्कीमा पर मशीन लेबल स्वीकार करना बंद कर देता है (features.drift के साथ, जो डिफ़ॉल्ट रूप से चालू है), और दोबारा प्रमाणित करने से स्वीकृति बहाल हो जाती है।
  • इंटरफ़ेस। potato label run|status|certify|certificate|export|calls|distill|optimize|migrate-config, /api/engine/v1 के अंतर्गत एक REST API, पाँच engine_* MCP टूल, एक Python SDK, और /admin/labeling-engine पर एक एडमिन पेज।

जो कॉन्ट्रैक्ट पूरा हो जाता है, वह उन लोगों के साथ सहमति के बारे में एक सांख्यिकीय कथन है जिन्होंने नमूने पर लेबल लगाए। इंजन यह नहीं जाँचता कि वे लोग सही हैं, इसलिए अविश्वसनीय एनोटेटरों पर परखा गया कॉन्ट्रैक्ट अविश्वसनीय एनोटेटरों के साथ सहमति को प्रमाणित करता है। हर कॉन्ट्रैक्ट क्या परखता है और कब विफल होता है, यह लेबलिंग इंजन कॉन्ट्रैक्ट में बताया गया है।

icl_labeling, judge_calibration और pre_annotation काम करते रहते हैं, और हर एक स्टार्टअप पर एक टिप्पणी दिखाता है जिसमें इंजन में उसके समकक्ष का नाम होता है। potato label migrate-config समकक्ष labeling_engine ब्लॉक लिखता है। Solo Mode और जज अलाइनमेंट को अप्रचलित (deprecated) घोषित नहीं किया गया है। रूपांतरण तालिका लेबलिंग इंजन पर माइग्रेट करना में है।

सहमति

  • /admin/iaa अब ज़्यादा स्कीमा पर रिपोर्ट देता है। spatial_annotation, temporal_grounding, tiered_annotation और एजेंट-ट्रेस स्कीमा (process_reward, trajectory_eval, tool_call_review, failure_attribution, gui_trajectory) असमर्थित मानकर छोड़ दिए जाते थे, और अब उनका स्कोर निकाला जाता है।
  • /admin/api/agreement अब संरचित स्कीमा पर रिपोर्ट नहीं देता। केवल लेबल नामों तक सीमित कर दिए जाने पर एजेंट ट्रेस, सेगमेंट, क्षेत्र और 3D ऑब्जेक्ट हर एनोटेटर जोड़ी के बीच पूर्ण सहमति दिखाते थे। यह रूट अब /admin/iaa की ओर भेजता है, जो संरचनाओं की तुलना करता है।
  • शून्य लंबाई वाले दो एक जैसे सेगमेंट अब सहमत माने जाते हैं। पहले उन्हें पूर्ण असहमति का स्कोर मिलता था।
  • मशीन रेटर प्रकाशित आँकड़ों से बाहर रहते हैं। पब्लिशिंग और Paper Mode, गोल्ड लेबलों और सहमति के आँकड़ों में मशीन रेटरों को शामिल नहीं करते।

Solo Mode

  • ब्लाइंड सुझाव। solo_mode.suggestions सभी आइटमों पर या एक नमूने पर LLM का लेबल रोक कर रखता है, और हैंडऑफ़ ब्लाइंड आइटमों पर मापी गई सहमति पढ़ता है, क्योंकि स्क्रीन पर दिखता सुझाव उसे जाँचने वाले व्यक्ति के उत्तर को अपनी ओर खींच लेता है।
  • खर्च की सीमा और उत्तर कैश। ai_budget.cap_usd की जाँच लेबलिंग शुरू होने से पहले और हर बैच से पहले होती है, और solo_mode.cache दोहराई गई कॉल के उत्तर को दोबारा उपयोग करता है।
  • निर्णय मॉडल। systemone और laya एंडपॉइंट तय विकल्पों वाली स्कीमा पर एक ही फ़ॉरवर्ड पास में लेबल लगाते हैं, एक तेज़ पहले स्तर के रूप में। Solo Mode में इसका कॉन्फ़िग है।
  • गोल्ड सेट, ज्यूरी और करिकुलम। solo_mode.gold पूरे रन से पहले ज्ञात लेबलों पर किसी प्रॉम्प्ट को आँकता है, solo_mode.jury में कई मॉडल हर आइटम पर वोट देते हैं, और instance_selection.curriculum आपको उन आइटमों से शुरू कराता है जो LLM को सबसे आसान लगे। प्रॉम्प्ट-संवेदनशीलता की एक जाँच भी नई है।

2.10 अध्ययनों को प्रभावित करने वाले सुधार

  • इमेज पेज पहले से भरा उत्तर अपने आप सहेज लेता था। pre_annotation वाली image_annotation स्कीमा पर, लोड होने के बाद जब कैनवास अपना लेआउट दोबारा बनाता था, तब वह पहले से भरी आकृतियों को एनोटेटर के उत्तर के रूप में सहेज लेता था, इसलिए जिस आइटम को छुआ तक नहीं गया वह भी उत्तर दिया हुआ गिना जाता था। अब केवल संपादन करने पर ही सहेजा जाता है। प्री-एनोटेशन वाले किसी 2.10 इमेज अध्ययन में, उत्तर दिए हुए गिने गए कुछ आइटम शायद कभी छुए ही न गए हों।
  • CORS हेडर न भेजने वाले होस्ट की इमेज लोड नहीं होती थीं। cocodataset.org जैसा होस्ट, जो Access-Control-Allow-Origin हेडर नहीं भेजता, कैनवास का अनुरोध ठुकरा देता था, और पेज "Failed to load image" दिखाता था। पेज अब ऐसी इमेज CORS के बिना लोड करता है। ड्रॉइंग काम करती है, और क्षेत्र भरना, SAM और टेक्स्ट-प्रॉम्प्ट सेगमेंटेशन, जो इमेज के पिक्सेल पढ़ते हैं, बताते हैं कि वे क्यों नहीं चल सकते।
  • बिना color वाली प्री-एनोटेटेड आकृति हटा दी जाती थी। आइटम बिना किसी चेतावनी के "Annotations: 0" दिखाता था, और अब आकृति अपने लेबल का रंग ले लेती है।
  • Solo Mode का "Generate prompt" कभी किसी मॉडल को कॉल नहीं करता था। अब वह रिविज़न मॉडल से पहला प्रॉम्प्ट लिखने को कहता है। रिविज़न मॉडल न हो तो वह टास्क विवरण का उपयोग करता है और यह बता देता है।
  • potato mcp connect पर अस्वीकृतियाँ सफलता जैसी दिखती थीं। अस्वीकृत टूल कॉल isError: false के साथ लौटता था, और अब वह सर्वर के संदेश के साथ टूल त्रुटि के रूप में लौटता है।
  • पूरे अध्ययन के स्केलेटन उदाहरण में एक बेकार कुंजी थी। Potato कोई training.feedback.enabled नहीं पढ़ता, इसलिए उदाहरण अब feedback.show_explanations सेट करता है।
  • निष्क्रिय सत्र कभी साइन आउट नहीं होते थे, जैसा इस प्रविष्टि की शुरुआत में बताया गया है।
  • न्यायनिर्णयन मशीन रेटरों को गिनता था। मशीन एनोटेटर किसी आइटम को न्यायनिर्णयन के लिए भेज सकते थे, min_human_annotations को अनदेखा किया जाता था, और सहमति स्कोर न होने पर फ़ॉर्मैटिंग क्रैश हो जाती थी।
  • Prolific ऑटो-स्केलिंग मशीन एनोटेशन को गिनती थी और प्रति-आइटम सीमाओं को अनदेखा करती थी। खोले जाने वाले स्थानों की संख्या अब हर आइटम की सीमा के मुकाबले केवल मानव एनोटेशन गिनती है।
  • vLLM पर एज-केस खोज कुछ नहीं करती थी। vLLM पर guided decoding कभी एज-केस फ़ील्ड नहीं लौटाती थी, और अब वे रिस्पॉन्स स्कीमा का हिस्सा हैं।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.10.3

अक्टूबर 2026 में जारी

Potato 2.10.3 उन तीन बग को ठीक करता है जो 2.10.2 के प्रकाशित होने के बाद मिले।

bash
pip install --upgrade potato-annotation
  • सर्वसम्मत डेटा पर सहमति। जब हर एनोटेटर ने हर आइटम पर एक ही उत्तर दिया, तो /admin/api/agreement स्कीमा को {"error": "float division by zero"} के रूप में लौटाता था। ऐसे में संयोग से होने वाली सहमति 1 होती है, इसलिए alpha और दोनों kappa अपरिभाषित होते हैं। अब यह रूट उन्हें null बताता है, percent_agreement को 1.0 और वही टिप्पणी देता है जो /admin/iaa देता है, और कुल औसत उस स्कीमा को छोड़ देता है।
  • potato deploy button --dry-run ऑफ़लाइन रहता है। --hf-backup-repo के बिना ड्राई रन HuggingFace से पूछता था कि टोकन किसका है, और गलत टोकन होने पर traceback आ जाता था। अब ड्राई रन प्लेसहोल्डर <hf-account>/<name>-annotations का उपयोग करता है, जैसे potato deploy up --dry-run करता है, और असली रन अस्वीकृत टोकन को त्रुटि संदेश के रूप में बताता है।
  • Potato को इम्पोर्ट करने पर अब पासवर्ड हैश नहीं होता। Potato इम्पोर्ट के समय एक PBKDF2 हैश बनाता था, इसलिए हर प्रोसेस शुरू होते समय 100,000 इटरेशन खर्च करता था, CLI टूल भी। अब हैश तब बनता है जब पहली बार कोई अज्ञात उपयोगकर्ता नाम लॉग इन करने की कोशिश करता है। इम्पोर्ट Pyodide में भी फिर से काम करता है, जिसकी hashlib में pbkdf2_hmac नहीं है।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.10.2

अक्टूबर 2026 में जारी

Potato 2.10.2 उन सुविधाओं को ठीक करता है जो pip से इंस्टॉल करने पर या Docker इमेज में काम नहीं करती थीं, किसी दूसरे उपयोगकर्ता के रूप में साइन इन करने के रास्ते बंद करता है, MySQL बैकएंड को काम करने लायक बनाता है, और सहमति के आँकड़ों को सुधारता है। अगर आपने किसी पुराने संस्करण से निकाले गए सहमति के आँकड़े प्रकाशित किए हैं, तो उनकी फिर से गणना करें।

bash
pip install --upgrade potato-annotation
  • SSO खाते कोई भी पासवर्ड स्वीकार कर लेते थे। OAuth वाले टास्क में पासवर्ड फ़ॉर्म किसी को भी उस खाते में साइन इन करा देता था जिसे किसी प्रदाता ने पंजीकृत किया था। SSO पहचानें अब पासवर्ड से प्रमाणित नहीं होतीं, और MySQL वाले अध्ययन में कोई अजनबी अब किसी मौजूदा एनोटेटर का उपयोगकर्ता नाम पंजीकृत करके उसका काम हासिल नहीं कर सकता।
  • pip से इंस्टॉल करने पर ai_support और सर्वेक्षण उपकरण विफल हो जाते थे। wheel में AI प्रॉम्प्ट और सर्वेक्षण उपकरण शामिल नहीं थे, इसलिए इनमें से किसी का भी उपयोग करने वाला अध्ययन स्टार्टअप पर ही रुक जाता था। कंटेनर और potato deploy के लक्ष्य भी दस सबसिस्टम छोड़ देते थे, जिनमें चैट सपोर्ट भी था।
  • MySQL बैकएंड कभी चालू ही नहीं होता था। जो कॉन्फ़िग उसे चुनता था, वह एनोटेशन डिस्क पर सहेजता था। ड्राइवर pip install 'potato-annotation[mysql]' से इंस्टॉल करें; एक्सपोर्ट, बैकअप और potato deploy pull अब डेटाबेस से पढ़ते हैं।
  • सहमति के आँकड़ों में 59 सुधार, जिनमें से हर एक को scipy, sklearn या krippendorff पैकेज जैसे किसी संदर्भ कार्यान्वयन से जाँचा गया है। अपरिभाषित गुणांक अब 1.0 के बजाय अपरिभाषित बताया जाता है, ordinal alpha Krippendorff के ordinal metric का उपयोग करता है, MACE पूरी तरह spammer एनोटेटरों की क्षमता 0.35 के बजाय लगभग 0.01 आँकता है, रीस्टार्ट के बाद नतीजे अब नहीं बदलते, और plackett_luce Bradley-Terry को दोहराने के बजाय best-worst likelihood फ़िट करता है।
  • मानचित्र निर्देशांकों वाले पॉइंट क्लाउड अपनी सटीकता बनाए रखते हैं। UTM निर्देशांकों वाली LAS फ़ाइल ऐसी ग्रिड पर बनाई जाती थी जिसका अंतराल 0.5 m तक बड़ा था। Potato अब उसे एक स्थानीय मूल-बिंदु के सापेक्ष भेजता है और एनोटेशन फ़ाइल के अपने निर्देशांकों में सहेजता है।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.10.1

अक्टूबर 2026 में जारी

Potato 2.10.1 potato deploy और बैकअप की पाँच समस्याएँ ठीक करता है जो 2.10.0 के बाद मिली थीं। ड्राई रन पर भरोसा करने से पहले अपग्रेड करें।

bash
pip install --upgrade potato-annotation
  • ड्राई रन उन तैनातियों के लिए भी पास हो जाता था जिन्हें up बाद में अस्वीकार कर देता था। --backup के बिना Heroku या ECS Express, प्रोजेक्ट अपलोड करने के लिए बैकअप स्टोरेज के बिना Render या Railway, और इनलाइन भेजने के लिए बहुत बड़े प्रोजेक्ट वाला Fly, सभी एक साफ़ योजना प्रिंट करते थे। अब योजना और up एक ही जाँच चलाते हैं, और दोनों REFUSED: <reason> प्रिंट करके स्टेटस 2 के साथ बाहर निकलते हैं।
  • --demo वहाँ भी सुझाया जाता था जहाँ वह काम नहीं कर सकता। Render, Railway और ECS Express आपका प्रोजेक्ट बैकअप के स्टोरेज में अपलोड करते हैं, इसलिए फेंके जा सकने वाले अध्ययन के लिए भी उन्हें --backup hf या --backup s3 चाहिए। प्रीफ़्लाइट चेतावनी अब --demo केवल Heroku और HuggingFace के लिए सुझाती है।
  • --cloud jetstream2 गलत flavor की योजना बनाता था। ड्राई रन m1.small दिखाता था, जबकि up एक m3.small बनाता था।
  • दो कीमतें गलत थीं। potato deploy providers aws-ec2 के लिए लगभग $16 प्रति माह और fly के लिए लगभग $7 बताता था। योजनाएँ $18.31 और $5.85 निकालती हैं, और सारांश अब लगभग $18 और लगभग $6 बताते हैं।
  • backup: {enabled: false} बैकअप बंद नहीं करता था जब कॉन्फ़िग में अब भी huggingface_backup ब्लॉक मौजूद होता था। अब नया ब्लॉक मान्य होता है।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.10.0

अक्टूबर 2026 में जारी

Potato 2.10.0 potato deploy में आठ होस्टिंग प्लेटफ़ॉर्म जोड़ता है, उन होस्ट पर एनोटेशन का बैकअप लेता है जिनकी डिस्क रीस्टार्ट के बाद नहीं बचती, और text_as_image जोड़ता है, जो हर आइटम का टेक्स्ट एक चित्र के रूप में दिखाता है ताकि एनोटेटर उसे किसी चैटबॉट में पेस्ट न कर सकें। Potato को लोकल या क्लाउड में चलाना बताता है कि कौन-सा होस्ट किस अध्ययन के लिए उपयुक्त है।

अब Python 3.9 या उसके बाद का संस्करण घोषित रूप से आवश्यक है। एक मुख्य निर्भरता को इसकी पहले से ज़रूरत थी, इसलिए पिछले रिलीज़ भी 3.7 या 3.8 पर इंस्टॉल नहीं हो सकते थे, और अब pip कुछ भी इंस्टॉल करने से पहले यह बता देता है।

bash
pip install --upgrade potato-annotation

तैनाती

  • AWS, तीन तरीकों से। --provider aws $12 प्रति माह की तय कीमत पर एक Lightsail इंस्टेंस बनाता है, जिसे केवल lightsail:* अनुमतियाँ चाहिए। aws-ec2 उन खातों के लिए है जिनमें Lightsail बंद है, और aws-ecs कंटेनर को AWS-प्रबंधित HTTPS पते के पीछे ECS Express Mode पर चलाता है, जिसकी लागत अधिक है और जिसमें बैकअप अनिवार्य है।
  • Heroku, एक Basic dyno पर। Heroku हर दिन डिस्क मिटा देता है, इसलिए Potato वहाँ --backup या --demo के बिना तैनात करने से इनकार करता है।
  • Fly और Railway, दोनों एक persistent वॉल्यूम के साथ।
  • Hetzner, Vultr और Linode, DigitalOcean की तरह ही सेट अप की गई VM के रूप में, IP पते के लिए Let's Encrypt प्रमाणपत्र के साथ।
  • OpenStack, Jetstream2 प्रीसेट के साथ। Jetstream2 हर इंस्टेंस को एक DNS नाम देता है, इसलिए टास्क को एक सामान्य प्रमाणपत्र मिलता है। कैंपस OpenStack क्लाउड और EGI भी काम करते हैं।
  • Deploy बटन। potato deploy button config.yaml --target heroku|render|aws|railway आपकी रिपॉज़िटरी में "Deploy to Heroku", "Deploy to Render" या AWS "Launch Stack" बटन की फ़ाइलें लिखता है, ताकि दूसरे लोग टास्क अपने खातों में चला सकें।

नए deploy-aws और deploy-openstack extras AWS और OpenStack क्लाइंट इंस्टॉल करते हैं।

बैकअप और रीस्टोर

एक नया backup ब्लॉक हर पाँच मिनट में एनोटेशन आउटपुट और SQLite डेटाबेस के स्नैपशॉट को HuggingFace डेटासेट, S3-संगत बकेट, या दोनों में कॉपी करता है। जब कोई सर्वर खाली टास्क डायरेक्टरी के साथ शुरू होता है और बैकअप में डेटा है, तो Potato कुछ भी लोड करने से पहले उसे रीस्टोर करता है, इसलिए रीस्टार्ट के बाद एनोटेटर वहीं से आगे बढ़ते हैं जहाँ रुके थे। potato deploy up को --backup hf, --backup s3 या --backup hf,s3 दें। पुराना huggingface_backup ब्लॉक एक sink वाले और रीस्टोर बंद वाले backup ब्लॉक की तरह पढ़ा जाता है, इसलिए मौजूदा तैनातियाँ पहले जैसा ही व्यवहार करती हैं।

टेक्स्ट को चित्र के रूप में

text_as_image: true हर आइटम का टेक्स्ट सर्वर पर एक PNG में रेंडर करता है और शब्दों को पृष्ठ, एम्बेड किए गए आइटम रिकॉर्ड और JSON एंडपॉइंट से हटा देता है, इसलिए एनोटेटर के पास चुनने, कॉपी करने या पेस्ट करने के लिए कुछ नहीं रहता। यह सुविधा किसी आइटम को चैटबॉट में पेस्ट करने को महँगा बनाती है, फिर भी एनोटेटर टेक्स्ट दोबारा टाइप कर सकता है या स्क्रीनशॉट पर OCR चला सकता है। स्क्रीन रीडर को चित्र से कुछ नहीं मिलता, इसलिए यह सुविधा उन अध्ययनों के लिए उपयुक्त नहीं है जिनके एनोटेटर स्क्रीन रीडर इस्तेमाल करते हैं। जब text_as_image को span स्कीम, आइटम टेक्स्ट फ़ील्ड पढ़ने वाली स्कीम, Pocket Mode या Rooms के साथ जोड़ा जाता है, तो Potato शुरू होने से इनकार करता है। @Eyecatch3r ने PR #169 में योगदान दिया।

एकत्रित डेटा को प्रभावित करने वाले सुधार

  • persistent डिस्क के बिना होस्ट पर रीस्टार्ट से पहले का काम खो जाता था। सर्वर खाली शुरू होता था, और लौटने वाले एनोटेटर की नई स्थिति बैकअप की गई प्रति को ओवरराइट कर देती थी। शुरू होते समय रीस्टोर करने से यह ठीक हो जाता है।
  • --volume-gb के साथ DigitalOcean एनोटेशन को वॉल्यूम के बजाय रूट डिस्क पर रखता था। आउटपुट और SQLite डेटाबेस अब /data पर रहते हैं।
  • प्रकाशित इमेज में HuggingFace बैकअप कुछ नहीं करता था, क्योंकि उसमें huggingface_hub शामिल नहीं था, और Render और DigitalOcean पर --hf-token एक ऐसा वेरिएबल सेट करता था जिसे कुछ भी नहीं पढ़ता था। इमेज अब नया hosting extra इंस्टॉल करती है।
  • Render तैनातियाँ प्रोजेक्ट के बिना शुरू होती थीं, और कंटेनर "config file not found" के साथ बंद हो जाता था। कंटेनर अब शुरू होते समय प्रोजेक्ट डाउनलोड करता है और उसका sha256 जाँचता है।

पूरी सूची रिलीज़ नोट्स में है।


Potato 2.9.2 से 2.9.4

सितंबर 2026 में जारी

अगर ऐसे लोग आपके सर्वर तक पहुँच सकते हैं जिन पर आप भरोसा नहीं करते, तो 2.9.4 या उसके बाद के संस्करण पर अपग्रेड करें। 2.9.4 से पहले, /forgot-password फ़ॉर्म जमा किए गए किसी भी यूज़रनेम के लिए रीसेट टोकन बनाता था और रीसेट लिंक पृष्ठ पर ही दिखा देता था, इसलिए सर्वर तक पहुँच सकने वाला कोई भी व्यक्ति एडमिन खातों सहित किसी भी पासवर्ड खाते पर कब्ज़ा कर सकता था (GHSA-43v4-43pw-4rp2)। फ़ॉर्म अब कोई टोकन नहीं बनाता। रीसेट लिंक केवल POST /admin/create_reset_token और potato reset-password कमांड से आते हैं। HDEF ने इसकी रिपोर्ट की और साथ में एक पैच भी दिया।

  • फ़ोन (2.9.4)। टच स्क्रीन पर कंट्रोल कम से कम 44 px ऊँचे हैं, हेडर तीन के बजाय दो पंक्तियाँ लेता है, multirate लेबल वाली पंक्तियों की सूची बन जाता है, और span हाइलाइटिंग लॉन्ग-प्रेस से काम करती है।
  • मशीन एनोटेटर (2.9.4)। एक machine_annotators ब्लॉक ऐसे रेटर घोषित करता है जो प्रोग्राम हैं, जैसे डिटेक्टर या LLM। तब /admin/iaa मानव-मानव, मशीन-मशीन और संयुक्त सहमति की रिपोर्ट करता है, जिसमें मुख्य आँकड़े केवल मनुष्यों के होते हैं, और जब कोई रिकॉर्ड मशीन से आया हो तो csv, tsv और parquet एक्सपोर्ट में एक annotator_origin कॉलम जुड़ जाता है।
  • URL प्रीफ़िक्स के पीछे सत्र कुकी (2.9.4)। एक होस्ट पर /app1 और /app2 के तहत सर्व किए गए दो अध्ययन एक ही सत्र कुकी साझा करते थे, इसलिए एक में साइन इन करने से आप दूसरे से साइन आउट हो जाते थे। कुकी अब प्रीफ़िक्स तक सीमित है। @Eyecatch3r ने PR #172 में ठीक किया।
  • तेज़ नेविगेशन (2.9.2)। स्क्रिप्ट और स्टाइलशीट आइटमों के बीच कैश में रहती हैं, और Next कम राउंड ट्रिप लेता है। 80 ms राउंड ट्रिप वाले लिंक पर, रेडियो-बटन टास्क में Next लगभग 2.6 s से घटकर लगभग 0.8 s हो गया।
  • Next से ठीक पहले के टेक्स्ट बदलाव (2.9.2)। टेक्स्ट बॉक्स खाली करके एक सेकंड के भीतर Next दबाने पर पुराना टेक्स्ट बना रहता था। अब हर सेव पहले लंबित बदलाव लागू करता है।

Potato 2.9.0

सितंबर 2026 में जारी

Potato brat, doccano, Prodigy, CoNLL और REFI-QDA से प्रोजेक्ट इम्पोर्ट करता है, और ऑडियो को लोकल रूप से ट्रांसक्राइब और डायराइज़ करता है। एक्सपोर्ट यह दर्ज करते हैं कि कोई इमेज शेप किसी व्यक्ति ने बनाई, किसी मॉडल ने प्रस्तावित की या उसे इम्पोर्ट किया गया, और कोई वोट किस रूम में डाला गया। रिलीज़ का ज़्यादातर हिस्सा बग फ़िक्स है।

अपग्रेड करने से पहले हर कॉन्फ़िग पर potato validate --strict चलाएँ। कई बदलाव 2.8.2 पर ठीक चल रहे अध्ययन को शुरू होने से रोक सकते हैं या उसका व्यवहार बदल सकते हैं। एक ही फ़ेज़ में दोहराए गए स्कीम नाम अस्वीकार किए जाते हैं, min_annotators_per_instance प्रति-आइटम सीमा का उपनाम बन गया है, require_fully_annotated: true अब लागू होता है, लोड होने में विफल फ़ेज़ बूट को बीच में ही रोक देता है, और span ऑफ़सेट अब UTF-16 इकाइयों के बजाय कोड पॉइंट में हैं। सेट-मान, क्रम-मान, मैट्रिक्स और लेबल वाले ऑर्डिनल स्कीमों के सहमति मान बदलते हैं, इसलिए उन्हें दोबारा निकालना चाहिए। पूरी सूची रिलीज़ नोट्स में है।

bash
pip install --upgrade potato-annotation

इम्पोर्ट और एक्सपोर्ट

  • brat, doccano, Prodigy, CoNLL-2003/CoNLL-U और REFI-QDA .qdpx के लिए इम्पोर्टर, और एक .qdpx एक्सपोर्टर। देखें प्रोजेक्ट इम्पोर्ट करना।
  • एक्सपोर्ट में उद्गम (provenance)। हर इमेज शेप दर्ज करती है कि उसे किसी व्यक्ति ने बनाया या किसी मॉडल ने प्रस्तावित किया (source, ai_model, confidence, edited, carried_over, import_format)। मल्टीप्लेयर रूम में डाले गए वोट अपने साथ रूम, भूमिका, शुरुआती वोट, रिवील के बाद वोट बदला या नहीं, और वोट देने वालों की संख्या रखते हैं।
  • csv, jsonl और parquet में span एक्सपोर्ट में कवर किया गया टेक्स्ट भी शामिल होता है।
  • python -m potato.export --format adjudication नया है, और हर स्कीमा प्रकार में अब किसी उत्तर को अपनाने वाला 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 पर दोबारा कैलिब्रेशन का ट्रिगर।
  • एक मॉडल-आउटपुट समीक्षा मोड, जिसमें खाली प्रेडिक्शन वाला हिस्सा भी शामिल है, ताकि recall निकाला जा सके।
  • 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 कभी कोई संख्या नहीं देता था, और लेबल नामों के बजाय संग्रहीत मानों की तुलना करता था, इसलिए हर श्रेणीगत स्कीमा पर पूर्ण सहमति दिखती थी।
  • प्रति आइटम दो एनोटेटर वाले अध्ययन में दूसरे एनोटेटर को done पेज पर भेज दिया जाता था, और उसके बाद दिया गया उसका हर उत्तर खो जाता था।
  • fixed_order को छोड़कर हर असाइनमेंट रणनीति में AI सुझाव ग़लत आइटम के बारे में होते थे।
  • डिफ़ॉल्ट in-memory कॉन्फ़िग में साइन-अप कभी सेव नहीं होते थे, इसलिए रीस्टार्ट के बाद कोई भी किसी मौजूदा यूज़रनेम पर दावा कर सकता था।

#168 और #171 के लिए Aldo Costa (@Eyecatch3r) को, और #170 की रिपोर्ट और निदान के लिए @ruthenian8 को धन्यवाद।


Potato 2.8.2

अगस्त 2026 में जारी

2.8.1 के रिलीज़ नोट्स में पाँच सुरक्षा सुधारों का वर्णन था, पर उनमें से दो उस रिलीज़ में शामिल नहीं थे, यानी मीडिया endpoints पर SSRF सुधार (GHSA-9394-85jj-2mhj) और डीबग-मोड की हार्डनिंग (GHSA-r4ww-vc5h-35qf)। 2.8.2 में दोनों हैं। अगर आपने इनमें से किसी भी समस्या के लिए 2.8.1 पर अपग्रेड किया था, तो फिर से अपग्रेड करें। देखें 2.8.2 रिलीज़ नोट्स।


Potato 2.8.1

अगस्त 2026 में जारी

एक सुरक्षा रिलीज़। इसने live coding agent के ज़रिए remote code execution (GHSA-cm4p-5rfv-x252), admin key के बिना पढ़ा जा सकने वाला admin कॉन्फ़िग, और हर अनुरोध स्वीकार करने वाला trace-ingestion webhook ठीक किया। अगर आप Potato को localhost के अलावा कहीं भी चलाते हैं तो अपग्रेड करें, और सीधे 2.8.2 पर जाएँ, जिसमें वे दो सुधार हैं जो 2.8.1 में छूट गए थे।


Potato 2.8.0

अगस्त 2026 में जारी

Potato एक टेक्स्ट एनोटेशन प्लेटफ़ॉर्म था जिसमें एक इमेज मोड भी था। अब यह इमेज, वीडियो, गीगापिक्सल स्कैन, 3D पॉइंट क्लाउड, डेप्थ मैप, रोबोट एपिसोड, जनरेटिव-वीडियो रोलआउट और विज़न-लैंग्वेज ग्राउंडिंग को कवर करता है। इनमें से हर एक के लिए यह chance-corrected सहमति रिपोर्ट करता है।

अगर आपने PyPI से इंस्टॉल किया है तो अपग्रेड करें। 2.7.1 तक के wheels package data को एक-स्तरीय glob से घोषित करते थे, इसलिए सबडायरेक्टरी में रखे 27 टेम्पलेट हर wheel से ग़ायब थे। pip install चलाने वाले हर व्यक्ति के लिए Solo mode के setup routes, admin पेज, judge calibration और corpus map, सब टूटे हुए थे; git checkout से चलाने वालों को यह समस्या कभी दिखी ही नहीं। इसे @0x6362 ने PR #164 में ठीक किया।

bash
pip install --upgrade potato-annotation

ज्यामिति और समय पर सहमति

  • स्थानिक लेबल के लिए chance-corrected सहमति, जिसे detection (क्या एनोटेटरों ने वही ऑब्जेक्ट पाए), classification (क्या उन्होंने उन्हें एक ही नाम दिया) और localization (क्या उन्होंने उन्हें एक ही जगह रखा, जिसे एक empirical chance baseline के मुक़ाबले σ और एक KS test के रूप में रिपोर्ट किया जाता है) में बाँटा गया है।
  • मास्क की आम सहमति के लिए STAPLE। यह एक छिपी हुई (latent) सीमा का, और हर रेटर की sensitivity और specificity का अनुमान लगाता है। ऐसे कॉर्पस पर, जहाँ दो सावधान एनोटेटर शोर भरे एनोटेटरों से तीन-दो के अनुपात में संख्या में कम हैं, बहुमत मत को सच्चाई के मुक़ाबले Dice 0.846 मिलता है और STAPLE को 1.000।
  • सटीक rotated 3D IoU, ताकि cuboid सहमति सिर्फ़ समतल बॉक्स के लिए नहीं, बल्कि ड्रोन, हैंडहेल्ड और indoor डेटा के लिए भी सही हो।
  • Temporal सहमति एक sweep के रूप में रिपोर्ट होती है, मिलान की अलग-अलग tolerances पर, क्योंकि 0.25 s पर सहमति का दावा 2 s पर सहमति के दावे से अलग है।
  • अपरिभाषित मान अपना कारण ख़ुद बताते हैं। एकमत कॉर्पस पर α वास्तव में अपरिभाषित होता है, और अकेला NaN किसी टूटी हुई गणना जैसा लगता है।

यह एक बग भी ठीक करता है। adjudication किसी एनोटेशन की कुंजियों की तुलना करता था, और इमेज स्कीमा सब कुछ _data नाम की एक ही कुंजी के नीचे रखते हैं। इसलिए हर इमेज जोड़ी को 1.0 सहमति मिलती थी, दो एनोटेटर जो किसी भी बात पर सहमत नहीं थे वे एकमत दिखते थे, और कोई भी इमेज कभी समीक्षा के लिए नहीं भेजी गई।

विज़न

  • ज्यामितीय primitives: polylines, ellipses, 2D cuboids, skeleton topology और COCO visibility flags वाले keypoint sets, और instance-keyed brush masks।
  • ब्राउज़र में click-to-segment, ONNX Runtime Web के तहत MobileSAM के साथ, प्रति क्लिक लगभग 132 ms, बिना GPU और बिना प्रति-क्लिक नेटवर्क कॉल के।
  • Open-vocabulary टेक्स्ट प्रॉम्प्टिंग। कोई वाक्यांश टाइप करें, और हर मेल खाने वाली चीज़ पर बॉक्स बन जाता है। यह Grounding DINO है, Apache-2.0 लाइसेंस के तहत, और यह भी ब्राउज़र में चलता है।
  • वीडियो मास्क propagation, SAM 2 के memory modules के साथ, जिसे प्रति फ़्रेम 0.974–0.979 IoU पर मापा गया और पूरे अनुक्रम में कोई गिरावट नहीं दिखी। यह हिस्सा जान-बूझकर सर्वर-साइड चलता है; ब्राउज़र में एक अलग, हल्का carry-forward रास्ता है।
  • गीगापिक्सल इमेज के लिए डीप ज़ूम, जो DZI और IIIF Image API 3.0 दोनों रूपों में सर्व होता है, और brush masks स्रोत के पूरे रिज़ॉल्यूशन पर बनते हैं।
  • मीडिया इनजेस्ट: multi-page 16-bit TIFF, HEIC, camera RAW, और ProRes/MKV/MOV एक cached सर्वर-साइड प्रॉक्सी के ज़रिए।
  • 15 इम्पोर्ट और 29 एक्सपोर्ट फ़ॉर्मेट, जिनमें से 11 round-trip करते हैं। Darwin दोनों दिशाओं में काम करता है।

इमेज एनोटेशन के कीबोर्ड शॉर्टकट अब डिफ़ॉल्ट रूप से V7 की परिपाटी पर चलते हैं: b brush, r rectangle, f fill, k keypoint, v select। जो अध्ययन पहले से चल रहा है, उसके लिए पुरानी bindings वापस लाने को स्कीमा पर keybinding_profile: legacy सेट करें।

3D, डेप्थ और रोबोटिक्स

  • PCD, PLY, LAS, KITTI .bin और .xyz क्लाउड के लिए spatial_annotation, जिसमें 3D cuboids, points, polylines और प्रति-पॉइंट segments, octree level-of-detail, और orthographic slab panels हैं। Rotation एक quaternion के रूप में संग्रहीत होता है, इसलिए माउंटिंग का वह झुकाव जिसे सिर्फ़-yaw वाला फ़ील्ड चुपचाप छोड़ देता, KITTI round-trip के बाद भी बचा रहता है।
  • 16-bit PNG/TIFF, NPY, PFM और EXR में डेप्थ मैप, windowing, colormaps, कर्सर के नीचे मीटर में रीडआउट, और उसी 3D व्यूअर में unprojection के साथ।
  • Calibration-aware projection, ताकि 3D में बनाया गया cuboid हर कैमरा इमेज में दिखे और 2D में जाँचा जा सके।
  • episode_annotation N synchronized वीडियो स्ट्रीम और M रोबोट time-series lanes को एक ही टाइमलाइन पर रखता है, साथ में phase segmentation, प्रति-phase outcomes और dense reward curves। यह LeRobot v2, RLDS/TFDS और HDF5 इम्पोर्ट करता है। Lane downsampling न्यूनतम और अधिकतम मान बनाए रखता है, इसलिए एक फ़्रेम का force spike 300 पिक्सल की lane में पहुँचकर भी बचा रहता है।

मूल्यांकन

  • rollout_evaluation 2–N जनरेट किए गए वीडियो एक ही घड़ी पर दिखाता है और एनोटेटर से वह फ़्रेम चिह्नित करने को कहता है जहाँ दुनिया का तुक बैठना बंद हो जाता है, फिर यह टैग करने को कि कौन-सा भौतिक या कारण-संबंधी गुण टूटा। पैनल blind किए जा सकते हैं और हर एनोटेटर के लिए स्थिर क्रम में shuffle किए जा सकते हैं।
  • grounding_eval और region_caption ग्राउंडिंग को चार thresholds पर IoU से और pointing को point-in-region hit rate से स्कोर करते हैं, क्योंकि किसी बिंदु का कोई क्षेत्रफल नहीं होता और उसके मुक़ाबले IoU हमेशा शून्य आता है। Ungroundedness अलग से गिनी जाती है।

बाक़ी सब

  • Threaded conversations। dialogue डिस्प्ले हर टर्न के reply_to से जवाबों की संरचना रेंडर करता है। potato convokit किसी भी ConvoKit कॉर्पस को इम्पोर्ट करता है और --format convokit वापस एक्सपोर्ट करता है, बिना convokit dependency के।
  • Drawing telemetry, यानी प्रति शेप समय, stroke dynamics, संशोधनों की गिनती और AI सुझाव स्वीकार करने की latency। बिना बदले पूरे के पूरे स्वीकार किए गए pre-labels से सहमति बढ़ती है पर सटीकता नहीं, क्योंकि एक ही सुझाव स्वीकार करने वाले एनोटेटर बनावट से ही एकमत होते हैं। टाइमिंग एक process signal है जो सोच-समझकर की गई समीक्षा को आँख मूँदकर मुहर लगाने से अलग करता है, जहाँ लेबल ऐसा नहीं कर सकते।
  • लाइव डेटाबेस इनजेशन। स्टार्टअप के बाद बनी पंक्तियाँ बिना रीस्टार्ट के poll_interval_seconds के भीतर एनोटेट करने योग्य हो जाती हैं (#166)।
  • मशीन-पठनीय specs, यानी 159 कॉन्फ़िग कुंजियों, 61 एनोटेशन प्रकारों और 24 डिस्प्ले प्रकारों को कवर करने वाला एक JSON Schema, और 419 paths वाला एक OpenAPI दस्तावेज़। दोनों कोड से जनरेट होते हैं और किसी में भी drift होने पर CI फ़ेल हो जाता है, इसलिए कोई एडिटर या coding agent विकल्प गढ़े बिना कॉन्फ़िग जाँच सकता है।
  • कोई outbound अनुरोध नहीं। सभी 14 टेम्पलेट में हर stylesheet, script, font और icon अब इंस्टॉल से ही सर्व होता है। styles.css की शुरुआत Google Fonts के एक @import से होती थी, जिससे पेज लोड होते ही हर एनोटेटर का IP पता किसी तीसरे पक्ष तक पहुँच जाता था, और लॉगिन पेज पर तीसरे पक्ष का favicon लगा था। दोनों हटा दिए गए हैं।
  • Admin Instances टैब quadratic से linear हो गया, और 2,000 आइटम का समय 15.1 s से घटकर 23 ms रह गया।

Potato 2.7.2

अगस्त 2026 में जारी

फ़्री-टेक्स्ट फ़ील्ड के लिए कीस्ट्रोक लॉगिंग। Potato किसी उत्तर के पीछे की टाइमिंग रिकॉर्ड करता है, अक्षर कभी नहीं, और यह टाइप करने को पेस्ट करने से अलग पहचानने के लिए काफ़ी निकलता है।

  • कीस्ट्रोक लॉगिंग। हर फ़्री-टेक्स्ट फ़ील्ड पर ठहराव, बर्स्ट, संशोधन और पेस्ट का कंटेंट-ब्लाइंड कैप्चर, प्रति उत्तर लगभग चालीस सारांश फ़ीचर की गणना के साथ। डिफ़ॉल्ट रूप से बंद।
  • लेखन-प्रक्रिया पहचान। स्पष्ट थ्रेशोल्ड वाले छह नामित नियम, जो हर फ़्लैग के पीछे के फ़ीचर मान बताते हैं। थ्रेशोल्ड आपके अपने प्रोजेक्ट पर दोबारा फ़िट किए जा सकते हैं, और अगर आपके पास लेबल हैं तो एक सुपरवाइज़्ड रास्ता भी है।
  • नैतिकता मार्गदर्शन। नमूना सहमति भाषा, प्रतिधारण और विलोपन, बेस-रेट समस्या, और यह कि फ़्लैग कोई निष्कर्ष नहीं बल्कि ग़ौर से देखने का संकेत क्यों है।
  • ऑप्ट-इन एक्सपोर्ट। export_include_typing_dynamics एक सारांश साइडकार लिखता है, और --format keystrokes कच्ची स्ट्रीम Parquet में लिखता है। दोनों में से कोई भी डिफ़ॉल्ट रूप से चालू नहीं है, इसलिए व्यवहार संबंधी डेटा ग़लती से किसी डेटासेट रिलीज़ में नहीं पहुँचता।

एनोटेटरों को इसकी सूचना देना डिफ़ॉल्ट रूप से चालू है, और इसे बंद करने पर स्टार्टअप के समय एक चेतावनी लॉग होती है।


Potato 2.7.1

जुलाई 2026 में जारी

ट्रांसक्रिप्ट इनजेशन, इस आधार पर कि ट्रांसक्रिप्ट पहले से मौजूद है। किसी ने 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 की ओर इशारा कर सकती है। पाथ मानक path-security जाँच से होकर task_dir के भीतर हल होते हैं, इसलिए आपके ट्रांसक्रिप्ट ऐसी फ़ाइलें बने रहते हैं जिन्हें आप diff और दोबारा एक्सपोर्ट कर सकते हैं।
  • potato transcripts, एक कन्वर्टर जो ASR आउटपुट के फ़ोल्डर को एनोटेशन के लिए तैयार डेटा फ़ाइल में बदल देता है और ट्रांसक्रिप्ट को बेसनेम के आधार पर मीडिया से जोड़ता है। --dry-run कुछ भी लिखने से पहले बताता है कि उसने क्या पहचाना, और --emit-config उससे मेल खाता कॉन्फ़िग प्रिंट करता है।
  • चार स्कीमा में एक ही फ़ॉर्मेट शब्दावली। speech_transcript, voice_interaction, और tiered_annotation अब वह सब स्वीकार करते हैं जो audio_dialogue डिस्प्ले स्वीकार करता है। पहले यह सिर्फ़ डिस्प्ले तक सीमित था।
  • Whisper ट्रांसक्रिप्ट का एनोटेशन और YouTube सबटाइटल का एनोटेशन दोनों शुरुआती बिंदुओं को शुरू से अंत तक समझाते हैं।

2.7.1 में ASR और diarization के चरण अपस्ट्रीम चलते हैं और Potato उनका आउटपुट पढ़ता है। Potato 2.9 ने potato transcripts --transcribe --diarize के ज़रिए लोकल ट्रांसक्रिप्शन और diarization जोड़ा, और Think-Aloud मोड 2.7.0 से ही एनोटेटरों की अपनी आवाज़ को लोकल रूप से ट्रांसक्राइब करता आ रहा है।


Potato 2.7.0

जुलाई 2026 में जारी

Potato 2.7 एक ही विचार पर टिका है: एनोटेशन टूल को सिर्फ़ यह दर्ज नहीं करना चाहिए कि निर्णय क्या थे, बल्कि यह भी मापना चाहिए कि वे कैसे लिए गए। यह दोनों तरह के निर्णायकों पर लागू होता है, यानी एनोटेशन करने वाले इंसानों पर, और उन AI मॉडलों पर जिनका मूल्यांकन हो रहा है।

मनुष्य कैसे लेबल करते हैं, यह मापना

सात ऑप्ट-इन सुविधाएँ, जिनमें से किसी के लिए LLM ज़रूरी नहीं।

  • साइकोमेट्रिक्स इंजन। एक लाइव आइटम-रिस्पॉन्स-थ्योरी परत, जो हर लेबल को सिर्फ़ बहुमत मत के बजाय एक posterior probability और एक sensitivity interval (p = 0.94 [0.88–0.97]) देती है। यह सिर्फ़ सहमति के पैटर्न से एनोटेटर की क्षमता और आइटम की कठिनाई का अनुमान लगाती है, आइटम उस एनोटेटर तक भेजती है जिसके निर्णय में सबसे ज़्यादा जानकारी है, और संभावित कोडबुक गड़बड़ियाँ फ़्लैग करती है।
  • मल्टीप्लेयर रूम। वही कैलिब्रेशन मीटिंग जो आपकी टीम पहले से स्क्रीन-शेयर पर करती है, अब टूल के भीतर और मापी हुई। ब्लाइंड वोट, होस्ट रिवील, चर्चा, दोबारा वोट, और साथ में एक लाइव Krippendorff's α मीटर जो दिखाता है कि सत्र से क्या हासिल हुआ।
  • बाउंड्री लैब। हर लेबल के बाद काउंटरफ़ैक्चुअल जाँच (“क्या तब भी यही रहता?”), जो सामान्य एनोटेशन को contrast sets में बदल देती है और गोल्ड आइटम डाले बिना असंगत एनोटेटर पकड़ लेती है।
  • Truth Serum। surprisingly-popular peer-prediction स्कोरिंग, जो कठिन एनोटेशन में बहुमत मत से बेहतर नतीजे देती है, वह भी बिना गोल्ड लेबल के।
  • Think-Aloud मोड। एनोटेटर काम करते हुए बोलते हैं; speech-to-text पूरी तरह लोकल चलता है और शब्दशः ट्रांसक्रिप्ट ही तर्क (rationale) बन जाता है।
  • पेपर मोड। एक कमांड किसी प्रोजेक्ट को कंपाइल होने योग्य LaTeX डेटासेट रिपोर्ट में बदल देती है, सहमति आँकड़े और उद्धरण सहित।
  • पॉकेट मोड। स्वाइप होने वाले कार्ड स्टैक, ऑफ़लाइन सिंक, और PWA इंस्टॉल के साथ पूरे दर्जे का मोबाइल एनोटेशन।

AI एजेंटों का मूल्यांकन

एजेंट-मूल्यांकन सुइट अब टीम संरचना और मल्टीमॉडल एजेंटों को भी कवर करता है। इसमें एक क्लिक करने योग्य एजेंट इंटरैक्शन ग्राफ़, क्रॉस-एजेंट विफलता एट्रिब्यूशन, हैंडऑफ़ समीक्षा, प्रति-एजेंट और टीम स्कोरकार्ड, टूल-कंटेंशन टाइमलाइन, और उभरते व्यवहार की टैगिंग है, साथ ही GUI/computer-use ट्रैजेक्टरी, फ़ुल-डुप्लेक्स वॉइस टाइमलाइन, वीडियो टेम्पोरल ग्राउंडिंग, और दस्तावेज़-तालिका संरचना भी।

बाक़ी सब जगह

क्रॉस-डॉक्यूमेंट इवेंट एनोटेशन, टर्न-स्तरीय एनोटेशन, पूर्ण-पृष्ठ एडिटर वाला जीवंत-दस्तावेज़ कोडबुक, वैकल्पिक OCR के साथ PDF क्रॉस-पेज लिंकिंग, प्रति-कोहॉर्ट स्कीमा वाली RBAC भूमिकाएँ, 10 भाषाओं में एडमिन और एनोटेटर डैशबोर्ड, और कहीं हल्का इंस्टॉल। AI SDK अब ज़रूरत पड़ने पर ही लोड होते हैं, जिससे बूट समय लगभग 2.0s से घटकर 0.7s रह गया।


Potato 2.6.0

जून 2026 में जारी

Potato 2.6 गुणात्मक डेटा विश्लेषण में क़दम रखता है और एजेंट-मूल्यांकन टूलकिट को गहरा करता है। इसमें QDA Mode, सिग्नल-आधारित ट्राइएज क्यू के साथ LLM-as-judge कैलिब्रेशन और अलाइनमेंट वर्कफ़्लो, और ट्रैजेक्टरी-एडिटिंग स्कीमा जुड़े हैं जो SFT और DPO प्रशिक्षण डेटा तैयार करते हैं। Potato को GPL-3.0-or-later के तहत पुनः लाइसेंस भी किया गया है (पहले PolyForm Shield था)।

QDA Mode

ऑप्ट-इन 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 Mode के बारे में और जानें →

LLM-as-Judge कैलिब्रेशन और अलाइनमेंट

एक या अधिक LLM निर्णायकों से डेटा ऑटो-लेबल करें, फिर सटीकता, सहमति, और कैलिब्रेशन त्रुटि मापने के लिए एक ब्लाइंड मानव कैलिब्रेशन पास चलाएँ। एक अलग सिंगल-जज अलाइनमेंट वर्कफ़्लो, जैसे-जैसे आप रूब्रिक सुधारते हैं, आपके मानव गोल्ड लेबल के मुक़ाबले Cohen's kappa ट्रैक करता है, और एनोटेशन के दौरान वैकल्पिक इनलाइन फ़ैसला दिखा सकता है।

Judge Calibration के बारे में और जानें → · Judge Alignment →

सिग्नल-आधारित ट्राइएज क्यू

एनोटेशन क्यू को प्रति-आइटम गुणवत्ता सिग्नल के आधार पर प्राथमिकता दें, जैसे एजेंट की कोई त्रुटि, प्रोडक्शन में मिला thumbs-down, कम स्कोर, या कोई भी कस्टम फ़ील्ड। इससे समीक्षक सबसे संदिग्ध आइटम पहले देखते हैं, आने के क्रम में नहीं।

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

ट्राइएज क्यू के बारे में और जानें →

SFT/DPO के लिए ट्रैजेक्टरी एडिटिंग

नए trajectory_edit और trajectory_correction स्कीमा एनोटेटरों को एजेंट ट्रेस के चरण दोबारा लिखने देते हैं। एक्सपोर्टर हर मूल/सुधारित जोड़े को supervised fine-tuning लक्ष्यों (trajectory_sft.jsonl) और DPO वरीयता जोड़ों (trajectory_dpo.jsonl) में बदल देता है।

ट्रैजेक्टरी एडिटिंग के बारे में और जानें →

eval_trace डिस्प्ले

तीन पैनल वाला एजेंट-ट्रेस डिस्प्ले (Reasoning, Function Calls, और Final Answer), जो निरंतर मूल्यांकन के लिए बना है, जहाँ ट्रेस किसी webhook, Langfuse पोलर, या निगरानी में रखी डायरेक्टरी से आते हैं और आते ही जाँचे जाते हैं।

eval_trace के बारे में और जानें →

वर्कफ़्लो और असाइनमेंट

  • विषम कवरेज। प्रति-आइटम एनोटेटर सीमाएँ, inter-annotator agreement रिपोर्टिंग, और उन कार्यों के लिए adjudication रूटिंग जहाँ अलग-अलग आइटम को अलग-अलग संख्या में एनोटेटर चाहिए।
  • छोड़े गए असाइनमेंट वापस लें। Prolific या QC-ब्लॉक हुए वर्कर द्वारा छोड़े गए असाइनमेंट पुनः प्राप्त करें, कॉन्फ़िगर करने योग्य प्रतिधारण और idempotent reclaim के साथ।
  • Custom Batch असाइनमेंट रणनीति। पूर्वनिर्धारित आइटम बैच विशिष्ट एनोटेटरों को सौंपें।
  • रिवर्स-प्रॉक्सी URL प्रीफ़िक्स। Potato को रिवर्स प्रॉक्सी के पीछे किसी सब-पाथ पर सर्व करें।

लाइसेंसिंग

Potato अब GPL-3.0-or-later के तहत जारी होता है, जिसे PolyForm Shield से पुनः लाइसेंस किया गया है। आप इसका उपयोग, संशोधन, और पुनर्वितरण कर सकते हैं, व्यावसायिक रूप से भी, बशर्ते व्युत्पन्न कार्य GPL के तहत ही रहें। विवरण के लिए About पृष्ठ देखें।

प्रदर्शन और स्थिरता

  • लगभग 3× तेज़ बूट। ML स्टैक अब स्टार्टअप पर पहले से लोड नहीं होता। import समय लगभग 6.5s से घटकर 2s, 50k-आइटम बूट लगभग 10s से 5.7s, और रेज़िडेंट मेमोरी लगभग 750MB से 365MB रह गई।
  • स्कीमा का नाम बदला। annotation_type: highlight अब span है, और माइग्रेशन मौजूद है। पुराने कॉन्फ़िग में टाइप का नाम बदलकर उन्हें अपडेट करें; मौजूदा span कॉन्फ़िग पर कोई असर नहीं पड़ता।
  • QA-कड़ाई के एक व्यापक दौर ने रूट रजिस्ट्रेशन, प्रशिक्षण चरण, Prolific, पर्सिस्टेंस, एक्सपोर्ट और सर्वे हैंडलिंग, webhooks, solo mode, और active learning को छुआ।

Potato 2.5.0

2026 में जारी

गुणात्मक कोडिंग पर केंद्रित एक रिलीज़, जो Potato को उसके NLP और ML एनोटेशन दायरे के साथ-साथ गुणात्मक-शोध वर्कफ़्लो के लिए भी भरोसेमंद बनाती है।

  • Inter-annotator agreement। Krippendorff's alpha के अलावा Cohen's kappa (जोड़ीवार) और Fleiss' kappa (N रेटर), जो admin agreement API से मिलते हैं। देखें inter-annotator agreement गाइड।
  • नए एक्सपोर्टर। codebook (प्रति-स्कीमा CSV, जिसमें कोड पदानुक्रम, रंग, विवरण, और उपयोग गिनती है) और quotation_report (प्रति-span CSV, जिसमें टेक्स्ट, ऑफ़सेट, स्रोत दस्तावेज़, और कोडर है)।
  • कोड एनालिटिक्स। जोड़ीवार कोड सह-उपस्थिति के लिए admin endpoints, और मौजूदा instance मेटाडेटा पर कोड-बनाम-विशेषता crosstab।

Potato 2.4.5

2026 में जारी

स्थिरता और टूलिंग रिलीज़।

  • Validated refinement। solo-mode एनोटेशन दिशानिर्देशों को क्रमशः बेहतर करने का एक pluggable फ़्रेमवर्क, जिसमें दिशानिर्देशों के आपसी विरोधाभास और मेटाडेटा लीकेज के विरुद्ध सुरक्षा है।
  • कॉन्फ़िग वैलिडेटर। एक नया python -m potato.validate_cli CLI, जो कॉन्फ़िग कुंजियों को known-config स्कीमा के विरुद्ध जाँचता है।
  • सुरक्षा। path validation में path-traversal sibling-prefix बायपास का सुधार (GHSA-q9m2-fhv9-3jcf)।
  • सेव/नेविगेशन state-sync, Prolific एकीकरण, multi-phase नेविगेशन, और quality-control फ़ीडबैक में सुधार।

Potato 2.3.0

9 मार्च 2026 को जारी

Potato 2.3 Potato के इतिहास की सबसे बड़ी रिलीज़ है। इसमें एजेंटिक एनोटेशन, Solo Mode, Best-Worst Scaling, SSO/OAuth प्रमाणीकरण, Parquet एक्सपोर्ट, 15 नए डेमो प्रोजेक्ट, और सुरक्षा कड़ाई आई।

एजेंटिक एनोटेशन

मानव एनोटेशन के ज़रिए AI एजेंटों का मूल्यांकन करने के लिए एक पूरी प्रणाली। इसमें 12 ट्रेस फ़ॉर्मेट कन्वर्टर, 3 विशेष डिस्प्ले प्रकार, और 9 पूर्व-निर्मित एनोटेशन स्कीमा शामिल हैं।

12 ट्रेस फ़ॉर्मेट कन्वर्टर। OpenAI, Anthropic, SWE-bench, OpenTelemetry, MCP, CrewAI/AutoGen/LangGraph, LangChain, LangFuse, ReAct, WebArena/VisualWebArena, ATIF, और रॉ ब्राउज़र रिकॉर्डिंग से एजेंट ट्रेस इम्पोर्ट करें। ऑटो-डिटेक्शन उपलब्ध है।

कन्वर्ज़न सर्वर शुरू होने से पहले एक CLI चरण के रूप में चलता है:

bash
python -m potato.trace_converter \
  --input traces.json \
  --input-format react \
  --output data/traces.jsonl

इसके बाद कन्वर्ट की गई फ़ाइल एक सामान्य डेटा फ़ाइल होती है, जिसे एजेंट डिस्प्ले प्रकारों में से कोई एक रेंडर करता है:

yaml
data_files:
  - "data/traces.jsonl"
 
instance_display:
  fields:
    - key: steps
      type: agent_trace
      label: "Agent trajectory"

3 डिस्प्ले प्रकार:

  • Agent Trace Display। टूल इस्तेमाल करने वाले एजेंटों के लिए कलर-कोडेड स्टेप कार्ड, कोलैप्सिबल ऑब्ज़र्वेशन, JSON प्रिटी-प्रिंटिंग, और टाइमलाइन साइडबार
  • Web Agent Trace Display। ब्राउज़ करने वाले एजेंटों के लिए SVG ओवरले वाले पूरे स्क्रीनशॉट, जो क्लिक टार्गेट, टेक्स्ट इनपुट, और स्क्रॉल क्रियाएँ दिखाते हैं, और फ़िल्मस्ट्रिप नेविगेशन
  • Interactive Chat Display। वार्तालाप एजेंटों के लिए लाइव चैट मोड (एनोटेटर प्रॉक्सी के ज़रिए एजेंट से बात करता है) और ट्रेस समीक्षा मोड

प्रति-टर्न रेटिंग। सूक्ष्म मूल्यांकन के लिए पूरे ट्रेस के साथ-साथ अलग-अलग चरणों को भी रेट करें।

9 पूर्व-निर्मित स्कीमा, यानी 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।

Agent Proxy System। लाइव एजेंट मूल्यांकन के लिए OpenAI, HTTP, और echo प्रॉक्सी।

एजेंटिक एनोटेशन के बारे में और जानें →


Solo Mode

एक वर्कफ़्लो जिसमें एक अकेला मानव एनोटेटर पूरे डेटासेट को लेबल करने के लिए LLM के साथ मिलकर काम करता है, और कुल मानव लेबलों के सिर्फ़ 10-15% के साथ मल्टी-एनोटेटर पाइपलाइन से 95%+ सहमति हासिल करता है।

Solo Mode किसी तय क्रम के बजाय एक phase state machine के रूप में चलता है। यह setup, prompt review, एक वैकल्पिक edge-case loop, parallel annotation, असहमति समाधान, आवधिक और नियम-समीक्षा के साथ active annotation, autonomous labeling और final validation से होकर गुज़रता है। इनमें से पाँच phases, प्रॉम्प्ट ही समस्या निकलने पर, prompt review पर लौट सकते हैं, और जब नमूना threshold पार नहीं करता तो final validation वापस active annotation पर चला जाता है।

yaml
solo_mode:
  enabled: true
  labeling_models:
    - endpoint_type: openai
      model: "gpt-4o"
      api_key: ${OPENAI_API_KEY}
  thresholds:
    end_human_annotation_agreement: 0.92
    minimum_validation_sample: 50
  state_dir: "solo_state"

Multi-Signal Instance Prioritization। instance_selection सात सिग्नलों (कम confidence, विविधता, LLM-predicted, असहमति, random, cartography, edge-case नियम) को भार देकर तय करता है कि मानव आगे क्या देखेगा।

Solo Mode के बारे में और जानें →


Best-Worst Scaling

कुशल तुलनात्मक एनोटेशन, जिसमें एनोटेटर टुपल में से सबसे अच्छा और सबसे ख़राब आइटम चुनते हैं। balanced incomplete block designs के साथ स्वचालित टुपल निर्माण और तीन स्कोरिंग विधियाँ (Counting, Bradley-Terry, Plackett-Luce)।

yaml
annotation_schemes:
  - annotation_type: bws
    name: fluency
    description: "Which sentence reads most fluently?"
    tuple_size: 4
    best_description: "Most Fluent"
    worst_description: "Least Fluent"

Best-Worst Scaling के बारे में और जानें →


SSO और OAuth प्रमाणीकरण

Google OAuth (डोमेन प्रतिबंध), GitHub OAuth (संगठन प्रतिबंध), और जेनेरिक OIDC (Okta, Azure AD, Auth0, Keycloak) के साथ प्रोडक्शन के लिए तैयार प्रमाणीकरण। ऑटो-रजिस्ट्रेशन, मिश्रित मोड, और सत्र प्रबंधन का समर्थन करता है।

yaml
authentication:
  method: "oauth"
  providers:
    google:
      client_id: ${GOOGLE_CLIENT_ID}
      client_secret: ${GOOGLE_CLIENT_SECRET}
      allowed_domain: "umich.edu"
  user_identity_field: "email"
  auto_register: true
 
secret_key: ${POTATO_SECRET_KEY}

SSO और OAuth के बारे में और जानें →


Parquet एक्सपोर्ट

एनोटेशन को Apache Parquet फ़ॉर्मेट में एक्सपोर्ट करें, जिससे तीन संरचित फ़ाइलें बनती हैं: annotations.parquet, spans.parquet, और items.parquet। snappy, gzip, zstd, lz4, और brotli कम्प्रेशन, इंक्रीमेंटल एक्सपोर्ट, और दिनांक/एनोटेटर पार्टीशनिंग का समर्थन करता है। pandas, DuckDB, PyArrow, Polars, और Hugging Face Datasets के साथ संगत।

yaml
export_annotation_format:
  - parquet

Parquet एक्सपोर्ट के बारे में और जानें →


15 नए डेमो प्रोजेक्ट

project-hub/ में नए डेमो, जो एजेंटिक एनोटेशन (5 डेमो), Solo Mode (3 डेमो), Best-Worst Scaling (3 डेमो), प्रमाणीकरण (2 डेमो), और एक्सपोर्ट वर्कफ़्लो (2 डेमो) को कवर करते हैं। कोई भी डेमो potato start config.yaml से शुरू करें।


सुरक्षा कड़ाई

  • कॉन्फ़िगर करने योग्य समाप्ति वाले, क्रिप्टोग्राफ़िक रूप से सुरक्षित सत्र टोकन
  • CSRF सुरक्षा डिफ़ॉल्ट रूप से चालू
  • प्रमाणीकरण endpoints पर rate limiting
  • उपयोगकर्ता द्वारा दी गई सामग्री के लिए इनपुट सैनिटाइज़ेशन
  • डिपेंडेंसी ऑडिट, सभी पैकेज अपडेट किए गए
  • Content Security Policy हेडर

अन्य सुधार

  • असमर्थित एजेंट फ़्रेमवर्क के लिए कस्टम ट्रेस कन्वर्टर
  • मल्टी-एनोटेटर सत्यापन नमूनाकरण के साथ हाइब्रिड Solo Mode
  • स्कोर कन्वर्जेंस चार्ट वाला BWS एडमिन डैशबोर्ड टैब
  • दिनांक पार्टीशनिंग के साथ इंक्रीमेंटल Parquet एक्सपोर्ट

v2.2 बनाम v2.3 तुलना

सुविधाv2.2v2.3
एजेंटिक एनोटेशनउपलब्ध नहीं12 कन्वर्टर, 3 डिस्प्ले, 9 स्कीमा
Solo Modeउपलब्ध नहींphase state machine से चलने वाला मानव-LLM वर्कफ़्लो
Best-Worst Scalingउपलब्ध नहीं3 स्कोरिंग विधियों के साथ BWS
प्रमाणीकरणकेवल उपयोगकर्ता नाम+ Google OAuth, GitHub OAuth, OIDC
Parquet एक्सपोर्टउपलब्ध नहीं6 कम्प्रेशन विकल्पों के साथ 3-फ़ाइल Parquet
डेमो प्रोजेक्ट125+140+ (15 नए)
सुरक्षाबुनियादीCSRF, rate limiting, CSP, सुरक्षित सत्र

Potato 2.2.0

20 फ़रवरी 2026 को जारी

Potato 2.2 एक बड़ी फ़ीचर रिलीज़ है, जिसमें 9 नए एनोटेशन स्कीमा, एक pluggable एक्सपोर्ट सिस्टम, MACE competence estimation, 55 प्रमाणित सर्वेक्षण उपकरण, और रिमोट डेटा स्रोत शामिल हैं।

नए एनोटेशन स्कीमा (9)

Event Annotation। ट्रिगर spans और टाइप की गई argument भूमिकाओं वाली N-ary इवेंट संरचनाएँ। ATTACK, HIRE, और TRAVEL जैसी घटनाओं को सीमित entity arguments और hub-spoke arc विज़ुअलाइज़ेशन के साथ एनोटेट करें।

yaml
annotation_schemes:
  - annotation_type: event_annotation
    name: events
    description: "Mark the event triggers and their arguments"
    span_schema: entities
    event_types:
      - type: "ATTACK"
        trigger_labels: ["EVENT_TRIGGER"]
        arguments:
          - role: "attacker"
            entity_types: ["PERSON", "ORGANIZATION"]
            required: true

Event Annotation के बारे में और जानें →

Entity Linking। span एनोटेशन को बाहरी नॉलेज बेस (Wikidata, UMLS, कस्टम REST API) से लिंक करें। KB खोज और लिंकिंग चालू करने के लिए किसी भी span स्कीमा में entity_linking: ब्लॉक जोड़ें।

Entity Linking के बारे में और जानें →

Triage। तेज़ डेटा स्क्रीनिंग के लिए Prodigy-स्टाइल accept/reject/skip इंटरफ़ेस। ज़्यादा throughput वाले एनोटेशन के लिए कस्टमाइज़ करने योग्य लेबल, कीबोर्ड शॉर्टकट, और ऑटो-एडवांस।

Triage के बारे में और जानें →

Pairwise Comparison। दो आइटम की तुलना बाइनरी (पसंदीदा टाइल पर क्लिक) या स्केल (स्लाइडर) मोड में करें। items_key, allow_tie, और कॉन्फ़िगर करने योग्य रेंज वाले scale: ब्लॉक का समर्थन करता है।

Pairwise Comparison के बारे में और जानें →

Conversation Trees। पदानुक्रमित वार्तालाप संरचनाओं को प्रति-नोड रेटिंग, पथ चयन, और शाखा तुलना के साथ एनोटेट करें।

Conversation Trees के बारे में और जानें →

Coreference Chains। एक ही चीज़ की ओर संकेत करने वाले टेक्स्ट उल्लेखों को दृश्य संकेतकों के साथ chains में समूहित करें। entity प्रकार, singleton नियंत्रण, और कई हाइलाइट मोड का समर्थन करता है।

Coreference Chains के बारे में और जानें →

Segmentation Masks। पिक्सल-स्तरीय इमेज सेगमेंटेशन के लिए नए fill, eraser, और brush टूल।

Bounding Box for PDF/Documents। दस्तावेज़ एनोटेशन कार्यों के लिए PDF पृष्ठों पर बॉक्स बनाएँ।

Discontinuous Spans। allow_discontinuous: true से टेक्स्ट के ग़ैर-सन्निहित खंडों को एक ही span के रूप में चुना जा सकता है।


बुद्धिमान एनोटेशन

MACE Competence Estimation। Variational Bayes EM एल्गोरिदम, जो सच्चे लेबल और एनोटेटर competence स्कोर (0.0-1.0) का एक साथ अनुमान लगाता है। radio, likert, select, और multiselect स्कीमा के साथ काम करता है।

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

MACE के बारे में और जानें →

Option Highlighting। असतत एनोटेशन कार्यों में संभावित सही विकल्पों की LLM-आधारित हाइलाइटिंग। शीर्ष-k विकल्पों को स्टार संकेतक के साथ हाइलाइट करता है और कम संभावित विकल्पों को धुँधला कर देता है।

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

Option Highlighting के बारे में और जानें →

Diversity Ordering। एम्बेडिंग-आधारित क्लस्टरिंग और राउंड-रॉबिन सैंपलिंग, ताकि एनोटेटर एक के बाद एक मिलते-जुलते आइटम के बजाय विविध सामग्री देखें।

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

Diversity Ordering के बारे में और जानें →


एक्सपोर्ट सिस्टम

एक नया pluggable एक्सपोर्ट CLI (python -m potato.export) एनोटेशन को 6 उद्योग-मानक फ़ॉर्मेट में बदलता है: COCO, YOLO, Pascal VOC, CoNLL-2003, CoNLL-U, और Segmentation Masks।

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

एक्सपोर्ट फ़ॉर्मेट के बारे में और जानें →


रिमोट डेटा स्रोत

नए data_sources: कॉन्फ़िग ब्लॉक के ज़रिए URL, S3, Google Drive, Dropbox, Hugging Face, Google Sheets, और SQL डेटाबेस से एनोटेशन डेटा लोड करें। इसमें आंशिक लोडिंग, कैशिंग, और क्रेडेंशियल प्रबंधन शामिल हैं।

रिमोट डेटा स्रोतों के बारे में और जानें →


सर्वेक्षण उपकरण

8 श्रेणियों (व्यक्तित्व, मानसिक स्वास्थ्य, भाव (Affect), आत्म-अवधारणा, सामाजिक दृष्टिकोण, प्रतिक्रिया शैली, शॉर्ट-फ़ॉर्म, जनसांख्यिकी) में 55 प्रमाणित प्रश्नावलियाँ। prestudy/poststudy चरणों में instrument: "tipi" के साथ इस्तेमाल करें।

सर्वेक्षण उपकरणों के बारे में और जानें →


अन्य सुधार

  • कीफ़्रेम इंटरपोलेशन के साथ वीडियो ऑब्जेक्ट ट्रैकिंग
  • बाहरी AI कॉन्फ़िग फ़ाइल का समर्थन
  • फ़ॉर्म लेआउट ग्रिड में सुधार
  • PDF, Word, कोड, और स्प्रेडशीट के लिए फ़ॉर्मेट हैंडलर

Potato 2.1.0

5 फ़रवरी 2026 को जारी

Potato 2.1 में इंस्टेंस डिस्प्ले सिस्टम, विज़ुअल AI सपोर्ट, span लिंकिंग, मल्टी-फ़ील्ड span एनोटेशन, और लेआउट कस्टमाइज़ेशन आए।

इंस्टेंस डिस्प्ले सिस्टम

एक नया 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
    description: "What category best describes this image?"
    labels: [nature, urban, people]

24 डिस्प्ले प्रकारों का समर्थन करता है, जिनमें text, html, image, video, audio, depth_map, dialogue, conversation_tree, pairwise, code, spreadsheet, document, pdf, gallery, और पाँच agent-trace डिस्प्ले शामिल हैं।

Instance Display के बारे में और जानें →


मल्टी-फ़ील्ड span एनोटेशन

span एनोटेशन स्कीम अब एक ही इंस्टेंस के कई टेक्स्ट फ़ील्ड पर एनोटेशन के लिए target_field विकल्प का समर्थन करती हैं।

yaml
annotation_schemes:
  - annotation_type: span
    name: source_entities
    description: "Label the entities in the source document"
    labels: [PERSON, ORGANIZATION]
 
  - annotation_type: span
    name: summary_entities
    description: "Label the entities in the summary"
    labels: [PERSON, ORGANIZATION]

Span Annotation के बारे में और जानें →


Span लिंकिंग

एनोटेट किए गए spans के बीच टाइप किए गए संबंध बनाने के लिए एक नया span_link एनोटेशन प्रकार। directed और undirected लिंक, n-ary संबंध, विज़ुअल arc डिस्प्ले, और लेबल बाधाओं का समर्थन करता है।

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight the named entities in the text"
    labels:
      - name: "PERSON"
        color: "#3b82f6"
      - name: "ORGANIZATION"
        color: "#22c55e"
 
  - annotation_type: span_link
    name: relations
    description: "Link the entities that stand in a relation"
    span_schema: entities
    link_types:
      - name: "WORKS_FOR"
        directed: true
        allowed_source_labels: ["PERSON"]
        allowed_target_labels: ["ORGANIZATION"]
        color: "#dc2626"

Span Linking के बारे में और जानें →


विज़ुअल AI सपोर्ट

AI की मदद से इमेज और वीडियो एनोटेशन के लिए चार नए विज़न endpoints:

  • YOLO। तेज़ लोकल ऑब्जेक्ट डिटेक्शन
  • Ollama Vision। लोकल विज़न-लैंग्वेज मॉडल (LLaVA, Qwen-VL)
  • OpenAI Vision। GPT-4o क्लाउड विज़न
  • Anthropic Vision। विज़न के साथ Claude

सुविधाओं में ऑब्जेक्ट डिटेक्शन, प्री-एनोटेशन, वर्गीकरण, संकेत (hints), दृश्य डिटेक्शन, कीफ़्रेम डिटेक्शन, और ऑब्जेक्ट ट्रैकिंग शामिल हैं।

Visual AI Support के बारे में और जानें →


लेआउट कस्टमाइज़ेशन

HTML टेम्पलेट और CSS से परिष्कृत कस्टम विज़ुअल लेआउट बनाएँ। Potato एक संपादन योग्य लेआउट फ़ाइल जनरेट करता है, या आप ग्रिड लेआउट, कलर-कोडेड विकल्पों, और सेक्शन स्टाइलिंग वाला पूरी तरह कस्टम टेम्पलेट दे सकते हैं।

yaml
task_layout: layouts/custom_task_layout.html

तीन उदाहरण लेआउट शामिल हैं: कंटेंट मॉडरेशन, डायलॉग QA, और मेडिकल समीक्षा।

Layout Customization के बारे में और जानें →


लेबल तर्क (Rationales)

एक चौथी AI क्षमता, जो हर लेबल के लागू हो सकने के कारणों की संतुलित व्याख्या जनरेट करती है, ताकि एनोटेटर वर्गीकरण के अलग-अलग दृष्टिकोण समझ सकें।

yaml
ai_support:
  features:
    rationales:
      enabled: true

AI Support के बारे में और जानें →


अन्य सुधार

  • बेहतर विश्वसनीयता के लिए 50+ नए परीक्षण
  • रिस्पॉन्सिव डिज़ाइन में सुधार
  • लेआउट उदाहरणों के साथ project-hub का बेहतर संगठन
  • सभी एनोटेशन प्रकारों में बग फ़िक्स

v2.0 बनाम v2.1 तुलना

सुविधाv2.0v2.1
Instance Displayएनोटेशन हैक के ज़रिएसमर्पित instance_display ब्लॉक
Span टार्गेटएक टेक्स्ट फ़ील्डtarget_field के साथ मल्टी-फ़ील्ड
Span लिंकिंगउपलब्ध नहींपूर्ण span_link प्रकार
विज़ुअल AIउपलब्ध नहींYOLO, Ollama Vision, OpenAI Vision, Anthropic Vision
लेआउट कस्टमाइज़ेशनबुनियादी ऑटो-जनरेटेडऑटो-जनरेटेड + कस्टम टेम्पलेट
AI क्षमताएँ3 (hints, keywords, suggestions)4 (+ rationales)

Potato 2.0

Potato 2.0 एक बड़ी रिलीज़ है, जिसमें AI सहायता, active learning, प्रशिक्षण चरण, मल्टी-फ़ेज़ वर्कफ़्लो, और एक MySQL बैकएंड जुड़े।

AI सपोर्ट

बुद्धिमान संकेतों, कीवर्ड हाइलाइटिंग, और लेबल सुझावों से एनोटेटरों की मदद के लिए Large Language Models को जोड़ें।

समर्थित प्रदाता:

  • 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 Support के बारे में और जानें →


ऑडियो एनोटेशन

Peaks.js पर आधारित waveform विज़ुअलाइज़ेशन के साथ पूरी सुविधाओं वाला ऑडियो एनोटेशन। सेगमेंट बनाएँ, समय-क्षेत्रों को लेबल करें, और कीबोर्ड शॉर्टकट से भाषण को एनोटेट करें।

मुख्य सुविधाएँ:

  • Waveform विज़ुअलाइज़ेशन
  • सेगमेंट बनाना और लेबल करना
  • प्रति-सेगमेंट एनोटेशन प्रश्न
  • 15+ कीबोर्ड शॉर्टकट
  • सर्वर-साइड waveform कैशिंग
yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: speakers
    description: "Mark each speaker turn in the audio"
    mode: label
    labels:
      - Speaker A
      - Speaker B

Audio Annotation के बारे में और जानें →


एक्टिव लर्निंग

मॉडल की अनिश्चितता के आधार पर एनोटेशन इंस्टेंस को अपने आप प्राथमिकता दें। मौजूदा एनोटेशन पर classifiers ट्रेन करें और एनोटेटरों का ध्यान सबसे जानकारीपूर्ण उदाहरणों पर लगाएँ।

क्षमताएँ:

  • कई classifier विकल्प (LogisticRegression, RandomForest, SVC, MultinomialNB)
  • अलग-अलग vectorizers (TF-IDF, Count, Hashing)
  • रीस्टार्ट के बाद भी मॉडल बना रहता है
  • LLM की मदद से बेहतर चयन
  • मल्टी-स्कीमा समर्थन
yaml
active_learning:
  enabled: true
  schema_names:
    - sentiment
  min_instances_for_training: 30
  update_frequency: 50
  classifier:
    type: LogisticRegression

Active Learning के बारे में और जानें →


ट्रेनिंग चरण

मुख्य कार्य से पहले अभ्यास प्रश्नों के ज़रिए एनोटेटरों को क्वालिफ़ाई करें। तुरंत फ़ीडबैक दें और कॉन्फ़िगर करने योग्य पासिंग मानदंडों से गुणवत्ता सुनिश्चित करें।

सुविधाएँ:

  • ज्ञात उत्तरों वाले अभ्यास प्रश्न
  • तुरंत फ़ीडबैक और व्याख्या
  • कॉन्फ़िगर करने योग्य पासिंग मानदंड
  • दोबारा प्रयास के विकल्प
  • एडमिन डैशबोर्ड में प्रगति ट्रैकिंग
yaml
phases:
  training:
    enabled: true
    data_file: "data/training.json"
    passing_criteria:
      min_correct: 8
      total_questions: 10

Training Phase के बारे में और जानें →


बेहतर एडमिन डैशबोर्ड

एनोटेशन कार्यों की निगरानी और प्रबंधन के लिए व्यापक इंटरफ़ेस।

डैशबोर्ड टैब:

  • Overview: उच्च-स्तरीय मेट्रिक्स और पूर्णता दरें
  • Annotators: प्रदर्शन ट्रैकिंग, टाइमिंग विश्लेषण
  • Instances: असहमति स्कोर के साथ डेटा ब्राउज़ करें
  • Configuration: रियल-टाइम सेटिंग्स समायोजन
yaml
admin_api_key: ${ADMIN_API_KEY}

Admin Dashboard के बारे में और जानें →


डेटाबेस बैकएंड

बड़े पैमाने के डिप्लॉयमेंट के लिए MySQL समर्थन, connection pooling और transaction समर्थन के साथ।

yaml
database:
  type: mysql
  host: localhost
  database: potato_db
  username: ${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. Consent - सूचित सहमति लेना
  2. Pre-study - जनसांख्यिकी और स्क्रीनिंग
  3. Instructions - कार्य के दिशानिर्देश
  4. Training - अभ्यास प्रश्न
  5. Annotation - मुख्य कार्य
  6. Post-study - फ़ीडबैक सर्वेक्षण
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"

Multi-Phase Workflows के बारे में और जानें →


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/"
export_annotation_format: "jsonl"

सुरक्षा आवश्यकता

कॉन्फ़िगरेशन फ़ाइलें अब task_dir के भीतर होनी चाहिए।

अगर कॉन्फ़िग डेटा के बगल में है, तो task डायरेक्टरी मौजूदा डायरेक्टरी ही है:

yaml
task_dir: "."

अगर कॉन्फ़िग किसी सबडायरेक्टरी में है, तो वह जिस प्रोजेक्ट डायरेक्टरी का हिस्सा है उसका नाम दें:

yaml
task_dir: "my_project/"

त्वरित तुलना

सुविधाv1v2.0v2.1v2.2v2.3
AI/LLM समर्थननहींहाँहाँ + Visual AI + Rationales+ Option Highlighting+ Solo Mode
एजेंटिक एनोटेशननहींनहींनहींनहीं12 कन्वर्टर, 3 डिस्प्ले
Best-Worst Scalingनहींनहींनहींनहींहाँ (3 स्कोरिंग विधियाँ)
ऑडियो एनोटेशनबुनियादीपूर्ण waveformपूर्ण waveformपूर्ण waveformपूर्ण waveform
एक्टिव लर्निंगनहींहाँहाँहाँ + Diversity Ordering+ Solo Mode एकीकरण
Instance Displayनहींनहींहाँहाँहाँ
Span लिंकिंगनहींनहींहाँहाँहाँ
Event Annotationनहींनहींनहींहाँहाँ
Entity Linkingनहींनहींनहींहाँहाँ
Pairwise/Triage/Coreference/Treesनहींनहींनहींहाँहाँ
लेआउट कस्टमाइज़ेशननहींऑटो-जनरेटेडऑटो + कस्टम टेम्पलेटऑटो + कस्टम टेम्पलेटऑटो + कस्टम टेम्पलेट
ट्रेनिंग चरणनहींहाँहाँहाँहाँ
एडमिन डैशबोर्डबुनियादीबेहतरबेहतरबेहतर + MACE+ BWS टैब, Solo Mode
डेटाबेस बैकएंडकेवल फ़ाइलफ़ाइल + 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/"
    export_annotation_format: "jsonl"
  3. कॉन्फ़िग फ़ाइल का स्थान पक्का करें कि आपकी कॉन्फ़िग फ़ाइल प्रोजेक्ट डायरेक्टरी के भीतर है।

सर्वर शुरू करना

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

शुरू करें

Potato आज़माने के लिए तैयार हैं? Quick Start Guide से शुरू करें या अलग-अलग सुविधाएँ देखें:

v2.3 सुविधाएँ:

  • एजेंटिक एनोटेशन - ट्रेस कन्वर्टर और स्टेप-स्तरीय डिस्प्ले से AI एजेंटों का मूल्यांकन करें
  • Solo Mode - मानव और LLM की मिली-जुली लेबलिंग
  • Best-Worst Scaling - स्कोरिंग के साथ तुलनात्मक एनोटेशन
  • SSO और OAuth - Google, GitHub, और OIDC प्रमाणीकरण
  • Parquet एक्सपोर्ट - कॉलमर डेटा एक्सपोर्ट

v2.2 सुविधाएँ:

v2.1 सुविधाएँ:

मुख्य सुविधाएँ: