Skip to content

Nouveautés

Nouveautés de Potato v2.x : le moteur psychométrique, les salles multijoueur, le Laboratoire de frontières de décision, Truth Serum, le mode Think-Aloud, le mode QDA, la calibration LLM-as-judge, l'évaluation multi-agents et plus de 50 types d'annotation. Désormais sous licence GPL-3.0-or-later.

Cette page couvre les nouvelles fonctionnalités et améliorations des versions Potato v2.x.


Potato 2.7.2

Publié en août 2026

Journalisation des frappes pour les champs de texte libre. Potato enregistre le rythme derrière une réponse et jamais les caractères, ce qui suffit à distinguer la frappe du collage.

  • Journalisation des frappes — capture aveugle au contenu des pauses, des rafales, des révisions et des collages sur chaque champ de texte libre, avec une quarantaine de caractéristiques de synthèse calculées par réponse. Désactivée par défaut.
  • Détection du processus de rédaction — six règles nommées, à seuils explicites, qui indiquent les valeurs de caractéristiques derrière chaque signalement. Les seuils peuvent être réajustés à votre propre projet, et une voie supervisée existe si vous disposez d'étiquettes.
  • Repères éthiques — exemple de formulation du consentement, conservation et suppression, le problème du taux de base, et pourquoi un signalement invite à regarder plutôt qu'il ne conclut.
  • Exports optionnelsexport_include_typing_dynamics écrit un fichier annexe de synthèse, et --format keystrokes écrit les flux bruts en Parquet. Aucun des deux n'est actif par défaut : les données comportementales ne se retrouvent donc jamais par accident dans une publication de jeu de données.

La divulgation aux annotateurs est activée par défaut, et la désactiver inscrit un avertissement au démarrage.


Potato 2.7.1

Publié en juillet 2026

L'ingestion de transcriptions, en partant du principe que la transcription existe déjà. Quelqu'un a lancé Whisper, ou téléchargé des sous-titres, ou reçu un corpus, et l'étape suivante ne devrait pas consister à écrire un script de conversion.

  • 21 formats de transcription et de sous-titres, contre 6 auparavant. Whisper, WhisperX, whisper.cpp, AWS Transcribe, Deepgram, AssemblyAI, Rev.ai, SPoRC, SubRip, WebVTT, SubStation Alpha, TTML/DFXP, YouTube json3 et srv1/srv2/srv3, NIST CTM, Praat TextGrid et ELAN EAF. La détection se fait sur le contenu du fichier, pas sur l'extension.
  • Fichiers de transcription annexes — un fichier de données peut pointer vers media/int_001.srt sur le disque au lieu d'intégrer la transcription. Les chemins sont résolus sous task_dir par le contrôle de sécurité habituel, vos transcriptions restent donc des fichiers que vous pouvez comparer et réexporter.
  • potato transcripts — un convertisseur qui transforme un dossier de sorties ASR en fichier de données prêt à annoter, en appariant transcriptions et médias par nom de base. --dry-run indique ce qui a été détecté avant d'écrire quoi que ce soit, et --emit-config affiche une configuration correspondante.
  • Un seul vocabulaire de formats pour quatre schémasspeech_transcript, voice_interaction et tiered_annotation acceptent désormais tout ce qu'accepte l'affichage audio_dialogue. Auparavant, seul l'affichage le faisait.
  • Comment annoter des transcriptions Whisper et Comment annoter des sous-titres YouTube déroulent les deux points de départ de bout en bout.

L'ASR et la diarisation restent en amont. Potato lit leur sortie ; il ne transcrit pas.


Potato 2.7.0

Publié en juillet 2026

Potato 2.7 repose sur une idée : un outil d'annotation devrait mesurer comment les jugements se forment, et pas seulement enregistrer ce qu'ils étaient. Cela vaut pour les deux sortes de juges : les humains qui annotent, et les modèles d'IA que l'on évalue.

Mesurer la façon dont les humains étiquettent

Sept fonctionnalités optionnelles, dont aucune ne demande de LLM.

  • Moteur psychométrique — une couche de théorie de la réponse à l'item, calculée en direct, qui donne à chaque étiquette une probabilité a posteriori et un intervalle de confiance (p = 0.94 [0.88–0.97]) plutôt qu'un simple vote majoritaire. Elle estime la compétence des annotateurs et la difficulté des items à partir des seuls profils d'accord, oriente chaque item vers l'annotateur dont le jugement apporte le plus d'information, et signale les défauts probables du livre de codes.
  • Salles multijoueur — la réunion de calibration que votre équipe organise déjà par partage d'écran, intégrée à l'outil et instrumentée : vote à l'aveugle, révélation par l'animateur, discussion, nouveau vote, avec un indicateur d'alpha de Krippendorff en direct qui montre ce que la séance a rapporté.
  • Laboratoire de frontières de décision — des sondes contrefactuelles après chaque étiquette (« cela tiendrait-il encore ? »), qui transforment une annotation ordinaire en jeux de contrastes et repèrent les annotateurs incohérents sans glisser d'items étalons.
  • Truth Serum — un score de prédiction par les pairs fondé sur le principe de la réponse « étonnamment populaire », qui l'emporte sur le vote majoritaire là où l'annotation est difficile, sans étiquettes de référence.
  • Mode Think-Aloud — les annotateurs parlent pendant qu'ils travaillent ; la reconnaissance vocale tourne entièrement en local et la transcription mot à mot devient la justification.
  • Mode article — une commande transforme un projet en rapport de jeu de données LaTeX compilable, statistiques d'accord et citations comprises.
  • Mode poche — l'annotation mobile de plein droit, avec pile de cartes à balayer, synchronisation hors ligne et installation PWA.

Évaluer les agents d'IA

La suite d'évaluation d'agents couvre désormais la structure des équipes et les agents multimodaux : un graphe d'interaction entre agents cliquable, l'attribution des défaillances entre agents, la revue des passages de relais, des fiches de score par agent et par équipe, des chronologies de contention sur les outils et l'étiquetage des comportements émergents, ainsi que les trajectoires d'usage d'interface graphique, les chronologies vocales en duplex intégral, l'ancrage temporel dans la vidéo et la structure des tableaux de documents.

Partout ailleurs

Annotation d'événements inter-documents, annotation au niveau du tour de parole, un livre de codes tenu comme un document vivant avec éditeur pleine page, liaison entre pages d'un PDF avec OCR facultatif, rôles RBAC avec schémas par cohorte, tableaux de bord administrateur et annotateur en 10 langues, et une installation bien plus légère : les SDK d'IA se chargent désormais à la demande, ce qui fait passer le temps de démarrage d'environ 2,0 s à 0,7 s.


Potato 2.6.0

Publié en juin 2026

Potato 2.6 entre dans l'analyse de données qualitatives et étoffe la panoplie d'évaluation d'agents. Elle ajoute le mode QDA, un flux de calibration et d'alignement du LLM juge avec une file de triage fondée sur un signal, et des schémas d'édition de trajectoires qui produisent des données d'entraînement SFT et DPO. Potato passe également sous licence GPL-3.0-or-later (auparavant PolyForm Shield).

Mode QDA

Le mode qda_mode, optionnel, transforme Potato en atelier collaboratif de codage qualitatif. Son activation compose un livre de codes vivant, le codage in vivo, les mémos d'analyse, les cas et la recherche plein texte, avec des réglages par défaut pensés pour un analyste qui code un corpus entier.

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

En savoir plus sur le mode QDA →

Calibration et alignement du LLM juge

Étiquetez automatiquement vos données avec un ou plusieurs LLM juges, puis lancez une passe de calibration humaine à l'aveugle pour mesurer l'exactitude, l'accord et l'erreur de calibration. Un flux distinct d'alignement à juge unique suit le kappa de Cohen face à vos étalons humains à mesure que vous affinez la grille, avec un verdict en ligne facultatif pendant l'annotation.

En savoir plus sur la calibration du juge → · Alignement du juge →

File de triage fondée sur un signal

Priorisez la file d'annotation selon un signal de qualité propre à chaque élément — une erreur d'agent, un pouce vers le bas en production, un score bas, ou n'importe quel champ personnalisé — pour que les relecteurs voient d'abord les éléments les plus suspects plutôt que dans l'ordre d'arrivée.

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

En savoir plus sur la file de triage →

Édition de trajectoires pour le SFT/DPO

Les nouveaux schémas trajectory_edit et trajectory_correction permettent aux annotateurs de réécrire les étapes d'une trace d'agent. L'exportateur transforme chaque paire original/corrigé en cibles d'affinage supervisé (trajectory_sft.jsonl) et en paires de préférence DPO (trajectory_dpo.jsonl).

En savoir plus sur l'édition de trajectoires →

Affichage eval_trace

Un affichage de trace d'agent à trois volets — Raisonnement, Appels de fonctions et Réponse finale — conçu pour l'évaluation continue, où les traces arrivent par un webhook, un collecteur Langfuse ou un répertoire surveillé, et sont jugées au fil de leur arrivée.

En savoir plus sur eval_trace →

Flux de travail et attribution

  • Couverture hétérogène — plafonds d'annotateurs par élément, rapport d'accord inter-annotateurs et routage vers l'arbitrage pour les tâches dont les éléments demandent un nombre d'annotateurs différent.
  • Récupération des attributions abandonnées — récupérez les attributions laissées par des travailleurs Prolific ou bloqués par le contrôle qualité, avec une durée de rétention configurable et une récupération idempotente.
  • Stratégie d'attribution par lots personnalisés — attribuez des lots d'éléments prédéfinis à des annotateurs précis.
  • Préfixes d'URL pour proxy inverse — servez Potato sous un sous-chemin derrière un proxy inverse.

Licence

Potato est désormais publié sous GPL-3.0-or-later, en remplacement de PolyForm Shield. Vous pouvez l'utiliser, le modifier et le redistribuer, y compris à des fins commerciales, tant que les œuvres dérivées restent sous GPL. Voir la page À propos pour les détails.

Performances et stabilité

  • Démarrage environ 3× plus rapide. La pile ML n'est plus chargée d'emblée au démarrage : le temps d'import est passé d'environ 6,5 s à 2 s, le démarrage sur 50 000 éléments d'environ 10 s à 5,7 s, et la mémoire résidente d'environ 750 Mo à 365 Mo.
  • Renommage de schéma. annotation_type: highlight devient span, avec une migration en place. Mettez à jour les anciennes configurations en renommant le type ; les configurations span existantes ne sont pas touchées.
  • Une large vague de durcissement QA a touché l'enregistrement des routes, les phases de formation, Prolific, la persistance, l'export et le traitement des enquêtes, les webhooks, le mode solo et l'apprentissage actif.

Potato 2.5.0

Publié en 2026

Une vague consacrée au codage qualitatif, qui rend Potato crédible pour les flux de recherche qualitative à côté de sa surface d'annotation NLP et ML.

  • Accord inter-annotateurs — kappa de Cohen (par paires) et kappa de Fleiss (N évaluateurs) en plus de l'alpha de Krippendorff, exposés par l'API d'accord d'administration. Voir le guide sur l'accord inter-annotateurs.
  • Nouveaux exportateurscodebook (un CSV par schéma avec hiérarchie des codes, couleur, description et nombre d'usages) et quotation_report (un CSV par segment avec le texte, les décalages, le document source et le codeur).
  • Analyse des codes — points de terminaison d'administration pour la cooccurrence de codes deux à deux et un tableau croisé codes × attribut sur les métadonnées d'instance existantes.

Potato 2.4.5

Publié en 2026

Une version de stabilisation et d'outillage.

  • Raffinement validé — un cadre modulaire pour améliorer par itérations les consignes d'annotation du mode solo, avec des garde-fous contre les contradictions entre consignes et les fuites de métadonnées.
  • Validateur de configuration — une nouvelle commande python -m potato.validate_cli qui vérifie les clés de configuration face au schéma des configurations connues.
  • Sécurité — correction d'un contournement par préfixe frère lors de la validation des chemins, permettant une traversée de répertoires (GHSA-q9m2-fhv9-3jcf).
  • Corrections sur la synchronisation d'état enregistrement/navigation, l'intégration Prolific, la navigation multi-phases et les retours du contrôle qualité.

Potato 2.3.0

Publié le 9 mars 2026

Potato 2.3 est la plus grande version de l'histoire de Potato : elle introduit l'annotation agentique, le mode solo, l'échelle du meilleur et du pire, l'authentification SSO/OAuth, l'export Parquet, 15 nouveaux projets de démonstration et un durcissement de la sécurité.

Annotation agentique

Un système complet pour évaluer les agents d'IA par annotation humaine. Il comprend 12 convertisseurs de format de trace, 3 types d'affichage spécialisés et 9 schémas d'annotation prêts à l'emploi.

12 convertisseurs de format de trace — importez des traces d'agents depuis OpenAI, Anthropic, SWE-bench, OpenTelemetry, MCP, CrewAI/AutoGen/LangGraph, LangChain, LangFuse, ReAct, WebArena/VisualWebArena, ATIF et des enregistrements de navigateur bruts. Détection automatique disponible.

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

3 types d'affichage :

  • Affichage de trace d'agent — cartes d'étapes à code couleur, observations repliables, mise en forme du JSON et chronologie latérale, pour les agents qui utilisent des outils
  • Affichage de trace d'agent web — captures d'écran complètes avec calques SVG montrant les cibles de clic, les saisies de texte et les défilements ; navigation en pellicule pour les agents de navigation
  • Affichage de conversation interactive — mode conversation en direct (l'annotateur interagit avec l'agent via un proxy) et mode relecture de trace, pour les agents conversationnels

Notations par tour — notez chaque étape en plus de la trace globale, pour une évaluation à grain fin.

9 schémas prêts à l'emploiagent_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.

Système de proxy d'agent — proxys OpenAI, HTTP et echo pour l'évaluation d'agents en direct.

En savoir plus sur l'annotation agentique →


Mode solo

Un flux intelligent en 12 phases où un annotateur humain unique collabore avec un LLM pour étiqueter des jeux de données entiers, atteignant plus de 95 % d'accord avec les chaînes multi-annotateurs tout en ne demandant que 10 à 15 % des étiquettes humaines totales.

Les 12 phases :

  1. Annotation d'amorçage — l'humain étiquette 50 instances variées
  2. Calibration initiale du LLM — le LLM étiquette à partir des exemples d'amorçage
  3. Analyse des confusions — repérer les schémas de désaccord systématiques
  4. Affinage des consignes — le LLM propose, l'humain valide les consignes mises à jour
  5. Génération de fonctions d'étiquetage — règles programmatiques inspirées d'ALCHEmist
  6. Étiquetage actif — l'humain étiquette les instances les plus informatives
  7. Boucle de raffinement automatisée — réétiquetage itératif avec des consignes améliorées
  8. Exploration des désaccords — l'humain tranche les conflits entre LLM et fonctions d'étiquetage
  9. Synthèse de cas limites — le LLM génère des exemples ambigus à étiqueter par l'humain
  10. Escalade en cascade par confiance — l'humain relit les étiquettes les moins sûres
  11. Optimisation des invites — recherche automatisée d'invites inspirée de DSPy
  12. Validation finale — relecture d'un échantillon aléatoire
yaml
solo_mode:
  enabled: true
  llm:
    endpoint_type: openai
    model: "gpt-4o"
    api_key: ${OPENAI_API_KEY}
  seed_count: 50
  accuracy_threshold: 0.92

Priorisation des instances à signaux multiples — 6 réservoirs pondérés (incertitude, désaccord, frontière, nouveauté, motif d'erreur, aléatoire) pour sélectionner les instances les plus utiles.

En savoir plus sur le mode solo →


Échelle du meilleur et du pire

Une annotation comparative efficace : les annotateurs choisissent le meilleur et le pire élément d'un n-uplet. Génération automatique des n-uplets par plans en blocs incomplets équilibrés et trois méthodes de scoring (comptage, Bradley-Terry, Plackett-Luce).

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

En savoir plus sur l'échelle du meilleur et du pire →


Authentification SSO et OAuth

Une authentification prête pour la production avec Google OAuth (restriction par domaine), GitHub OAuth (restriction par organisation) et OIDC générique (Okta, Azure AD, Auth0, Keycloak). Prend en charge l'inscription automatique, le mode mixte et la gestion des sessions.

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

En savoir plus sur le SSO et OAuth →


Export Parquet

Exportez les annotations au format Apache Parquet, sous la forme de trois fichiers structurés : annotations.parquet, spans.parquet et items.parquet. Prend en charge les compressions snappy, gzip, zstd, lz4 et brotli, l'export incrémental et le partitionnement par date ou par annotateur. Compatible avec pandas, DuckDB, PyArrow, Polars et Hugging Face Datasets.

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

En savoir plus sur l'export Parquet →


15 nouveaux projets de démonstration

De nouvelles démos dans project-hub/ couvrent l'annotation agentique (5 démos), le mode solo (3 démos), l'échelle du meilleur et du pire (3 démos), l'authentification (2 démos) et les flux d'export (2 démos). Lancez n'importe quelle démo avec potato start config.yaml.


Durcissement de la sécurité

  • Jetons de session cryptographiquement sûrs, avec expiration configurable
  • Protection CSRF activée par défaut
  • Limitation de débit sur les points de terminaison d'authentification
  • Assainissement des entrées pour les contenus fournis par les utilisateurs
  • Audit des dépendances, tous les paquets mis à jour
  • En-têtes de Content Security Policy

Autres améliorations

  • Convertisseurs de trace personnalisés pour les cadres d'agents non pris en charge
  • Mode solo hybride avec échantillonnage de vérification multi-annotateurs
  • Onglet BWS du tableau de bord d'administration, avec courbes de convergence des scores
  • Export Parquet incrémental avec partitionnement par date

Comparaison v2.2 / v2.3

Fonctionnalitév2.2v2.3
Annotation agentiqueNon disponible12 convertisseurs, 3 affichages, 9 schémas
Mode soloNon disponibleFlux humain-LLM en 12 phases
Échelle du meilleur et du pireNon disponibleBWS avec 3 méthodes de scoring
AuthentificationNom d'utilisateur seul+ Google OAuth, GitHub OAuth, OIDC
Export ParquetNon disponibleParquet en 3 fichiers, 6 options de compression
Projets de démonstration125+140+ (15 nouveaux)
SécuritéBasiqueCSRF, limitation de débit, CSP, sessions sûres

Potato 2.2.0

Publié le 20 février 2026

Potato 2.2 est une version majeure avec 9 nouveaux schémas d'annotation, un système d'exportation modulaire, l'estimation de compétence MACE, 55 instruments d'enquête validés et des sources de données distantes.

Nouveaux schémas d'annotation (9)

Annotation d'événements — Structures d'événements N-aires avec segments déclencheurs et rôles d'arguments typés. Annotez des événements comme ATTACK, HIRE et TRAVEL avec des arguments d'entités contraints et une visualisation en arc en étoile.

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

En savoir plus sur l'annotation d'événements →

Liaison d'entités — Liez les annotations de segments à des bases de connaissances externes (Wikidata, UMLS, API REST personnalisées). Ajoutez un bloc entity_linking: à tout schéma de segments pour activer la recherche et la liaison KB.

En savoir plus sur la liaison d'entités →

Triage — Interface d'acceptation/rejet/passage de type Prodigy pour le filtrage rapide des données. Étiquettes personnalisables, raccourcis clavier et avancement automatique pour une annotation à haut débit.

En savoir plus sur le triage →

Comparaison par paires — Comparez deux éléments en mode binaire (cliquez sur la tuile préférée) ou en mode échelle (curseur). Prend en charge items_key, allow_tie, bloc scale: avec plage configurable.

En savoir plus sur la comparaison par paires →

Arbres de conversation — Annotez des structures de conversation hiérarchiques avec des évaluations par nœud, la sélection de chemins et la comparaison de branches.

En savoir plus sur les arbres de conversation →

Chaînes de coréférence — Regroupez les mentions coréférentes dans des chaînes avec des indicateurs visuels. Prend en charge les types d'entités, le contrôle des singletons et plusieurs modes de surlignage.

En savoir plus sur les chaînes de coréférence →

Masques de segmentation — Nouveaux outils fill, eraser et brush pour la segmentation d'images au niveau pixel.

Boîtes englobantes pour PDF/Documents — Dessinez des boîtes sur les pages PDF pour les tâches d'annotation de documents.

Segments discontinusallow_discontinuous: true permet de sélectionner des segments de texte non contigus comme un seul segment.


Annotation intelligente

Estimation de compétence MACE — Algorithme EM bayésien variationnel qui estime conjointement les vraies étiquettes et les scores de compétence des annotateurs (0.0-1.0). Fonctionne avec les schémas radio, likert, select et multiselect.

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

En savoir plus sur MACE →

Mise en évidence des options — Mise en évidence basée sur les LLM des options les plus probables pour les tâches d'annotation discrètes. Met en évidence les top-k options avec un indicateur étoile tout en atténuant les options moins probables.

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

En savoir plus sur la mise en évidence des options →

Ordonnancement par diversité — Clustering basé sur les embeddings et échantillonnage en tourniquet pour garantir que les annotateurs voient du contenu diversifié plutôt que des éléments similaires en séquence.

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

En savoir plus sur l'ordonnancement par diversité →


Système d'exportation

Un nouveau CLI d'exportation modulaire (python -m potato.export) convertit les annotations en 6 formats standards de l'industrie : COCO, YOLO, Pascal VOC, CoNLL-2003, CoNLL-U et masques de segmentation.

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

En savoir plus sur les formats d'exportation →


Sources de données distantes

Chargez des données d'annotation depuis des URL, S3, Google Drive, Dropbox, Hugging Face, Google Sheets et des bases de données SQL via le nouveau bloc de configuration data_sources:. Inclut le chargement partiel, la mise en cache et la gestion des identifiants.

En savoir plus sur les sources de données distantes →


Instruments d'enquête

55 questionnaires validés répartis en 8 catégories (Personnalité, Santé mentale, Affect, Concept de soi, Attitudes sociales, Style de réponse, Format court, Démographie). Utilisez-les dans les phases pré-étude/post-étude avec instrument: "tipi".

En savoir plus sur les instruments d'enquête →


Autres améliorations

  • Suivi d'objets vidéo avec interpolation de trames clés
  • Support de fichiers de configuration IA externes
  • Améliorations de la grille de mise en page des formulaires
  • Gestionnaires de formats pour PDF, Word, code et tableurs

Potato 2.1.0

Publié le 5 février 2026

Potato 2.1 introduit le système d'affichage des instances, le support IA visuel, la liaison de segments, l'annotation de segments multi-champs et la personnalisation de la mise en page.

Système d'affichage des instances

Un nouveau bloc de configuration instance_display qui sépare l'affichage du contenu de l'annotation. Affichez toute combinaison d'images, vidéos, audio, texte et dialogues aux côtés de tout schéma d'annotation.

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

Prend en charge 11 types d'affichage incluant text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document et pdf.

En savoir plus sur l'affichage des instances →


Annotation de segments multi-champs

Les schémas d'annotation de segments prennent désormais en charge une option target_field pour annoter sur plusieurs champs de texte dans la même instance.

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

En savoir plus sur l'annotation de segments →


Liaison de segments

Un nouveau type d'annotation span_link pour créer des relations typées entre des segments annotés. Prend en charge les liens dirigés et non dirigés, les relations N-aires, l'affichage visuel en arc et les contraintes d'étiquettes.

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

En savoir plus sur la liaison de segments →


Support IA visuel

Quatre nouveaux points d'accès vision pour l'assistance IA à l'annotation d'images et de vidéos :

  • YOLO — Détection d'objets locale rapide
  • Ollama Vision — Modèles vision-langage locaux (LLaVA, Qwen-VL)
  • OpenAI Vision — Vision cloud GPT-4o
  • Anthropic Vision — Claude avec vision

Les fonctionnalités incluent la détection d'objets, la pré-annotation, la classification, les indices, la détection de scènes, la détection de trames clés et le suivi d'objets.

En savoir plus sur le support IA visuel →


Personnalisation de la mise en page

Créez des mises en page visuelles personnalisées sophistiquées en utilisant des templates HTML et du CSS. Potato génère un fichier de mise en page modifiable, ou vous pouvez fournir un template entièrement personnalisé avec des grilles, des options colorées et des styles de sections.

yaml
task_layout: layouts/custom_task_layout.html

Trois exemples de mise en page inclus : modération de contenu, QA de dialogue et revue médicale.

En savoir plus sur la personnalisation de la mise en page →


Justifications des étiquettes

Une quatrième capacité IA qui génère des explications équilibrées sur pourquoi chaque étiquette pourrait s'appliquer, aidant les annotateurs à comprendre les différentes perspectives de classification.

yaml
ai_support:
  features:
    rationales:
      enabled: true

En savoir plus sur le support IA →


Autres améliorations

  • Plus de 50 nouveaux tests pour une fiabilité améliorée
  • Améliorations du design responsive
  • Organisation améliorée du project-hub avec des exemples de mise en page
  • Corrections de bugs sur les types d'annotation

Comparaison v2.0 vs v2.1

Fonctionnalitév2.0v2.1
Affichage des instancesVia des hacks d'annotationBloc instance_display dédié
Cibles de segmentsChamp de texte uniqueMulti-champs avec target_field
Liaison de segmentsNon disponibleType span_link complet
IA visuelleNon disponibleYOLO, Ollama Vision, OpenAI Vision, Anthropic Vision
Personnalisation de la mise en pageAuto-générée basiqueAuto-générée + templates personnalisés
Capacités IA3 (indices, mots-clés, suggestions)4 (+ justifications)

Potato 2.0

Potato 2.0 est une version majeure qui introduit de nouvelles fonctionnalités puissantes pour une annotation intelligente et évolutive. Cette section met en lumière les principaux ajouts et améliorations.

Support IA

Intégrez des grands modèles de langage pour assister les annotateurs avec des indices intelligents, le surlignage de mots-clés et des suggestions d'étiquettes.

Fournisseurs supportés :

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude 3, Claude 3.5)
  • Google (Gemini)
  • Ollama (modèles locaux)
  • vLLM (auto-hébergé)
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

En savoir plus sur le support IA →


Annotation audio

Annotation audio complète avec visualisation de forme d'onde alimentée par Peaks.js. Créez des segments, étiquetez des régions temporelles et annotez la parole avec des raccourcis clavier.

Fonctionnalités clés :

  • Visualisation de forme d'onde
  • Création et étiquetage de segments
  • Questions d'annotation par segment
  • Plus de 15 raccourcis clavier
  • Mise en cache côté serveur des formes d'onde
yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: speakers
    mode: label
    labels:
      - Speaker A
      - Speaker B

En savoir plus sur l'annotation audio →


Apprentissage actif

Priorisez automatiquement les instances d'annotation en fonction de l'incertitude du modèle. Entraînez des classifieurs sur les annotations existantes et concentrez les annotateurs sur les exemples les plus informatifs.

Capacités :

  • Plusieurs options de classifieurs (LogisticRegression, RandomForest, SVC, MultinomialNB)
  • Divers vectoriseurs (TF-IDF, Count, Hashing)
  • Persistance du modèle entre les redémarrages
  • Sélection améliorée par LLM
  • Support multi-schémas
yaml
active_learning:
  enabled: true
  schema_names:
    - sentiment
  min_instances_for_training: 30
  update_frequency: 50
  classifier:
    type: LogisticRegression

En savoir plus sur l'apprentissage actif →


Phase d'entraînement

Qualifiez les annotateurs avec des questions d'entraînement avant la tâche principale. Fournissez un retour immédiat et assurez la qualité grâce à des critères de réussite configurables.

Fonctionnalités :

  • Questions d'entraînement avec réponses connues
  • Retour immédiat et explications
  • Critères de réussite configurables
  • Options de nouvelle tentative
  • Suivi de la progression dans le tableau de bord administrateur
yaml
phases:
  training:
    enabled: true
    data_file: "data/training.json"
    passing_criteria:
      min_correct: 8
      total_questions: 10

En savoir plus sur la phase d'entraînement →


Tableau de bord administrateur amélioré

Interface complète de suivi et de gestion des tâches d'annotation.

Onglets du tableau de bord :

  • Vue d'ensemble : Métriques de haut niveau et taux de complétion
  • Annotateurs : Suivi des performances, analyse des temps
  • Instances : Parcourir les données avec scores de désaccord
  • Configuration : Ajustement des paramètres en temps réel
yaml
admin_api_key: ${ADMIN_API_KEY}

En savoir plus sur le tableau de bord administrateur →


Backend de base de données

Support MySQL pour les déploiements à grande échelle avec pool de connexions et support transactionnel.

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

Potato crée automatiquement les tables nécessaires au premier démarrage.


Historique d'annotation

Suivi complet de toutes les modifications d'annotation avec horodatages, identifiants utilisateur et types d'actions. Permet l'audit et l'analyse comportementale.

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

Flux de travail multi-phases

Construisez des flux de travail d'annotation complexes avec plusieurs phases séquentielles :

  1. Consentement - Collecte du consentement éclairé
  2. Pré-étude - Démographie et filtrage
  3. Instructions - Consignes de la tâche
  4. Entraînement - Questions d'entraînement
  5. Annotation - Tâche principale
  6. Post-étude - Enquêtes de retour
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"

En savoir plus sur les flux de travail multi-phases →


Changements de configuration v2.0

Nouvelle structure de configuration

Potato 2.0 utilise un format de configuration plus propre :

v1 (ancien) :

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

v2 (nouveau) :

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

Exigence de sécurité

Les fichiers de configuration doivent désormais se trouver dans le task_dir :

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

Comparaison rapide

Fonctionnalitév1v2.0v2.1v2.2v2.3
Support IA/LLMNonOuiOui + IA visuelle + Justifications+ Mise en évidence des options+ Mode solo
Annotation agentiqueNonNonNonNon12 convertisseurs, 3 affichages
Échelle du meilleur et du pireNonNonNonNonOui (3 méthodes de score)
Annotation audioBasiqueForme d'onde complèteForme d'onde complèteForme d'onde complèteForme d'onde complète
Apprentissage actifNonOuiOuiOui + Ordonnancement par diversité+ Intégration du mode solo
Affichage des instancesNonNonOuiOuiOui
Liaison de segmentsNonNonOuiOuiOui
Annotation d'événementsNonNonNonOuiOui
Liaison d'entitésNonNonNonOuiOui
Pairwise/Triage/Coréférence/ArbresNonNonNonOuiOui
Personnalisation de la mise en pageNonAuto-généréeAuto + Templates personnalisésAuto + Templates personnalisésAuto + Templates personnalisés
Phase d'entraînementNonOuiOuiOuiOui
Tableau de bord adminBasiqueAmélioréAmélioréAmélioré + MACE+ Onglet BWS, mode solo
Backend base de donnéesFichier uniquementFichier + MySQLFichier + MySQLFichier + MySQLFichier + MySQL
CLI d'exportationNonNonNonOui (COCO, YOLO, CoNLL, etc.)+ Parquet
AuthentificationNom d'utilisateurNom d'utilisateurNom d'utilisateurNom d'utilisateur+ Google/GitHub OAuth, OIDC
Instruments d'enquêteNonNonNon55 questionnaires validés55 questionnaires validés
Sources de données distantesNonNonNonS3, GDrive, HuggingFace, etc.S3, GDrive, HuggingFace, etc.

Guide de migration

Mise à jour de votre configuration (v1 vers v2)

  1. Configuration des données

    yaml
    # Old
    id_key: id
    text_key: text
     
    # New
    item_properties:
      id_key: id
      text_key: text
  2. Configuration de la sortie

    yaml
    # Old
    output_file: annotations.json
     
    # New
    output_annotation_dir: "output/"
    output_annotation_format: "json"
  3. Emplacement du fichier de configuration Assurez-vous que votre fichier de configuration se trouve dans le répertoire du projet.

Démarrage du serveur

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

Pour commencer

Prêt à essayer Potato ? Commencez avec le Guide de démarrage rapide ou explorez des fonctionnalités spécifiques :

Fonctionnalités v2.3 :

Fonctionnalités v2.2 :

Fonctionnalités v2.1 :

Fonctionnalités principales :