ما الجديد
ما الجديد في Potato v2.x. يضيف الإصدار 2.8 الرؤية الحاسوبية، والسحب النقطية ثلاثية الأبعاد، وخرائط العمق، وحلقات الروبوتات، وتقييم نماذج العالم، إضافة إلى اتفاق مصحَّح للصدفة على الهندسة والزمن. 61 نوع توسيم، و24 نوع عرض.
تغطي هذه الصفحة الميزات الجديدة والتحسينات عبر إصدارات Potato v2.x.
Potato 2.11.1
صدر في أكتوبر 2026
يتيح Potato 2.11.1 للأمر potato start config.yaml --debug أن يبدأ على العنوان الافتراضي من جديد، ويضيف مصنِّفات الصور إلى تدريب النماذج، ويُصلح الوسوم المسبقة التي كانت تضيع عند كل إعادة تشغيل.
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النموذج يتنبأ بالعناصر التي لم يَسِمها أحد بعد. وكان التشغيل من قبل لا يتنبأ إلا بالعناصر المحجوزة للاختبار التي سبق وسمها، فلم تكن الكتابة الراجعة (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 حيث يهمّ ذلك.
pip install --upgrade potato-annotationمحرّك الوسم
تُفعّل المحرّكَ كتلةُ labeling_engine مع assignment_strategy: engine. مصادره نماذج تُجرَّب بترتيب متتالٍ (cascade)، وبعد آخر مصدر يذهب العنصر إلى البشر. يحدّد كل عقد مخطط توسيم واحداً، ويُختبر مقابل وسوم بشرية يطلبها المحرّك عشوائياً ويعرضها بشكل أعمى، دون توسيم مسبق أو حكم من نموذج حَكَم أو مساعدة من الذكاء الاصطناعي على الصفحة.
- المصادر. نماذج LLM، ونماذج الرؤية واللغة، ونماذج القرار (Laya وأي خادم
/v1/systemone)، وكواشف YOLO، ونماذج حَكَم LLM مع تبديل ترتيب الوسوم، ولجان التحكيم، ونماذج مدرَّبة على وسوم الدراسة نفسها، ووسوم لديك أصلاً. - العقود. يضع
selective_riskحداً أعلى لنسبة الوسوم الآلية المقبولة الخاطئة، عند مستوى ثقة محدَّد. ويعطيppiفترات للانتشار أو للمتوسط تبقى صالحة أياً كانت جودة الآلة. ويُجريno_worse_than_humanاختبار المُعلِّق البديل (alternative annotator test)، ويقدّرbudget_firstما يمكن الحصول عليه بميزانية من الوسوم البشرية، ويقارنdistributionalوسوم الآلة بالطريقة التي ينقسم بها البشر في العناصر الذاتية. - الوسائط. مخططات الاختيار الواحد من N، والترتيبية، والرقمية، ومتعددة الوسوم، ومناطق الصور، والصوت، والفيديو، ومقاطع temporal grounding والتوسيم متعدد المستويات، والكائنات ثلاثية الأبعاد، ووسوم خطوات آثار الوكلاء. وتُقيَّم المناطق والمقاطع والكائنات ثلاثية الأبعاد والآثار بالمقاييس التي يستخدمها تقرير الاتفاق.
- التدقيق. يعود جزء من الوسوم الآلية المقبولة إلى البشر، بشكل أعمى. وعندما يُظهر التدقيق معدل خطأ أعلى من الهدف، يتوقف المحرّك عن قبول الوسوم الآلية في ذلك المخطط (مع
features.drift، المفعّل افتراضياً)، ويعيد الإشهاد من جديد القبول. - الواجهات.
potato label run|status|certify|certificate|export|calls|distill|optimize|migrate-config، وواجهة REST API تحت/api/engine/v1، وخمس أدوات MCP باسمengine_*، وPython SDK، وصفحة إدارة على/admin/labeling-engine.
العقد المستوفى عبارة إحصائية عن الاتفاق مع الأشخاص الذين وسموا العيّنة. ولا يتحقق المحرّك من صواب هؤلاء الأشخاص، لذا فإن عقداً اختُبر مقابل مُعلِّقين غير موثوقين يشهد بالاتفاق مع مُعلِّقين غير موثوقين. وتشرح صفحة عقود محرّك الوسم ما يختبره كل عقد ومتى يفشل.
يستمر icl_labeling وjudge_calibration وpre_annotation في العمل، ويطبع كلٌّ منها عند بدء التشغيل ملاحظة تذكر ما يقابله في المحرّك. ويكتب potato label migrate-config كتلة labeling_engine المكافئة. ولم يُعلَن إهمال الوضع الفردي ولا مواءمة الحَكَم. وتضم صفحة الانتقال إلى محرّك الوسم جدول المقابلة.
الاتفاق
- صار
/admin/iaaيُبلغ عن مخططات أكثر. كانتspatial_annotationوtemporal_groundingوtiered_annotationومخططات آثار الوكلاء (process_reward،trajectory_eval،tool_call_review،failure_attribution،gui_trajectory) تُتخطّى على أنها غير مدعومة، وصارت تُقيَّم الآن. - لم يعد
/admin/api/agreementيُبلغ عن المخططات المهيكلة. حين كانت آثار الوكلاء والمقاطع والمناطق والكائنات ثلاثية الأبعاد تُختزل إلى أسماء الوسوم، كانت تُظهر اتفاقاً تاماً بين كل زوج من المُعلِّقين. وصار المسار يحيل الآن إلى/admin/iaa، الذي يقارن البُنى. - صار مقطعان متطابقان طول كلٍّ منهما صفر يُعدّان متفقين. كانا يُحتسبان من قبل اختلافاً تاماً.
- المقيّمون الآليون يبقون خارج الأرقام المنشورة. يستبعد النشر ووضع الورقة البحثية (Paper Mode) المقيّمين الآليين من الوسوم الذهبية ومن أرقام الاتفاق.
الوضع الفردي
- الاقتراحات العمياء. يحجب
solo_mode.suggestionsوسم نموذج LLM على كل العناصر أو على عيّنة منها، ويقرأ التسليم الاتفاق على العناصر العمياء، لأن الاقتراح المعروض على الشاشة يكون مرساةً تؤثر في الشخص الذي يفحصه. - سقف للإنفاق وذاكرة تخزين مؤقت للردود. يُفحص
ai_budget.cap_usdقبل بدء الوسم وقبل كل دفعة، ويعيدsolo_mode.cacheاستخدام الرد على الاستدعاء المكرَّر. - نماذج القرار. تَسِم نقطتا النهاية
systemoneوlayaمخططات الاختيارات الثابتة في تمريرة أمامية واحدة، بوصفهما مستوى أول سريعاً. وفي صفحة الوضع الفردي إعداد لذلك. - مجموعة ذهبية ولجنة تحكيم ومنهج متدرّج. يقيّم
solo_mode.goldالموجّه على وسوم معروفة قبل التشغيل الكامل، ويجعلsolo_mode.juryعدة نماذج تصوّت على كل عنصر، ويبدأinstance_selection.curriculumبك من العناصر التي وجدها نموذج LLM أسهل. وفحص حساسية الموجّه جديد أيضاً.
إصلاحات تمسّ دراسات 2.10
- كانت صفحة الصور تحفظ إجابة معبّأة مسبقاً من تلقاء نفسها. في مخطط
image_annotationمعpre_annotation، كانت لوحة الرسم تحفظ الأشكال المعبّأة مسبقاً بوصفها إجابة المُعلِّق حين تعيد ترتيب تخطيطها بعد التحميل، فيُحتسب العنصر الذي لم يُمسّ مُجاباً. صار الحفظ الآن لا يحدث إلا عند التعديل. وفي دراسة صور على 2.10 تستخدم التوسيم المسبق، قد تكون بعض العناصر المحتسبة مُجابة لم تُمسّ قط. - لم تكن الصور تُحمَّل من مضيفات لا ترسل ترويسات CORS. كان المضيف الذي لا يرسل ترويسة
Access-Control-Allow-Origin، مثل cocodataset.org، يرفض طلب لوحة الرسم، فتعرض الصفحة «Failed to load image». صارت الصفحة تحمّل هذه الصور دون CORS. يعمل الرسم، أما تعبئة المناطق وSAM والتجزئة بموجّه نصي، وهي تقرأ بكسلات الصورة، فتوضّح سبب تعذّر تشغيلها. - كان الشكل الموسوم مسبقاً بلا
colorيُسقَط. كان العنصر يعرض «Annotations: 0» دون أي تحذير، وصار الشكل الآن يأخذ لون وسمه. - لم يكن «Generate prompt» في الوضع الفردي يستدعي أي نموذج. صار يطلب من نموذج المراجعة كتابة الموجّه الأول. وإن لم يوجد نموذج مراجعة، يرجع إلى وصف المهمة ويُخبر بذلك.
- كان الرفض عبر
potato mcp connectيبدو نجاحاً. كان استدعاء الأداة المرفوض يعود معisError: false، وصار يعود الآن خطأَ أداة يحمل رسالة الخادم. - كان مثال الهيكل الكامل للدراسة يحتوي على مفتاح ميت. لا يقرأ Potato أي
training.feedback.enabled، لذا صار المثال يضبطfeedback.show_explanations. - لم يكن تسجيل خروج الجلسات الخاملة يحدث قط، كما هو موضّح في أول هذا الإدخال.
- كان الفصل في الخلاف يحتسب المقيّمين الآليين. كان المُعلِّقون الآليون قادرين على إرسال عنصر إلى الفصل في الخلاف، وكان
min_human_annotationsيُتجاهل، وكانت درجة اتفاق مفقودة تُعطّل التنسيق. - كان التوسّع التلقائي في Prolific يحتسب التوسيمات الآلية ويتجاهل الحدود القصوى لكل عنصر. صار عدد الأماكن المراد فتحها لا يحتسب إلا التوسيمات البشرية مقابل الحد الأقصى لكل عنصر.
- لم يكن اكتشاف الحالات الحدّية يفعل شيئاً على vLLM. لم يكن الفك الموجَّه (guided decoding) على vLLM يعيد حقول الحالات الحدّية أبداً، وصارت الآن جزءاً من مخطط الاستجابة.
وتضم ملاحظات الإصدار القائمة الكاملة.
Potato 2.10.3
صدر في أكتوبر 2026
يُصلح Potato 2.10.3 ثلاثة أخطاء اكتُشفت في الإصدار 2.10.2 بعد نشره.
pip install --upgrade potato-annotation- الاتفاق على بيانات بالإجماع. عندما كان كل المُعلِّقين يعطون الإجابة نفسها في كل عنصر، كان
/admin/api/agreementيُرجع المخطط على شكل{"error": "float division by zero"}. الاتفاق بالصدفة في هذه الحالة يساوي 1، فتكون ألفا ومعاملا كابا كلاهما غير معرّفة. صار المسار يُبلغ عنها الآن بالقيمة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 تكرار عند البدء، بما فيها أدوات سطر الأوامر. صارت التجزئة تُحسب أول مرة يحاول فيها اسم مستخدم غير معروف تسجيل الدخول. كما عاد الاستيراد يعمل تحت Pyodide، الذي لا تحتوي مكتبة
hashlibفيه علىpbkdf2_hmac.
وتضم ملاحظات الإصدار القائمة الكاملة.
Potato 2.10.2
صدر في أكتوبر 2026
يُصلح Potato 2.10.2 ميزاتٍ لم تكن تعمل عند التثبيت عبر pip أو من صورة Docker، ويسدّ طرقاً كانت تتيح تسجيل الدخول باسم مستخدم آخر، ويجعل قاعدة بيانات MySQL الخلفية تعمل، ويصحّح إحصاءات الاتفاق. إن كنت قد نشرت أرقام اتفاق حسبتها بإصدار سابق، فأعد حسابها.
pip install --upgrade potato-annotation- كانت حسابات SSO تقبل أي كلمة مرور. في مهمة تستخدم OAuth، كان نموذج كلمة المرور يُدخل أيّ شخص إلى حساب سجّله أحد المزوّدين. لم تعد هويات SSO تُصادَق بكلمة المرور، ولم يعد بإمكان شخص غريب في دراسة تعمل على MySQL أن يسجّل اسم مستخدم معلِّق موجود فيرث عمله.
- كان
ai_supportوأدوات الاستبيان يفشلان عند التثبيت عبر pip. أغفلت حزمة wheel مطالبات الذكاء الاصطناعي وأدوات الاستبيان، فكانت الدراسة التي تستخدم أيّاً منهما تتوقف عند بدء التشغيل. وكانت الحاويات وأهدافpotato deployتتخطى أيضاً عشرة أنظمة فرعية، منها دعم الدردشة. - لم تكن قاعدة بيانات MySQL الخلفية تعمل قط. كانت التهيئة التي تذكرها تخزّن التوسيمات على القرص. ثبّت برنامج التشغيل بالأمر
pip install 'potato-annotation[mysql]'؛ وصار التصدير والنسخ الاحتياطي وpotato deploy pullتقرأ من قاعدة البيانات. - 59 إصلاحاً لإحصاءات الاتفاق، تحقّق كلٌّ منها مقابل تطبيق مرجعي مثل scipy أو sklearn أو الحزمة
krippendorff. صار المعامل غير المعرَّف يُبلَّغ عنه بأنه غير معرَّف بدلاً من 1.0، وصار ألفا الترتيبي يستخدم المقياس الترتيبي لـ Krippendorff، وصار MACE يقدّر كفاءة المعلّقين العابثين تماماً (spammers) بنحو 0.01 بدلاً من 0.35، ولم تعد النتائج تتغير بعد إعادة التشغيل، وصارplackett_luceيلائم دالة أرجحية الأفضل والأسوأ بدلاً من تكرار Bradley-Terry. - تحافظ السحب النقطية بإحداثيات الخرائط على دقتها. كان ملف LAS بإحداثيات UTM يُرسم على شبكة قد تبلغ خشونتها 0.5 m. صار Potato يقدّمه نسبةً إلى أصل محلي، ويحفظ التوسيمات بإحداثيات الملف نفسه.
وتضم ملاحظات الإصدار القائمة الكاملة.
Potato 2.10.1
صدر في أكتوبر 2026
يصلح Potato 2.10.1 خمس مشكلات في potato deploy وفي النسخ الاحتياطي اكتُشفت بعد صدور 2.10.0. رقِّ إليه قبل أن تعتمد على التشغيل التجريبي.
pip install --upgrade potato-annotation- كان التشغيل التجريبي ينجح في عمليات نشر يرفضها
upبعد ذلك. فقد كانت خطة نظيفة تُطبع لـ Heroku أو ECS Express دون--backup، ولـ Render أو Railway دون تخزين نسخ احتياطي يُرفع إليه المشروع، ولـ Fly مع مشروع أكبر من أن يُرسل مضمَّناً. صارت الخطة وupتُجريان الفحص نفسه، ويطبع كلاهماREFUSED: <reason>ويخرج بالحالة 2. - كان
--demoيُقترح حيث لا يمكن أن يعمل. يرفع Render وRailway وECS Express مشروعك إلى تخزين النسخ الاحتياطي، فتحتاج إلى--backup hfأو--backup s3حتى في دراسة توسيماتها قابلة للتخلص منها. صار التحذير التمهيدي يقترح--demoلـ Heroku وHuggingFace فقط. - كان
--cloud jetstream2يخطط لنوع المثيل الخطأ. فقد أظهر التشغيل التجريبيm1.small، بينما أنشأupمثيلاً من نوعm3.small. - كان سعران خاطئين. ذكر
potato deploy providersنحو $16 شهرياً لـaws-ec2ونحو $7 لـfly. والخطط تحسب $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 يقول ذلك قبل أن يثبّت أي شيء.
pip install --upgrade potato-annotationالنشر
- AWS بثلاث طرق. ينشئ
--provider awsمثيل Lightsail بسعر ثابت قدره $12 شهرياً ولا يحتاج إلا إلى صلاحياتlightsail:*. أماaws-ec2فهو للحسابات التي عُطِّل فيها Lightsail، ويشغّلaws-ecsالحاوية على ECS Express Mode خلف عنوان HTTPS تديره AWS، بتكلفة أعلى ومع نسخ احتياطي إلزامي. - Heroku، على dyno واحد من فئة Basic. يمسح Heroku القرص يومياً، لذا يرفض Potato النشر عليه دون
--backupأو--demo. - Fly وRailway، لكل منهما وحدة تخزين دائمة.
- Hetzner وVultr وLinode، كأجهزة افتراضية تُعَدّ بالطريقة نفسها التي يُعَدّ بها DigitalOcean، مع شهادة Let's Encrypt لعنوان IP.
- OpenStack، مع إعداد مسبق لـ Jetstream2. يمنح Jetstream2 كل مثيل اسم DNS، فتحصل المهمة على شهادة عادية. وتعمل كذلك سحب OpenStack الجامعية وEGI.
- أزرار النشر. يكتب
potato deploy button config.yaml --target heroku|render|aws|railwayفي مستودعك ملفات زر «Deploy to Heroku» أو «Deploy to Render» أو زر «Launch Stack» الخاص بـ AWS، حتى يتمكن آخرون من تشغيل المهمة في حساباتهم الخاصة.
وتثبّت الإضافتان الجديدتان deploy-aws وdeploy-openstack عميلي AWS وOpenStack.
النسخ الاحتياطي والاستعادة
تنسخ كتلة backup الجديدة مخرجات التوسيم ولقطات من قواعد بيانات SQLite إلى مجموعة بيانات على HuggingFace، أو إلى حاوية متوافقة مع S3، أو إلى كلتيهما، كل خمس دقائق. وعندما يبدأ خادم بمجلد مهمة فارغ وتحتوي النسخة الاحتياطية على بيانات، يستعيدها Potato قبل تحميل أي شيء، فيكمل المعلّقون من حيث توقفوا بعد إعادة التشغيل. مرّر --backup hf أو --backup s3 أو --backup hf,s3 إلى potato deploy up. وتُقرأ كتلة huggingface_backup الأقدم على أنها كتلة backup بوجهة واحدة مع تعطيل الاستعادة، فتتصرف عمليات النشر الحالية كما كانت.
النص كصورة
يحوّل text_as_image: true نص كل عنصر إلى صورة PNG على الخادم ويزيل الكلمات من الصفحة ومن سجل العنصر المضمَّن ومن نقاط نهاية JSON، فلا يجد المعلّق شيئاً يحدده أو ينسخه أو يلصقه. ترفع الميزة كلفة لصق عنصر في روبوت محادثة، ولا يزال بإمكان المعلّق إعادة كتابة النص أو تشغيل OCR على لقطة شاشة. ولا يستفيد قارئ الشاشة شيئاً من الصورة، لذا لا تناسب الميزة دراسة فيها معلّقون يستخدمونه. ويرفض Potato البدء حين يُجمع text_as_image مع مخطط نطاقات، أو مخطط يقرأ حقل نص العنصر، أو Pocket Mode، أو Rooms. ساهم بها @Eyecatch3r في PR #169.
إصلاحات تؤثر في البيانات المجمَّعة
- كانت إعادة التشغيل على مضيف بلا قرص دائم تُضيّع العمل السابق. كان الخادم يبدأ فارغاً، وكانت الحالة الجديدة لمعلّق عائد تكتب فوق النسخة الاحتياطية. والاستعادة عند البدء تصلح ذلك.
- كان DigitalOcean مع
--volume-gbيحفظ التوسيمات على قرص الجذر لا على وحدة التخزين. صارت المخرجات وقواعد بيانات SQLite تُحفظ على/data. - لم يكن النسخ الاحتياطي إلى HuggingFace يفعل شيئاً في الصورة المنشورة، إذ لم تكن تتضمن
huggingface_hub، وعلى Render وDigitalOcean كان--hf-tokenيضبط متغيراً لا يقرؤه شيء. صارت الصورة تثبّت الإضافة الجديدةhosting. - كانت عمليات النشر على 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 قائمة من الصفوف ذات التسميات، ويعمل تظليل النطاقات بالضغط المطوّل.
- المعلّقون الآليون (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 مُطبَّقاً، والمرحلة التي يفشل تحميلها توقف الإقلاع، وإزاحات النطاقات صارت تُحسب بنقاط الترميز لا بوحدات 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 النصَّ الذي يغطيه النطاق.
python -m 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أي نوع توسيم داخل مقطع صوتي أو مرئي. وكان في السابق يُقبل ثم يُتجاهل.
الاتفاق والجودة والذكاء الاصطناعي
- الاتفاق عبر الزمن، مربوطاً بمراجعات دليل الترميز، مع مُطلِق لإعادة المعايرة في
/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يُنتج رقماً قط، وكان يقارن القيم المخزَّنة لا أسماء التسميات، فظهر اتفاق تام في كل مخطط فئوي. - كان المعلّق الثاني في دراسة بمعلّقَين لكل عنصر يُرسَل إلى صفحة الانتهاء، فتضيع كل إجابة يقدّمها بعد ذلك.
- كانت اقتراحات الذكاء الاصطناعي تخص العنصر الخطأ في كل استراتيجيات الإسناد عدا
fixed_order. - لم يكن التسجيل يُحفظ قط في تهيئة الذاكرة الافتراضية، فكان بوسع أي شخص بعد إعادة التشغيل أن يطالب باسم مستخدم موجود.
الشكر لـ Aldo Costa (@Eyecatch3r) على #168 و#171، ولـ @ruthenian8 على الإبلاغ عن #170 وتشخيصه.
Potato 2.8.2
صدر في أغسطس 2026
لم يتضمن 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
إصدار أمني. أصلح تنفيذ الشيفرة عن بُعد عبر وكيل البرمجة الحيّ (GHSA-cm4p-5rfv-x252)، وتهيئةَ مشرف كانت قابلة للقراءة دون مفتاح المشرف، وwebhook لاستيعاب المسارات كان يقبل كل طلب. رقِّ إذا كنت تشغّل Potato في أي مكان غير localhost، واذهب مباشرة إلى 2.8.2، فهو يحمل الإصلاحين اللذين غابا عن 2.8.1.
Potato 2.8.0
صدر في أغسطس 2026
كان Potato منصة لتوسيم النصوص مع وضع للصور. وهو يغطي الآن الصور، والفيديو، والمسوحات بدقة الغيغابكسل، والسحب النقطية ثلاثية الأبعاد، وخرائط العمق، وحلقات الروبوتات، ومخرجات الفيديو التوليدي، والإسناد البصري اللغوي. ولكلٍّ منها يُبلغ عن اتفاق مصحَّح للصدفة.
رقِّ إذا كنت قد ثبّتّ من PyPI. كانت حزم wheel حتى 2.7.1 تعلن بيانات الحزمة بنمط glob أحادي المستوى، فغاب 27 قالباً في المجلدات الفرعية عن كل wheel. وكانت مسارات إعداد الوضع الفردي، وصفحات المشرف، ومعايرة الحَكَم، وخريطة المتن كلها معطَّلة لكل من شغّل pip install، أما من يشغّل Potato من نسخة git فلم يرَ المشكلة قط. أُصلح ذلك في PR #164 على يد @0x6362.
pip install --upgrade potato-annotationالاتفاق على الهندسة والزمن
- اتفاق مصحَّح للصدفة للتسميات المكانية، مفكَّكاً إلى الكشف (هل وجد المعلّقون الكائنات نفسها)، والتصنيف (هل سمّوها بالاسم نفسه)، والتموضع (هل وضعوها في المكان نفسه، ويُبلغ عنه بقيمة σ مقابل خط أساس تجريبي للصدفة مع اختبار KS).
- STAPLE لإجماع الأقنعة. يقدّر حدّاً كامناً، وحساسيةً ونوعيةً لكل مقيّم. وعلى متن يفوق فيه المعلّقون المشوَّشون معلّقَين دقيقَين عدداً بنسبة ثلاثة إلى اثنين، يسجّل تصويت الأغلبية Dice بقيمة 0.846 مقابل الحقيقة، ويسجّل STAPLE قيمة 1.000.
- IoU ثلاثي الأبعاد دقيق مع الدوران، فيصح اتفاق المكعبات لبيانات الطائرات المسيّرة والأجهزة المحمولة والبيئات الداخلية، لا للصناديق الأفقية وحدها.
- يُبلغ عن الاتفاق الزمني بوصفه مسحاً عبر درجات تسامح المطابقة، لأن الاتفاق عند 0.25 ثانية ادعاء مختلف عن الاتفاق عند 2 ثانية.
- القيم غير المعرَّفة تشرح نفسها. فـ α غير معرَّفة فعلاً على متن متفق عليه بالإجماع، وقيمة
NaNالمجردة تبدو كأنها حساب معطوب.
ويصلح هذا أيضاً خللاً في الفصل، إذ كان يقارن مفاتيح التوسيم، ومخططات الصور تخزّن كل شيء تحت مفتاح واحد اسمه _data. لذلك سجّل كل زوج من الصور اتفاقاً قدره 1.0، فبدا معلّقان لم يتفقا على شيء كأنهما مُجمِعان، ولم تُوجَّه أي صورة للمراجعة قط.
الرؤية
- أوّليات هندسية، وهي الخطوط المتعددة، والقطوع الناقصة، والمكعبات ثنائية الأبعاد، ومجموعات النقاط المفتاحية بطوبولوجيا هيكلية وأعلام الرؤية في COCO، وأقنعة الفرشاة المفهرسة بالمثيل.
- التجزئة بالنقر في المتصفح، عبر MobileSAM على ONNX Runtime Web، بنحو 132 ميلي ثانية للنقرة، دون GPU ودون أي اتصال شبكي لكل نقرة.
- توجيه نصي بمفردات مفتوحة. اكتب عبارة، فيُحاط كل ما يطابقها بمربع. يستخدم Grounding DINO برخصة Apache-2.0، ويعمل في المتصفح أيضاً.
- نشر الأقنعة في الفيديو بوحدات الذاكرة في SAM 2، بقيم مقيسة بين 0.974 و0.979 IoU لكل إطار، دون تراجع على امتداد التسلسل. وهذه الميزة تعمل على الخادم عمداً، وللمتصفح مسار منفصل أخف لنقل الأقنعة إلى الإطارات التالية.
- التكبير العميق للصور بدقة الغيغابكسل، تُقدَّم بصيغتَي DZI وIIIF Image API 3.0، مع أقنعة فرشاة بالدقة الكاملة للمصدر.
- استيعاب الوسائط لملفات TIFF متعددة الصفحات بعمق 16 بت، وHEIC، وصيغ RAW للكاميرات، وProRes/MKV/MOV عبر وسيط على الخادم مع تخزين مؤقت.
- 15 صيغة استيراد و29 صيغة تصدير، 11 منها تعمل ذهاباً وإياباً. ويعمل Darwin في الاتجاهين.
صارت اختصارات لوحة المفاتيح في توسيم الصور تتبع أعراف V7 افتراضياً، فـ b للفرشاة، وr للمستطيل، وf للتعبئة، وk للنقطة المفتاحية، وv للتحديد. اضبط keybinding_profile: legacy على المخطط لاستعادة الاختصارات القديمة في دراسة جارية ميدانياً.
ثلاثي الأبعاد والعمق والروبوتات
spatial_annotationللسحب النقطية بصيغ PCD وPLY وLAS و.binالخاصة بـ KITTI و.xyz، مع مكعبات ثلاثية الأبعاد، ونقاط، وخطوط متعددة، ومقاطع لكل نقطة، ومستويات تفصيل بشجرة ثُمانية (octree)، ولوحات شرائح بإسقاط عمودي. ويُخزَّن الدوران بصيغة رباعية (quaternion)، فيبقى ميل التركيب، الذي يُسقطه حقل الانعراج وحده بصمت، سليماً بعد رحلة ذهاب وإياب عبر KITTI.- خرائط العمق بصيغ PNG/TIFF بعمق 16 بت، وNPY، وPFM، وEXR، مع النوافذ، وخرائط الألوان، وقراءة بالأمتار تحت المؤشر، وإسقاط عكسي إلى العارض ثلاثي الأبعاد نفسه.
- إسقاط يراعي المعايرة، فيظهر المكعب المرسوم في الأبعاد الثلاثة في كل صورة كاميرا، ويمكن التحقق منه في البعدين.
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. - قياسات الرسم، أي الزمن لكل شكل، وديناميكيات الضربات، وعدد المراجعات، وزمن قبول اقتراحات الذكاء الاصطناعي. والتسميات المسبقة المقبولة بالجملة ترفع الاتفاق دون أن ترفع الدقة، لأن المعلّقين الذين يقبلون الاقتراح نفسه متفقون بحكم البناء. والتوقيت إشارة عن عملية التوسيم تفرّق بين المراجعة والموافقة الآلية حيث تعجز التسميات عن ذلك.
- استيعاب قاعدة البيانات الحيّ، إذ تصير الصفوف المُنشأة بعد الإقلاع قابلة للتوسيم خلال
poll_interval_secondsدون إعادة تشغيل (#166). - مواصفات قابلة للقراءة آلياً، وهي JSON Schema تغطي 159 مفتاح تهيئة و61 نوع توسيم و24 نوع عرض، إضافة إلى مستند OpenAPI يضم 419 مساراً. ويُولَّد كلاهما من الشيفرة، ويفشل CI عند انحراف أيٍّ منهما، فيستطيع المحرر أو وكيل البرمجة فحص التهيئة دون اختلاق خيارات.
- لا طلبات صادرة. كل ملف أنماط وسكربت وخط وأيقونة يُقدَّم الآن من التثبيت نفسه في القوالب الأربعة عشر كلها. وكان
styles.cssيبدأ بـ@importلخطوط Google، فيرسل عنوان IP لكل معلّق إلى طرف ثالث عند تحميل الصفحة، وكانت صفحة الدخول تحمل أيقونة مفضلة من طرف ثالث. وقد أُزيل كلاهما. - تبويب Instances في لوحة المشرف انتقل من التعقيد التربيعي إلى الخطي، فانخفض زمن 2,000 عنصر من 15.1 ثانية إلى 23 ميلي ثانية.
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على القرص بدل تضمين النص التفريغي داخله. وتُحَلّ المسارات تحتtask_dirعبر فحص أمان المسارات المعتاد، فتبقى نصوصك التفريغية ملفات يمكنك مقارنتها وإعادة تصديرها. potato transcripts، وهو محوّل يأخذ مجلداً من مخرجات ASR ويُخرج ملف بيانات جاهزاً للتوسيم، مزاوجاً كل نص تفريغي بملف الوسائط عبر الاسم الأساسي. يُبلغ--dry-runبما اكتشفه قبل كتابة أي شيء، ويطبع--emit-configتهيئة مطابقة.- مفردات صيغ واحدة عبر أربعة مخططات. صارت
speech_transcriptوvoice_interactionوtiered_annotationتقبل كل ما يقبله عرضaudio_dialogue. وكان ذلك مقصوراً على العرض من قبل. - توسيم نصوص Whisper التفريغية و**توسيم ترجمات YouTube** يمشيان بنقطتَي البداية كلتيهما من أولهما إلى آخرهما.
في 2.7.1 تجري خطوتا التعرّف الآلي على الكلام وفصل المتحدثين قبل Potato، ويقرأ Potato مخرجاتهما. وقد أضاف Potato 2.9 التفريغ وفصل المتحدثين محلياً عبر potato transcripts --transcribe --diarize، ويفرّغ وضع Think-Aloud كلام المعلّقين أنفسهم محلياً منذ 2.7.0.
Potato 2.7.0
صدر في يوليو 2026
يقوم Potato 2.7 على فكرة واحدة، هي أن أداة التوسيم ينبغي أن تقيس كيف تُتَّخذ الأحكام، لا أن تسجّل ما كانت عليه فقط. وينطبق ذلك على نوعَي الحَكَم معاً، أي البشر الذين يوسّمون، ونماذج الذكاء الاصطناعي التي يجري تقييمها.
قياس كيف يوسّم البشر
سبع ميزات اختيارية، لا تحتاج أيٌّ منها إلى نموذج لغوي كبير.
- محرك القياس النفسي، وهو طبقة حيّة من نظرية الاستجابة للمفردة تمنح كل تسمية احتمالاً بعدياً وفترة حساسية (
p = 0.94 [0.88–0.97]) بدل تصويت أغلبية مجرّد. ويقدّر قدرة المعلّق وصعوبة العنصر من أنماط الاتفاق وحدها، ويوجّه العناصر إلى المعلّق الذي يحمل حكمه أكبر قدر من المعلومات، ويشير إلى الأخطاء المرجّحة في دليل الترميز. - الغرف الجماعية، أي اجتماع المعايرة الذي يعقده فريقك أصلاً عبر مشاركة الشاشة، مدمجاً في الأداة ومُجهَّزاً بالقياس. تصويت أعمى، ثم كشف من المضيف، فنقاش، فإعادة تصويت، مع مؤشر حيّ لألفا كريبندورف يبيّن ما أفادت به الجلسة.
- مختبر الحدود، وهو أسئلة افتراضية مضادة بعد كل تسمية («هل يبقى ذلك صحيحاً؟») تحوّل التوسيم العادي إلى مجموعات تباين، وتكشف المعلّقين غير المتسقين دون زرع عناصر ذهبية.
- Truth Serum، وهو تسجيل بتنبؤ الأقران على أساس «الشائع على نحو مفاجئ»، يتفوق على تصويت الأغلبية حيث يكون التوسيم صعباً، ودون أي تسميات ذهبية.
- وضع Think-Aloud. يتحدث المعلّقون أثناء عملهم، ويعمل تحويل الكلام إلى نص محلياً بالكامل، ويصير النص الحرفي هو التبرير.
- وضع الورقة البحثية. أمر واحد يحوّل المشروع إلى تقرير LaTeX قابل للترجمة عن مجموعة البيانات، بما فيه إحصاءات الاتفاق والاستشهادات.
- وضع الجيب، وهو توسيم كامل الدعم على الهاتف، بكومة بطاقات قابلة للسحب، ومزامنة دون اتصال، وتثبيت كتطبيق ويب تقدمي.
تقييم وكلاء الذكاء الاصطناعي
اتسعت حزمة تقييم الوكلاء لتشمل بنية الفريق والوكلاء متعددي الوسائط، فأضافت رسم تفاعل الوكلاء القابل للنقر، وإسناد الأعطال عبر الوكلاء، ومراجعة التسليم بينهم، وبطاقات نتائج لكل وكيل وللفريق، وخطوطاً زمنية لتنازع الأدوات، ووسم السلوك الناشئ، إضافة إلى مسارات استخدام الحاسوب والواجهات الرسومية، والخطوط الزمنية الصوتية ثنائية الاتجاه، والإسناد الزمني في الفيديو، وبنية جداول المستندات.
في كل مكان آخر
توسيم الأحداث عبر المستندات، والتوسيم على مستوى الدور الحواري، ودليل ترميز حيّ بمحرر بملء الصفحة، وربط PDF عبر الصفحات مع تعرّف ضوئي اختياري على الحروف، وأدوار RBAC بمخططات لكل مجموعة، ولوحات تحكم للمشرف وللمعلّق بعشر لغات، وتثبيت أخفّ بكثير. فقد صارت حزم تطوير الذكاء الاصطناعي تُحمَّل عند الحاجة، فانخفض زمن الإقلاع من نحو 2.0 ثانية إلى 0.7 ثانية.
Potato 2.6.0
صدر في يونيو 2026
ينتقل Potato 2.6 إلى تحليل البيانات النوعية ويعمّق عُدّة تقييم الوكلاء. فيضيف وضع QDA، وسير عمل لمعايرة نموذج LLM بوصفه حَكَماً ومواءمته مع قائمة فرز قائمة على الإشارات، ومخططات لتحرير المسارات تنتج بيانات تدريب SFT وDPO. كما أُعيد ترخيص Potato إلى GPL-3.0-or-later (بدلاً من PolyForm Shield).
وضع QDA
يحوّل qda_mode الاختياري أداة Potato إلى مساحة عمل تعاونية للترميز النوعي. وتفعيله يجمع دليل ترميز حيّاً، وترميزاً من داخل النص، ومذكرات للمحلل، وحالات، وبحثاً في النص الكامل، بإعدادات افتراضية مضبوطة على محلل واحد يرمّز متناً كاملاً.
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 واحد أو أكثر، ثم شغّل تمريرة معايرة بشرية عمياء لقياس الدقة والاتفاق وخطأ المعايرة. وثمة سير عمل منفصل لمواءمة حَكَم واحد يتتبع كابا كوهين مقابل تسمياتك الذهبية البشرية أثناء تنقيح المعيار، مع حكم مضمَّن اختياري أثناء التوسيم.
تعرّف على المزيد حول معايرة الحَكَم ← · مواءمة الحَكَم ←
قائمة فرز قائمة على الإشارات
رتّب أولوية قائمة التوسيم بإشارة جودة لكل عنصر، كخطأ من وكيل، أو تقييم سلبي من بيئة الإنتاج، أو درجة منخفضة، أو أي حقل مخصص، ليرى المراجعون أكثر العناصر إثارة للشك أولاً بدل ترتيب الوصول.
triage:
enabled: true
signal_field: quality_score
invert_signal: true
assignment_strategy: priorityتعرّف على المزيد حول قائمة الفرز ←
تحرير المسارات من أجل SFT/DPO
يتيح المخططان الجديدان trajectory_edit وtrajectory_correction للمعلّقين إعادة كتابة خطوات مسار الوكيل. ويحوّل المصدِّر كل زوج أصلي/مصحَّح إلى أهداف ضبط دقيق خاضع للإشراف (trajectory_sft.jsonl) وأزواج تفضيل DPO (trajectory_dpo.jsonl).
تعرّف على المزيد حول تحرير المسارات ←
عرض eval_trace
عرض لمسار الوكيل بثلاثة أجزاء (الاستدلال، واستدعاءات الدوال، والإجابة النهائية)، مصمَّم للتقييم المستمر، حيث تصل المسارات عبر webhook أو عبر مستطلِع Langfuse أو من مجلد مراقَب، ويجري الحكم عليها فور وصولها.
تعرّف على المزيد حول eval_trace ←
سير العمل والإسناد
- تغطية غير متجانسة، أي حدود قصوى لعدد المعلّقين لكل عنصر، وتقارير اتفاق بين المعلّقين، وتوجيه للفصل في الخلاف، للمهام التي تحتاج فيها العناصر إلى أعداد مختلفة من المعلّقين.
- استرجاع الإسنادات المهجورة، أي استعادة الإسنادات التي تركها عاملو Prolific أو من حجبتهم مراقبة الجودة، مع مدة احتفاظ قابلة للضبط واسترجاع لا يتأثر بالتكرار.
- استراتيجية إسناد الدفعات المخصصة لإسناد دفعات محددة مسبقاً من العناصر إلى معلّقين بعينهم.
- بادئات مسار للوكيل العكسي لتقديم Potato تحت مسار فرعي خلف وكيل عكسي.
الترخيص
صار Potato يصدر تحت GPL-3.0-or-later، بعد إعادة ترخيصه من PolyForm Shield. يمكنك استخدامه وتعديله وإعادة توزيعه، بما في ذلك تجارياً، ما دامت الأعمال المشتقة تبقى تحت GPL. انظر صفحة «عن المشروع» للتفاصيل.
الأداء والاستقرار
- إقلاع أسرع بنحو 3×. لم تعد حزمة تعلّم الآلة تُحمَّل مسبقاً عند البدء، فانخفض زمن الاستيراد من نحو 6.5 ثانية إلى 2 ثانية، وإقلاع مشروع من 50 ألف عنصر من نحو 10 ثوانٍ إلى 5.7 ثانية، والذاكرة المقيمة من نحو 750 ميغابايت إلى 365 ميغابايت.
- إعادة تسمية مخطط. صار
annotation_type: highlightهوspan، مع ترحيل جاهز. حدّث التهيئات القديمة بإعادة تسمية النوع، أما تهيئاتspanالقائمة فلا يمسّها شيء. - موجة واسعة من تشديد ضمان الجودة طالت تسجيل المسارات، ومراحل التدريب، وProlific، والحفظ، والتصدير ومعالجة الاستبيانات، وwebhooks، والوضع الفردي، والتعلم النشط.
Potato 2.5.0
صدر في 2026
موجة ترميز نوعي تجعل Potato صالحاً لسير عمل البحث النوعي إلى جانب واجهته للتوسيم في معالجة اللغة الطبيعية وتعلّم الآلة.
- اتفاق المعلّقين. كابا كوهين (ثنائية) وكابا فلايس (لعدد N من المقيّمين) إضافة إلى ألفا كريبندورف، متاحة عبر واجهة الاتفاق في لوحة المشرف. انظر دليل اتفاق المعلّقين.
- مصدِّرات جديدة، هي
codebook(ملف CSV لكل مخطط يضم تسلسل الرموز ولونها ووصفها وعدد استخداماتها) وquotation_report(ملف CSV لكل نطاق يضم النص والإزاحات والمستند المصدر والمرمِّز). - تحليلات الرموز، أي نقاط نهاية للمشرف لحساب التواقع الثنائي بين الرموز، وجدول تقاطعي للرموز حسب سمة من بيانات العناصر الوصفية القائمة.
Potato 2.4.5
صدر في 2026
إصدار للاستقرار والأدوات.
- تنقيح محقَّق، وهو إطار قابل للتوسيع لتحسين إرشادات التوسيم في الوضع الفردي تدريجياً، مع ضمانات ضد تناقض الإرشادات وتسرّب البيانات الوصفية.
- مدقق التهيئة، وهو واجهة سطر أوامر جديدة
python -m potato.validate_cliتفحص مفاتيح التهيئة مقابل مخطط التهيئة المعروف. - الأمان. إصلاح لتجاوز بادئة شقيقة في التحقق من المسارات يسمح بالتنقل خارجها (GHSA-q9m2-fhv9-3jcf).
- إصلاحات في مزامنة حالة الحفظ والتنقل، وتكامل Prolific، والتنقل متعدد المراحل، وتغذية مراقبة الجودة الراجعة.
Potato 2.3.0
صدر في 9 مارس 2026
Potato 2.3 هو أكبر إصدار في تاريخ Potato، ويقدّم التوسيم الوكيلي، والوضع الفردي، والقياس الأفضل-الأسوأ، ومصادقة SSO/OAuth، وتصدير Parquet، و15 مشروعاً تجريبياً جديداً، وتشديداً أمنياً.
التوسيم الوكيلي
نظام متكامل لتقييم وكلاء الذكاء الاصطناعي عبر التوسيم البشري. يضم 12 محوّلاً لصيغ المسارات، و3 أنواع عرض متخصصة، و9 مخططات توسيم جاهزة.
12 محوّلاً لصيغ المسارات. استورد مسارات الوكلاء من OpenAI وAnthropic وSWE-bench وOpenTelemetry وMCP وCrewAI/AutoGen/LangGraph وLangChain وLangFuse وReAct وWebArena/VisualWebArena وATIF وتسجيلات المتصفح الخام. والكشف التلقائي متاح.
يجري التحويل خطوةً عبر سطر الأوامر قبل بدء الخادم:
python -m potato.trace_converter \
--input traces.json \
--input-format react \
--output data/traces.jsonlويصبح الملف المحوَّل بعد ذلك ملف بيانات عادياً، يعرضه أحد أنواع عرض الوكلاء:
data_files:
- "data/traces.jsonl"
instance_display:
fields:
- key: steps
type: agent_trace
label: "Agent trajectory"3 أنواع عرض:
- عرض مسار الوكيل: بطاقات خطوات ملوّنة بمشاهدات قابلة للطي، وتنسيق JSON مقروء، وشريط جانبي زمني للوكلاء المستخدمين للأدوات
- عرض مسار وكيل الويب: لقطات شاشة كاملة مع طبقات SVG تبيّن أهداف النقر ومدخلات النص وإجراءات التمرير، وتنقّل بشريط الصور للوكلاء المتصفحين
- عرض المحادثة التفاعلية: وضع محادثة حيّة (يتفاعل المعلّق مع الوكيل عبر وسيط) ووضع مراجعة المسار للوكلاء الحواريين
تقييمات لكل دور. قيّم الخطوات المفردة إلى جانب المسار ككل لتقييم أدقّ.
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.
نظام وسيط الوكلاء. وسطاء OpenAI وHTTP وecho لتقييم الوكلاء الحيّ.
تعرّف على المزيد حول التوسيم الوكيلي ←
الوضع الفردي
سير عمل يتعاون فيه معلّق بشري واحد مع نموذج LLM لتوسيم مجموعة بيانات كاملة، محققاً اتفاقاً يزيد على 95% مع خطوط الأنابيب متعددة المعلّقين، ولا يحتاج إلا إلى 10-15% من مجموع التسميات البشرية.
يعمل الوضع الفردي بوصفه آلة حالات للمراحل لا تسلسلاً ثابتاً. فهو يمر بالإعداد، ومراجعة المُوجِّه، وحلقة اختيارية للحالات الحدية، والتوسيم المتوازي، وحسم الخلافات، والتوسيم النشط مع مراجعة دورية ومراجعة للقواعد، والتوسيم الذاتي، والتحقق النهائي. ويمكن لخمس من هذه المراحل أن تعود إلى مراجعة المُوجِّه حين يتبيّن أن المُوجِّه هو المشكلة، ويرجع التحقق النهائي إلى التوسيم النشط حين لا تتجاوز العينة العتبة.
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"ترتيب أولوية العناصر بإشارات متعددة. يوازن instance_selection بين سبع إشارات (الثقة المنخفضة، والتنوع، وتنبؤ LLM، والخلاف، والعشوائية، ورسم خرائط البيانات، وقاعدة الحالات الحدية) لاختيار ما يراه الإنسان تالياً.
تعرّف على المزيد حول الوضع الفردي ←
القياس الأفضل-الأسوأ
توسيم مقارن كفء يختار فيه المعلّقون العنصر الأفضل والأسوأ من مجموعات مرتَّبة. توليد تلقائي للمجموعات بتصاميم الكتل غير المكتملة المتوازنة، وثلاث طرق تسجيل (العدّ، وبرادلي-تيري، وبلاكيت-لوس).
annotation_schemes:
- annotation_type: bws
name: fluency
description: "Which sentence reads most fluently?"
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: "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.
export_annotation_format:
- parquetتعرّف على المزيد حول تصدير Parquet ←
15 مشروعاً تجريبياً جديداً
عروض جديدة في project-hub/ تغطي التوسيم الوكيلي (5 عروض)، والوضع الفردي (3 عروض)، والقياس الأفضل-الأسوأ (3 عروض)، والمصادقة (عرضان)، وسير عمل التصدير (عرضان). ابدأ أي عرض بـ potato start config.yaml.
تشديد الأمان
- رموز جلسات آمنة تشفيرياً بمدة صلاحية قابلة للضبط
- حماية CSRF مفعّلة افتراضياً
- تحديد معدل الطلبات على نقاط نهاية المصادقة
- تنقية المدخلات للمحتوى الوارد من المستخدمين
- تدقيق للاعتماديات مع تحديث كل الحزم
- ترويسات سياسة أمان المحتوى
تحسينات أخرى
- محوّلات مسارات مخصصة لأطر الوكلاء غير المدعومة
- وضع فردي هجين مع أخذ عينات للتحقق بمعلّقين متعددين
- تبويب في لوحة المشرف لـ BWS مع رسوم تقارب الدرجات
- تصدير Parquet تزايدي مع تقسيم حسب التاريخ
مقارنة بين v2.2 وv2.3
| الميزة | v2.2 | v2.3 |
|---|---|---|
| التوسيم الوكيلي | غير متاح | 12 محوّلاً، و3 عروض، و9 مخططات |
| الوضع الفردي | غير متاح | سير عمل بين الإنسان وLLM تقوده آلة حالات للمراحل |
| القياس الأفضل-الأسوأ | غير متاح | BWS بثلاث طرق تسجيل |
| المصادقة | اسم المستخدم فقط | + Google OAuth وGitHub OAuth وOIDC |
| تصدير Parquet | غير متاح | Parquet بثلاثة ملفات وستة خيارات ضغط |
| المشاريع التجريبية | +125 | +140 (15 جديداً) |
| الأمان | أساسي | CSRF، وتحديد المعدل، وCSP، وجلسات آمنة |
Potato 2.2.0
صدر في 20 فبراير 2026
Potato 2.2 إصدار رئيسي يتضمن 9 مخططات توسيم جديدة، ونظام تصدير قابلاً للتوسيع، وتقدير الكفاءة بـ MACE، و55 أداة استبيان محقَّقة، ومصادر بيانات عن بُعد.
مخططات التوسيم الجديدة (9)
توسيم الأحداث. هياكل أحداث متعددة الأطراف مع نطاقات محفِّزة وأدوار حجج مصنَّفة. وسِّم أحداثاً مثل ATTACK وHIRE وTRAVEL مع حجج كيانات مقيَّدة وعرض أقواس بنمط المحور والأذرع.
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تعرّف على المزيد حول توسيم الأحداث ←
ربط الكيانات. اربط توسيمات النطاقات بقواعد معرفة خارجية (Wikidata وUMLS وواجهات REST مخصصة). أضف كتلة 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تعرّف على المزيد حول الترتيب التنوعي ←
نظام التصدير
أداة تصدير جديدة قابلة للتوسيع عبر سطر الأوامر (python -m potato.export) تحوّل التوسيمات إلى 6 صيغ معيارية في المجال، هي COCO وYOLO وPascal VOC وCoNLL-2003 وCoNLL-U وأقنعة التجزئة.
python -m potato.export --config config.yaml --format coco --output ./export/تعرّف على المزيد حول صيغ التصدير ←
مصادر البيانات عن بُعد
حمّل بيانات التوسيم من عناوين URL وS3 وGoogle Drive وDropbox وHugging Face وGoogle Sheets وقواعد بيانات SQL عبر كتلة التهيئة الجديدة data_sources:. وتتضمن التحميل الجزئي، والتخزين المؤقت، وإدارة بيانات الاعتماد.
تعرّف على المزيد حول مصادر البيانات عن بُعد ←
أدوات الاستبيان
55 استبياناً محقَّقاً عبر 8 فئات (الشخصية، والصحة النفسية، والوجدان، ومفهوم الذات، والمواقف الاجتماعية، وأسلوب الاستجابة، والنماذج المختصرة، والبيانات الديموغرافية). استخدمها في مرحلتَي ما قبل الدراسة وما بعدها مع instrument: "tipi".
تعرّف على المزيد حول أدوات الاستبيان ←
تحسينات أخرى
- تتبّع الكائنات في الفيديو مع استيفاء الإطارات المفتاحية
- دعم ملف تهيئة خارجي للذكاء الاصطناعي
- تحسينات في تخطيط شبكة النماذج
- معالجات صيغ لملفات PDF وWord والشيفرة وجداول البيانات
Potato 2.1.0
صدر في 5 فبراير 2026
يقدّم Potato 2.1 نظام عرض العناصر، ودعم الذكاء الاصطناعي البصري، وربط النطاقات، وتوسيم النطاقات متعدد الحقول، وتخصيص التخطيط.
نظام عرض العناصر
كتلة تهيئة جديدة 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
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، وخمسة عروض لمسارات الوكلاء.
تعرّف على المزيد حول عرض العناصر ←
توسيم النطاقات متعدد الحقول
تدعم مخططات توسيم النطاقات الآن خيار target_field للتوسيم عبر حقول نصية متعددة في العنصر نفسه.
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_link لإنشاء علاقات مصنَّفة بين النطاقات الموسَّمة. يدعم الروابط الموجَّهة وغير الموجَّهة، والعلاقات متعددة الأطراف، وعرض الأقواس المرئي، وقيود التسميات.
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"تعرّف على المزيد حول ربط النطاقات ←
دعم الذكاء الاصطناعي البصري
أربع نقاط نهاية جديدة للرؤية تساعد في توسيم الصور والفيديو بالذكاء الاصطناعي:
- YOLO: كشف محلي سريع للكائنات
- Ollama Vision: نماذج رؤية ولغة محلية (LLaVA وQwen-VL)
- OpenAI Vision: رؤية GPT-4o السحابية
- Anthropic Vision: Claude مع الرؤية
تشمل الميزات كشف الكائنات، والتوسيم المسبق، والتصنيف، والتلميحات، وكشف المشاهد، وكشف الإطارات المفتاحية، وتتبّع الكائنات.
تعرّف على المزيد حول دعم الذكاء الاصطناعي البصري ←
تخصيص التخطيط
أنشئ تخطيطات مرئية مخصصة متقنة باستخدام قوالب HTML وCSS. ينشئ Potato ملف تخطيط قابلاً للتعديل، أو يمكنك تقديم قالب مخصص بالكامل بتخطيطات شبكية، وخيارات مرمَّزة بالألوان، وتنسيق للأقسام.
task_layout: layouts/custom_task_layout.htmlثلاثة تخطيطات مثالية مضمَّنة، هي الإشراف على المحتوى، وسؤال وجواب الحوار، والمراجعة الطبية.
تعرّف على المزيد حول تخصيص التخطيط ←
مبررات التسميات
قدرة رابعة للذكاء الاصطناعي تولّد تفسيرات متوازنة لسبب انطباق كل تسمية، فتساعد المعلّقين على فهم وجهات نظر التصنيف المختلفة.
ai_support:
features:
rationales:
enabled: trueتعرّف على المزيد حول دعم الذكاء الاصطناعي ←
تحسينات أخرى
- أكثر من 50 اختباراً جديداً لتحسين الموثوقية
- تحسينات في التصميم المتجاوب
- تنظيم محسَّن لـ project-hub مع أمثلة تخطيط
- إصلاح أخطاء عبر أنواع التوسيم
مقارنة بين v2.0 وv2.1
| الميزة | v2.0 | v2.1 |
|---|---|---|
| عرض العناصر | عبر حيل في التوسيم | كتلة instance_display مخصصة |
| أهداف النطاقات | حقل نصي واحد | حقول متعددة عبر target_field |
| ربط النطاقات | غير متاح | نوع span_link كامل |
| الذكاء الاصطناعي البصري | غير متاح | YOLO، وOllama Vision، وOpenAI Vision، وAnthropic Vision |
| تخصيص التخطيط | توليد تلقائي أساسي | توليد تلقائي + قوالب مخصصة |
| قدرات الذكاء الاصطناعي | 3 (تلميحات، كلمات مفتاحية، اقتراحات) | 4 (+ مبررات) |
Potato 2.0
Potato 2.0 إصدار رئيسي يضيف دعم الذكاء الاصطناعي، والتعلم النشط، ومراحل التدريب، وسير العمل متعدد المراحل، وقاعدة بيانات MySQL خلفية.
دعم الذكاء الاصطناعي
ادمج نماذج اللغة الكبيرة لمساعدة المعلّقين بتلميحات ذكية، وتمييز الكلمات المفتاحية، واقتراحات التسميات.
المزوّدون المدعومون:
- 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
description: "Mark each speaker turn in the audio"
mode: label
labels:
- Speaker A
- Speaker Bتعرّف على المزيد حول توسيم الصوت ←
التعلم النشط
رتّب أولوية عناصر التوسيم تلقائياً بحسب عدم يقين النموذج. درّب مصنِّفات على التوسيمات الموجودة، ووجّه المعلّقين إلى الأمثلة الأكثر إفادة.
القدرات:
- خيارات متعددة للمصنِّف (LogisticRegression، RandomForest، SVC، MultinomialNB)
- محوّلات متجهية متنوعة (TF-IDF، Count، Hashing)
- حفظ النموذج عبر عمليات إعادة التشغيل
- اختيار معزَّز بنماذج اللغة الكبيرة
- دعم مخططات متعددة
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
username: ${DB_USER}
password: ${DB_PASSWORD}ينشئ Potato الجداول المطلوبة تلقائياً عند أول تشغيل.
سجل التوسيم
تتبّع كامل لكل تغييرات التوسيم مع الطوابع الزمنية ومعرّفات المستخدمين وأنواع الإجراءات. ويتيح التدقيق والتحليل السلوكي.
{
"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/"
export_annotation_format: "jsonl"متطلب الأمان
يجب الآن أن تقع ملفات التهيئة داخل task_dir.
إذا كانت التهيئة بجوار البيانات، فمجلد المهمة هو المجلد الحالي:
task_dir: "."وإذا كانت التهيئة في مجلد فرعي، فسمِّ مجلد المشروع الذي تنتمي إليه:
task_dir: "my_project/"مقارنة سريعة
| الميزة | v1 | v2.0 | v2.1 | v2.2 | v2.3 |
|---|---|---|---|---|---|
| دعم الذكاء الاصطناعي/نماذج اللغة الكبيرة | لا | نعم | نعم + ذكاء اصطناعي بصري + مبررات | + تمييز الخيارات | + الوضع الفردي |
| التوسيم الوكيلي | لا | لا | لا | لا | 12 محوّلاً و3 أنواع عرض |
| القياس الأفضل-الأسوأ | لا | لا | لا | لا | نعم (3 طرق تسجيل) |
| توسيم الصوت | أساسي | موجة صوتية كاملة | موجة صوتية كاملة | موجة صوتية كاملة | موجة صوتية كاملة |
| التعلم النشط | لا | نعم | نعم | نعم + ترتيب تنوعي | + تكامل مع الوضع الفردي |
| عرض العناصر | لا | لا | نعم | نعم | نعم |
| ربط النطاقات | لا | لا | نعم | نعم | نعم |
| توسيم الأحداث | لا | لا | لا | نعم | نعم |
| ربط الكيانات | لا | لا | لا | نعم | نعم |
| المقارنة الزوجية/الفرز/الإحالة المشتركة/الأشجار | لا | لا | لا | نعم | نعم |
| تخصيص التخطيط | لا | توليد تلقائي | تلقائي + قوالب مخصصة | تلقائي + قوالب مخصصة | تلقائي + قوالب مخصصة |
| مرحلة التدريب | لا | نعم | نعم | نعم | نعم |
| لوحة المشرف | أساسية | محسَّنة | محسَّنة | محسَّنة + MACE | + تبويب BWS، والوضع الفردي |
| قاعدة البيانات الخلفية | ملفات فقط | ملفات + MySQL | ملفات + MySQL | ملفات + MySQL | ملفات + MySQL |
| أداة التصدير عبر سطر الأوامر | لا | لا | لا | نعم (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/" export_annotation_format: "jsonl" -
موقع ملف التهيئة تأكد من أن ملف التهيئة داخل مجلد المشروع.
تشغيل الخادم
# v2 command
python -m potato start config.yaml -p 8000
# Or shorthand
potato start config.yamlالبدء
هل أنت مستعد لتجربة Potato؟ ابدأ بـ دليل البدء السريع أو استكشف ميزات بعينها:
ميزات v2.3:
- التوسيم الوكيلي - تقييم وكلاء الذكاء الاصطناعي بمحوّلات المسارات وعروض على مستوى الخطوة
- الوضع الفردي - توسيم تعاوني بين الإنسان وLLM
- القياس الأفضل-الأسوأ - توسيم مقارن مع التسجيل
- SSO وOAuth - مصادقة عبر Google وGitHub وOIDC
- تصدير Parquet - تصدير بيانات عمودي
ميزات v2.2:
- توسيم الأحداث - هياكل أحداث متعددة الأطراف
- ربط الكيانات - الربط بقواعد المعرفة
- الفرز - فحص سريع للبيانات
- سلاسل الإحالة المشتركة - الإحالة المشتركة بين الكيانات
- أشجار المحادثات - توسيم الحوار الهرمي
- MACE - تقدير كفاءة المعلّقين
- تمييز الخيارات - إرشاد إلى الخيارات بمساعدة الذكاء الاصطناعي
- الترتيب التنوعي - ترتيب العناصر بالاعتماد على التضمينات
- صيغ التصدير - أداة تصدير عبر سطر الأوامر بـ 6 صيغ
- مصادر البيانات عن بُعد - تحميل البيانات من السحابة
- أدوات الاستبيان - 55 استبياناً محقَّقاً
ميزات v2.1:
- عرض العناصر - عرض محتوى متعدد الوسائط
- دعم الذكاء الاصطناعي البصري - ذكاء اصطناعي لتوسيم الصور والفيديو
- ربط النطاقات - توسيم العلاقات بين الكيانات
الميزات الأساسية:
- دعم الذكاء الاصطناعي - مساعدة ذكية في التوسيم
- التعلم النشط - ترتيب ذكي لأولوية العناصر
- توسيم الصوت - توسيم قائم على الموجة الصوتية
- مرحلة التدريب - تأهيل المعلّقين
- لوحة المشرف - المراقبة والإدارة