Skip to content

Novità

Novità di Potato v2.x: il motore psicometrico, le stanze multiplayer, Boundary Lab, Truth Serum, la modalità Think-Aloud, la modalità QDA, la calibrazione LLM-as-judge, la valutazione multi-agente e oltre 50 tipi di annotazione. Ora con licenza GPL-3.0-or-later.

Questa pagina illustra le nuove funzionalità e i miglioramenti introdotti nelle versioni Potato v2.x.


Potato 2.7.2

Rilasciato ad agosto 2026

Registrazione dei tasti per i campi di testo libero. Potato registra la cronometria di una risposta e mai i caratteri, e questo si rivela sufficiente per distinguere chi scrive da chi incolla.

  • Registrazione dei tasti — cattura cieca rispetto al contenuto di pause, raffiche, revisioni e incollaggi su ogni campo di testo libero, con circa quaranta caratteristiche di sintesi calcolate per risposta. Disattivata per impostazione predefinita.
  • Rilevamento del processo di scrittura — sei regole con nome e soglie esplicite, che riportano i valori delle caratteristiche dietro ogni segnalazione. Le soglie possono essere ricalibrate sul tuo progetto ed esiste un percorso supervisionato se disponi di etichette.
  • Linee guida etiche — testo di consenso di esempio, conservazione e cancellazione, il problema del tasso di base e perché una segnalazione è un invito a guardare più che un risultato.
  • Esportazioni opt-inexport_include_typing_dynamics scrive un file sidecar di sintesi e --format keystrokes scrive i flussi grezzi in Parquet. Nessuna delle due è attiva per impostazione predefinita, quindi i dati comportamentali non finiscono per errore in una pubblicazione di dataset.

La comunicazione agli annotatori è attiva per impostazione predefinita e disattivarla registra un avviso all'avvio.


Potato 2.7.1

Rilasciato a luglio 2026

Importazione di trascrizioni, partendo dal presupposto che la trascrizione esista già. Qualcuno ha eseguito Whisper, o ha scaricato i sottotitoli, o ha ricevuto un corpus, e il passo successivo non dovrebbe essere scrivere uno script di conversione.

  • 21 formati di trascrizione e sottotitoli, rispetto ai 6 precedenti. Whisper, WhisperX, whisper.cpp, AWS Transcribe, Deepgram, AssemblyAI, Rev.ai, SPoRC, SubRip, WebVTT, SubStation Alpha, TTML/DFXP, YouTube json3 e srv1/srv2/srv3, NIST CTM, Praat TextGrid ed ELAN EAF. Il rilevamento avviene in base al contenuto del file, non all'estensione.
  • File di trascrizione sidecar — un file di dati può puntare a media/int_001.srt su disco invece di incorporare la trascrizione. I percorsi vengono risolti sotto task_dir attraverso il consueto controllo di sicurezza dei percorsi, quindi le trascrizioni restano file su cui puoi fare diff e che puoi riesportare.
  • potato transcripts — un convertitore che trasforma una cartella di output ASR in un file di dati pronto per l'annotazione, accoppiando trascrizioni e file multimediali per nome base. --dry-run riporta ciò che ha rilevato prima di scrivere qualsiasi cosa e --emit-config stampa una configurazione corrispondente.
  • Un unico vocabolario di formati per quattro schemispeech_transcript, voice_interaction e tiered_annotation ora accettano tutto ciò che accetta la visualizzazione audio_dialogue. In precedenza lo faceva solo la visualizzazione.
  • Annotare le trascrizioni Whisper e Annotare i sottotitoli di YouTube ripercorrono entrambi i punti di partenza dall'inizio alla fine.

ASR e diarizzazione restano a monte. Potato legge il loro output; non trascrive.


Potato 2.7.0

Rilasciato a luglio 2026

Potato 2.7 nasce da un'idea sola: uno strumento di annotazione dovrebbe misurare come si formano i giudizi, non limitarsi a registrare quali sono stati. Vale per entrambi i tipi di giudice, le persone che annotano e i modelli AI sotto valutazione.

Misurare come etichettano le persone

Sette funzionalità opzionali, nessuna delle quali richiede un LLM.

  • Motore psicometrico — un livello di item response theory in tempo reale che assegna a ogni etichetta una distribuzione a posteriori e un intervallo di confidenza (p = 0.94 [0.88–0.97]) invece di un semplice voto di maggioranza. Stima l'abilità dell'annotatore e la difficoltà dell'elemento dai soli pattern di accordo, instrada gli elementi verso l'annotatore il cui giudizio porta più informazione e segnala i probabili difetti del codebook.
  • Stanze multiplayer — la riunione di calibrazione che il tuo gruppo già svolge in condivisione schermo, integrata nello strumento e strumentata: voto cieco, rivelazione da parte dell'host, discussione, nuovo voto, con un indicatore live dell'α di Krippendorff che mostra quanto è valsa la sessione.
  • Laboratorio dei confini di decisione (Boundary Lab) — sonde controfattuali dopo ogni etichetta («varrebbe ancora?»), che trasformano l'annotazione ordinaria in contrast set e individuano gli annotatori incoerenti senza piazzare elementi gold.
  • Truth Serum — punteggio peer-prediction di tipo «sorprendentemente popolare», che batte il voto di maggioranza dove l'annotazione è difficile, senza etichette gold.
  • Modalità Think-Aloud — gli annotatori parlano mentre lavorano; il riconoscimento vocale gira interamente in locale e la trascrizione letterale diventa la motivazione.
  • Modalità Paper — un comando trasforma un progetto in un report LaTeX compilabile sul dataset, statistiche di accordo e citazioni incluse.
  • Modalità Pocket — annotazione mobile di prima classe con una pila di schede scorrevoli, sincronizzazione offline e installazione come PWA.

Valutare gli agenti AI

La suite di valutazione degli agenti si è estesa alla struttura del gruppo e agli agenti multimodali: un grafo di interazione tra agenti cliccabile, attribuzione dei fallimenti tra agenti, revisione dei passaggi di consegna, scorecard per singolo agente e per gruppo, cronologie della contesa sugli strumenti e tagging dei comportamenti emergenti, oltre a traiettorie GUI/computer-use, cronologie vocali full-duplex, ancoraggio temporale nei video e struttura delle tabelle nei documenti.

In tutto il resto

Annotazione di eventi tra documenti, annotazione a livello di turno, un codebook come documento vivo con editor a pagina intera, collegamenti PDF tra pagine con OCR opzionale, ruoli RBAC con schemi per coorte, dashboard di amministrazione e di annotazione in 10 lingue e un'installazione molto più leggera: gli SDK AI ora si caricano in modo lazy, riducendo il tempo di avvio da circa 2,0s a 0,7s.


Potato 2.6.0

Rilasciato a giugno 2026

Potato 2.6 entra nell'analisi qualitativa dei dati e approfondisce il kit di valutazione degli agenti. Aggiunge la modalità QDA, un flusso di calibrazione e allineamento per LLM-as-judge con una coda di triage basata sui segnali, e schemi di modifica delle traiettorie che producono dati di addestramento SFT e DPO. Potato passa inoltre alla licenza GPL-3.0-or-later (da PolyForm Shield).

Modalità QDA

Un qda_mode opzionale trasforma Potato in uno spazio di lavoro collaborativo per la codifica qualitativa. Attivarlo compone un codebook vivo, la codifica in vivo, i memo dell'analista, i casi e la ricerca full-text, con impostazioni predefinite pensate per un singolo analista che codifica un intero corpus.

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

Scopri di più sulla modalità QDA →

Calibrazione e allineamento LLM-as-Judge

Etichetta automaticamente i dati con uno o più giudici LLM, poi esegui un passaggio di calibrazione umana in cieco per misurare accuratezza, accordo ed errore di calibrazione. Un flusso di allineamento separato, con un solo giudice, traccia il kappa di Cohen rispetto alle tue etichette gold umane mentre affini la rubrica, con un verdetto inline opzionale durante l'annotazione.

Scopri di più sulla calibrazione dei giudici → · Allineamento dei giudici →

Coda di triage basata sui segnali

Ordina la coda di annotazione secondo un segnale di qualità per elemento — un errore dell'agente, un pollice verso in produzione, un punteggio basso o qualsiasi campo personalizzato — così i revisori vedono per primi gli elementi più sospetti invece che in ordine di arrivo.

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

Scopri di più sulla coda di triage →

Modifica delle traiettorie per SFT/DPO

I nuovi schemi trajectory_edit e trajectory_correction permettono agli annotatori di riscrivere i passi di una traccia di agente. L'esportatore trasforma ogni coppia originale/corretta in target di fine-tuning supervisionato (trajectory_sft.jsonl) e in coppie di preferenza DPO (trajectory_dpo.jsonl).

Scopri di più sulla modifica delle traiettorie →

Visualizzazione eval_trace

Una visualizzazione della traccia dell'agente a tre riquadri — Ragionamento, Chiamate di funzione e Risposta finale — pensata per la valutazione continua, dove le tracce arrivano tramite webhook, un poller Langfuse o una directory monitorata e vengono giudicate man mano che arrivano.

Scopri di più su eval_trace →

Flusso di lavoro e assegnazione

  • Copertura eterogenea — limiti di annotatori per elemento, report sull'accordo inter-annotatore e instradamento all'aggiudicazione per compiti in cui gli elementi richiedono numeri diversi di annotatori.
  • Recupero delle assegnazioni abbandonate — recupera le assegnazioni lasciate da lavoratori Prolific o bloccati dal QC, con conservazione configurabile e recupero idempotente.
  • Strategia di assegnazione Custom Batch — assegna lotti predefiniti di elementi a specifici annotatori.
  • Prefissi URL per reverse proxy — servi Potato sotto un sotto-percorso dietro un reverse proxy.

Licenza

Potato è ora distribuito con licenza GPL-3.0-or-later, rilicenziato da PolyForm Shield. Puoi usarlo, modificarlo e ridistribuirlo, anche commercialmente, purché le opere derivate restino sotto GPL. Vedi la pagina About per i dettagli.

Prestazioni e stabilità

  • Avvio circa 3× più veloce. Lo stack ML non viene più caricato in anticipo all'avvio: il tempo di import è sceso da circa 6,5s a 2s, l'avvio con 50k elementi da circa 10s a 5,7s e la memoria residente da circa 750MB a 365MB.
  • Rinomina dello schema. annotation_type: highlight è ora span, con una migrazione predisposta. Aggiorna le vecchie configurazioni rinominando il tipo; le configurazioni span esistenti non sono interessate.
  • Un'ampia ondata di consolidamento QA ha toccato la registrazione delle route, le fasi di addestramento, Prolific, la persistenza, l'esportazione e la gestione dei sondaggi, i webhook, la modalità solo e l'active learning.

Potato 2.5.0

Rilasciato nel 2026

Un'ondata dedicata alla codifica qualitativa, che rende Potato credibile per i flussi di ricerca qualitativa accanto alla sua offerta di annotazione NLP e ML.

  • Accordo inter-annotatore — kappa di Cohen (a coppie) e kappa di Fleiss (N valutatori) oltre all'alfa di Krippendorff, esposti tramite l'API di accordo per amministratori. Vedi la guida all'accordo inter-annotatore.
  • Nuovi esportatoricodebook (CSV per schema con gerarchia dei codici, colore, descrizione e conteggio d'uso) e quotation_report (CSV per span con testo, offset, documento di origine e codificatore).
  • Analisi dei codici — endpoint di amministrazione per la co-occorrenza a coppie dei codici e una tabella incrociata codici-per-attributo sui metadati di istanza esistenti.

Potato 2.4.5

Rilasciato nel 2026

Una versione dedicata a stabilità e strumenti.

  • Raffinamento validato — un framework estendibile per migliorare iterativamente le linee guida di annotazione in modalità solo, con protezioni contro le contraddizioni nelle linee guida e la fuga di metadati.
  • Validatore di configurazione — una nuova CLI python -m potato.validate_cli che verifica le chiavi di configurazione rispetto allo schema di configurazione noto.
  • Sicurezza — correzione di un bypass per prefisso fratello nel path traversal durante la validazione dei percorsi (GHSA-q9m2-fhv9-3jcf).
  • Correzioni alla sincronizzazione dello stato di salvataggio/navigazione, all'integrazione Prolific, alla navigazione multi-fase e al feedback del controllo qualità.

Potato 2.3.0

Rilasciato il 9 marzo 2026

Potato 2.3 è la versione più importante nella storia di Potato: introduce l'annotazione agentiva, la modalità Solo, il Best-Worst Scaling, l'autenticazione SSO/OAuth, l'esportazione Parquet, 15 nuovi progetti demo e il rafforzamento della sicurezza.

Annotazione Agentiva

Un sistema completo per valutare agenti AI tramite annotazione umana. Include 12 convertitori di formato trace, 3 tipi di visualizzazione specializzati e 9 schemi di annotazione predefiniti.

12 Convertitori di Formato Trace — Importa trace di agenti da OpenAI, Anthropic, SWE-bench, OpenTelemetry, MCP, CrewAI/AutoGen/LangGraph, LangChain, LangFuse, ReAct, WebArena/VisualWebArena, ATIF e registrazioni raw del browser. Rilevamento automatico disponibile.

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

3 Tipi di Visualizzazione:

  • Agent Trace Display — Schede di step con codice colore, osservazioni espandibili, formattazione JSON e barra laterale temporale per agenti che usano strumenti
  • Web Agent Trace Display — Screenshot completi con overlay SVG che mostrano click, input di testo e azioni di scorrimento; navigazione a pellicola per agenti di navigazione web
  • Interactive Chat Display — Modalità chat dal vivo (l'annotatore interagisce con l'agente tramite proxy) e modalità revisione trace per agenti conversazionali

Valutazioni Per-Turno — Valuta i singoli step insieme alla trace complessiva per una valutazione granulare.

9 Schemi Predefinitiagent_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.

Sistema Proxy per Agenti — Proxy OpenAI, HTTP ed echo per la valutazione di agenti in tempo reale.

Scopri di più sull'Annotazione Agentiva →


Modalità Solo

Un flusso di lavoro intelligente in 12 fasi in cui un singolo annotatore umano collabora con un LLM per etichettare interi dataset, raggiungendo un accordo del 95%+ con pipeline multi-annotatore richiedendo solo il 10-15% delle etichette umane totali.

Le 12 Fasi:

  1. Annotazione iniziale — l'umano etichetta 50 istanze diverse
  2. Calibrazione iniziale LLM — l'LLM etichetta usando esempi iniziali
  3. Analisi della confusione — identifica pattern di disaccordo sistematici
  4. Raffinamento delle linee guida — l'LLM propone, l'umano approva le linee guida aggiornate
  5. Generazione di funzioni di etichettatura — regole programmatiche ispirate ad ALCHEmist
  6. Etichettatura attiva — l'umano etichetta le istanze più informative
  7. Ciclo di raffinamento automatizzato — ri-etichettatura iterativa con linee guida migliorate
  8. Esplorazione dei disaccordi — l'umano risolve i conflitti tra LLM e funzioni di etichettatura
  9. Sintesi dei casi limite — l'LLM genera esempi ambigui per l'etichettatura umana
  10. Escalation a cascata della confidenza — l'umano rivede le etichette con confidenza più bassa
  11. Ottimizzazione dei prompt — ricerca automatica dei prompt ispirata a DSPy
  12. Validazione finale — revisione su campione casuale
yaml
solo_mode:
  enabled: true
  llm:
    endpoint_type: openai
    model: "gpt-4o"
    api_key: ${OPENAI_API_KEY}
  seed_count: 50
  accuracy_threshold: 0.92

Prioritizzazione Multi-Segnale delle Istanze — 6 pool ponderati (uncertain, disagreement, boundary, novel, error_pattern, random) per selezionare le istanze più preziose.

Scopri di più sulla Modalità Solo →


Best-Worst Scaling

Annotazione comparativa efficiente in cui gli annotatori selezionano gli elementi migliori e peggiori da tuple. Generazione automatica di tuple con design a blocchi incompleti bilanciati e tre metodi di punteggio (Counting, Bradley-Terry, Plackett-Luce).

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

Scopri di più sul Best-Worst Scaling →


Autenticazione SSO & OAuth

Autenticazione pronta per la produzione con Google OAuth (restrizione di dominio), GitHub OAuth (restrizione di organizzazione) e OIDC generico (Okta, Azure AD, Auth0, Keycloak). Supporta registrazione automatica, modalità mista e gestione delle sessioni.

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

Scopri di più su SSO & OAuth →


Esportazione Parquet

Esporta le annotazioni in formato Apache Parquet, producendo tre file strutturati: annotations.parquet, spans.parquet e items.parquet. Supporta compressione snappy, gzip, zstd, lz4 e brotli, esportazione incrementale e partizionamento per data/annotatore. Compatibile con pandas, DuckDB, PyArrow, Polars e Hugging Face Datasets.

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

Scopri di più sull'Esportazione Parquet →


15 Nuovi Progetti Demo

Nuovi demo in project-hub/ che coprono l'annotazione agentiva (5 demo), la modalità Solo (3 demo), il Best-Worst Scaling (3 demo), l'autenticazione (2 demo) e i flussi di esportazione (2 demo). Avvia qualsiasi demo con potato start config.yaml.


Rafforzamento della Sicurezza

  • Token di sessione crittograficamente sicuri con scadenza configurabile
  • Protezione CSRF abilitata per impostazione predefinita
  • Limitazione della frequenza sugli endpoint di autenticazione
  • Sanitizzazione dell'input per i contenuti forniti dagli utenti
  • Audit delle dipendenze con tutti i pacchetti aggiornati
  • Header Content Security Policy

Altri Miglioramenti

  • Convertitori di trace personalizzati per framework di agenti non supportati
  • Modalità Solo ibrida con campionamento di verifica multi-annotatore
  • Scheda dashboard amministrativa BWS con grafici di convergenza dei punteggi
  • Esportazione Parquet incrementale con partizionamento per data

Confronto v2.2 vs v2.3

Funzionalitàv2.2v2.3
Annotazione AgentivaNon disponibile12 convertitori, 3 visualizzazioni, 9 schemi
Modalità SoloNon disponibileFlusso di lavoro umano-LLM in 12 fasi
Best-Worst ScalingNon disponibileBWS con 3 metodi di punteggio
AutenticazioneSolo username+ Google OAuth, GitHub OAuth, OIDC
Esportazione ParquetNon disponibileParquet in 3 file con 6 opzioni di compressione
Progetti Demo125+140+ (15 nuovi)
SicurezzaBaseCSRF, limitazione frequenza, CSP, sessioni sicure

Potato 2.2.0

Rilasciato il 20 febbraio 2026

Potato 2.2 è una versione con importanti nuove funzionalità: 9 nuovi schemi di annotazione, un sistema di esportazione modulare, stima della competenza MACE, 55 strumenti di indagine validati e sorgenti di dati remote.

Nuovi Schemi di Annotazione (9)

Annotazione di Eventi — Strutture di eventi N-arie con span trigger e ruoli argomento tipizzati. Annota eventi come ATTACK, HIRE e TRAVEL con argomenti entità vincolati e visualizzazione ad archi hub-spoke.

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

Scopri di più sull'Annotazione di Eventi →

Entity Linking — Collega le annotazioni di span a basi di conoscenza esterne (Wikidata, UMLS, API REST personalizzate). Aggiungi un blocco entity_linking: a qualsiasi schema di span per abilitare la ricerca e il collegamento alla KB.

Scopri di più sull'Entity Linking →

Triage — Interfaccia accept/reject/skip in stile Prodigy per la selezione rapida dei dati. Etichette personalizzabili, scorciatoie da tastiera e avanzamento automatico per annotazioni ad alta produttività.

Scopri di più sul Triage →

Confronto a Coppie — Confronta due elementi con modalità binaria (clic sul riquadro preferito) o su scala (slider). Supporta items_key, allow_tie, blocco scale: con intervallo configurabile.

Scopri di più sul Confronto a Coppie →

Alberi di Conversazione — Annota strutture di conversazione gerarchiche con valutazioni per nodo, selezione del percorso e confronto dei rami.

Scopri di più sugli Alberi di Conversazione →

Catene di Coreferenza — Raggruppa le menzioni di testo che si riferiscono alla stessa entità in catene con indicatori visivi. Supporta tipi di entità, controllo dei singleton e diverse modalità di evidenziazione.

Scopri di più sulle Catene di Coreferenza →

Maschere di Segmentazione — Nuovi strumenti fill, eraser e brush per la segmentazione di immagini a livello di pixel.

Bounding Box per PDF/Documenti — Disegna riquadri su pagine PDF per attività di annotazione di documenti.

Span Discontinuiallow_discontinuous: true abilita la selezione di segmenti di testo non contigui come un singolo span.


Annotazione Intelligente

Stima della Competenza MACE — Algoritmo EM Variazionale Bayes che stima congiuntamente le etichette vere e i punteggi di competenza degli annotatori (0.0-1.0). Funziona con schemi radio, likert, select e multiselect.

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

Scopri di più su MACE →

Evidenziazione delle Opzioni — Evidenziazione basata su LLM delle opzioni probabilmente corrette per attività di annotazione discreta. Evidenzia le prime k opzioni con un indicatore a stella attenuando le opzioni meno probabili.

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

Scopri di più sull'Evidenziazione delle Opzioni →

Ordinamento per Diversità — Clustering basato su embedding e campionamento round-robin per garantire che gli annotatori vedano contenuti diversi anziché elementi simili in sequenza.

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

Scopri di più sull'Ordinamento per Diversità →


Sistema di Esportazione

Un nuovo CLI di esportazione modulare (python -m potato.export) converte le annotazioni in 6 formati standard del settore: COCO, YOLO, Pascal VOC, CoNLL-2003, CoNLL-U e Maschere di Segmentazione.

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

Scopri di più sui Formati di Esportazione →


Sorgenti di Dati Remote

Carica dati di annotazione da URL, S3, Google Drive, Dropbox, Hugging Face, Google Sheets e database SQL tramite il nuovo blocco di configurazione data_sources:. Include caricamento parziale, caching e gestione delle credenziali.

Scopri di più sulle Sorgenti di Dati Remote →


Strumenti di Indagine

55 questionari validati in 8 categorie (Personalità, Salute Mentale, Affetto, Concetto di Sé, Atteggiamenti Sociali, Stile di Risposta, Forma Breve, Dati Demografici). Da utilizzare nelle fasi pre-studio/post-studio con instrument: "tipi".

Scopri di più sugli Strumenti di Indagine →


Altri Miglioramenti

  • Tracciamento di oggetti video con interpolazione dei keyframe
  • Supporto per file di configurazione AI esterni
  • Miglioramenti al layout a griglia dei moduli
  • Gestori di formato per PDF, Word, codice e fogli di calcolo

Potato 2.1.0

Rilasciato il 5 febbraio 2026

Potato 2.1 introduce il sistema di visualizzazione delle istanze, il supporto AI visivo, il collegamento di span, l'annotazione di span su più campi e la personalizzazione del layout.

Sistema di Visualizzazione delle Istanze

Un nuovo blocco di configurazione instance_display che separa la visualizzazione del contenuto dall'annotazione. Visualizza qualsiasi combinazione di immagini, video, audio, testo e dialoghi insieme a qualsiasi schema di annotazione.

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]

Supporta 11 tipi di visualizzazione tra cui text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document e pdf.

Scopri di più sulla Visualizzazione delle Istanze →


Annotazione di Span su Più Campi

Gli schemi di annotazione di span ora supportano un'opzione target_field per annotare su più campi di testo nella stessa istanza.

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

Scopri di più sull'Annotazione di Span →


Collegamento di Span

Un nuovo tipo di annotazione span_link per creare relazioni tipizzate tra span annotati. Supporta collegamenti diretti e non diretti, relazioni N-arie, visualizzazione ad archi e vincoli sulle etichette.

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"

Scopri di più sul Collegamento di Span →


Supporto AI Visivo

Quattro nuovi endpoint di visione per l'assistenza AI nell'annotazione di immagini e video:

  • YOLO — Rilevamento di oggetti locale rapido
  • Ollama Vision — Modelli visione-linguaggio locali (LLaVA, Qwen-VL)
  • OpenAI Vision — Visione cloud GPT-4o
  • Anthropic Vision — Claude con visione

Le funzionalità includono rilevamento di oggetti, pre-annotazione, classificazione, suggerimenti, rilevamento di scene, rilevamento di keyframe e tracciamento di oggetti.

Scopri di più sul Supporto AI Visivo →


Personalizzazione del Layout

Crea sofisticati layout visivi personalizzati usando template HTML e CSS. Potato genera un file di layout modificabile, oppure puoi fornire un template completamente personalizzato con layout a griglia, opzioni con codice colore e stili di sezione.

yaml
task_layout: layouts/custom_task_layout.html

Tre layout di esempio inclusi: moderazione dei contenuti, QA di dialogo e revisione medica.

Scopri di più sulla Personalizzazione del Layout →


Motivazioni delle Etichette

Una quarta funzionalità AI che genera spiegazioni bilanciate su perché ogni etichetta potrebbe applicarsi, aiutando gli annotatori a comprendere le diverse prospettive di classificazione.

yaml
ai_support:
  features:
    rationales:
      enabled: true

Scopri di più sul Supporto AI →


Altri Miglioramenti

  • Oltre 50 nuovi test per una maggiore affidabilità
  • Miglioramenti al design responsivo
  • Migliore organizzazione del project-hub con esempi di layout
  • Correzioni di bug in tutti i tipi di annotazione

Confronto v2.0 vs v2.1

Funzionalitàv2.0v2.1
Visualizzazione IstanzeTramite hack di annotazioneBlocco instance_display dedicato
Target SpanSingolo campo di testoMulti-campo con target_field
Collegamento SpanNon disponibileTipo span_link completo
AI VisivoNon disponibileYOLO, Ollama Vision, OpenAI Vision, Anthropic Vision
Personalizzazione LayoutGenerazione automatica baseGenerazione automatica + template personalizzati
Funzionalità AI3 (suggerimenti, parole chiave, proposte)4 (+ motivazioni)

Potato 2.0

Potato 2.0 è una versione principale che introduce potenti nuove funzionalità per un'annotazione intelligente e scalabile. Questa sezione evidenzia le principali aggiunte e miglioramenti.

Supporto AI

Integra Large Language Model per assistere gli annotatori con suggerimenti intelligenti, evidenziazione di parole chiave e proposte di etichette.

Provider supportati:

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude 3, Claude 3.5)
  • Google (Gemini)
  • Ollama (modelli locali)
  • vLLM (self-hosted)
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

Scopri di più sul Supporto AI →


Annotazione Audio

Annotazione audio completa con visualizzazione della forma d'onda basata su Peaks.js. Crea segmenti, etichetta regioni temporali e annota il parlato con scorciatoie da tastiera.

Funzionalità principali:

  • Visualizzazione della forma d'onda
  • Creazione ed etichettatura di segmenti
  • Domande di annotazione per segmento
  • Oltre 15 scorciatoie da tastiera
  • Caching della forma d'onda lato server
yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: speakers
    mode: label
    labels:
      - Speaker A
      - Speaker B

Scopri di più sull'Annotazione Audio →


Apprendimento Attivo

Assegna automaticamente priorità alle istanze di annotazione in base all'incertezza del modello. Addestra classificatori sulle annotazioni esistenti e concentra gli annotatori sugli esempi più informativi.

Capacità:

  • Opzioni multiple per i classificatori (LogisticRegression, RandomForest, SVC, MultinomialNB)
  • Vari vettorizzatori (TF-IDF, Count, Hashing)
  • Persistenza del modello tra i riavvii
  • Selezione potenziata da LLM
  • Supporto multi-schema
yaml
active_learning:
  enabled: true
  schema_names:
    - sentiment
  min_instances_for_training: 30
  update_frequency: 50
  classifier:
    type: LogisticRegression

Scopri di più sull'Apprendimento Attivo →


Fase di Addestramento

Qualifica gli annotatori con domande di pratica prima dell'attività principale. Fornisci feedback immediato e garantisci la qualità tramite criteri di superamento configurabili.

Funzionalità:

  • Domande di pratica con risposte note
  • Feedback immediato e spiegazioni
  • Criteri di superamento configurabili
  • Opzioni per i tentativi ripetuti
  • Monitoraggio dei progressi nella dashboard amministrativa
yaml
phases:
  training:
    enabled: true
    data_file: "data/training.json"
    passing_criteria:
      min_correct: 8
      total_questions: 10

Scopri di più sulla Fase di Addestramento →


Dashboard Amministrativa Potenziata

Interfaccia completa di monitoraggio e gestione per le attività di annotazione.

Schede della dashboard:

  • Panoramica: Metriche di alto livello e tassi di completamento
  • Annotatori: Monitoraggio delle prestazioni, analisi dei tempi
  • Istanze: Navigazione dei dati con punteggi di disaccordo
  • Configurazione: Regolazione delle impostazioni in tempo reale
yaml
admin_api_key: ${ADMIN_API_KEY}

Scopri di più sulla Dashboard Amministrativa →


Backend Database

Supporto MySQL per deployment su larga scala con connection pooling e supporto alle transazioni.

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

Potato crea automaticamente le tabelle necessarie al primo avvio.


Cronologia delle Annotazioni

Tracciamento completo di tutte le modifiche alle annotazioni con timestamp, ID utente e tipi di azione. Consente l'auditing e l'analisi comportamentale.

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

Flussi di Lavoro Multi-Fase

Costruisci flussi di lavoro di annotazione complessi con più fasi sequenziali:

  1. Consenso - Raccolta del consenso informato
  2. Pre-studio - Dati demografici e screening
  3. Istruzioni - Linee guida per il task
  4. Addestramento - Domande di pratica
  5. Annotazione - Attività principale
  6. Post-studio - Sondaggi di feedback
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"

Scopri di più sui Flussi di Lavoro Multi-Fase →


Modifiche alla Configurazione in v2.0

Nuova Struttura di Configurazione

Potato 2.0 utilizza un formato di configurazione più pulito:

v1 (vecchio):

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

v2 (nuovo):

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

Requisito di Sicurezza

I file di configurazione devono ora trovarsi all'interno di task_dir:

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

Confronto Rapido

Funzionalitàv1v2.0v2.1v2.2v2.3
Supporto AI/LLMNoSì + AI Visivo + Motivazioni+ Evidenziazione Opzioni+ Modalità Solo
Annotazione AgentivaNoNoNoNo12 convertitori, 3 visualizzazioni
Best-Worst ScalingNoNoNoNoSì (3 metodi di punteggio)
Annotazione AudioBaseForma d'onda completaForma d'onda completaForma d'onda completaForma d'onda completa
Apprendimento AttivoNoSì + Ordinamento Diversità+ Integrazione Modalità Solo
Visualizzazione IstanzeNoNo
Collegamento SpanNoNo
Annotazione di EventiNoNoNo
Entity LinkingNoNoNo
Confronto a Coppie/Triage/Coreferenza/AlberiNoNoNo
Personalizzazione LayoutNoGenerazione automaticaAutomatica + Template personalizzatiAutomatica + Template personalizzatiAutomatica + Template personalizzati
Fase di AddestramentoNo
Dashboard AmministrativaBasePotenziataPotenziataPotenziata + MACE+ Scheda BWS, Modalità Solo
Backend DatabaseSolo fileFile + MySQLFile + MySQLFile + MySQLFile + MySQL
CLI di EsportazioneNoNoNoSì (COCO, YOLO, CoNLL, ecc.)+ Parquet
AutenticazioneUsernameUsernameUsernameUsername+ Google/GitHub OAuth, OIDC
Strumenti di IndagineNoNoNo55 questionari validati55 questionari validati
Sorgenti Dati RemoteNoNoNoS3, GDrive, HuggingFace, ecc.S3, GDrive, HuggingFace, ecc.

Guida alla Migrazione

Aggiornamento della Configurazione (da v1 a v2)

  1. Configurazione dei dati

    yaml
    # Old
    id_key: id
    text_key: text
     
    # New
    item_properties:
      id_key: id
      text_key: text
  2. Configurazione dell'output

    yaml
    # Old
    output_file: annotations.json
     
    # New
    output_annotation_dir: "output/"
    output_annotation_format: "json"
  3. Posizione del file di configurazione Assicurati che il tuo file di configurazione si trovi all'interno della directory del progetto.

Avvio del Server

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

Per Iniziare

Vuoi provare Potato? Inizia con la Guida Rapida o esplora funzionalità specifiche:

Funzionalità v2.3:

Funzionalità v2.2:

Funzionalità v2.1:

Funzionalità Principali: