Potato 2.1: visualizzazione delle istanze, AI visiva e collegamento tra span
Potato 2.1.0 porta il sistema di visualizzazione delle istanze, il supporto dell'AI visiva per l'annotazione di immagini e video, il collegamento tra span, gli span su più campi e la personalizzazione del layout.
Nota: questo post descrive Potato 2.1 com'era al momento del rilascio. Alcune chiavi di configurazione e alcune funzionalità sono cambiate nelle versioni successive. Per la sintassi aggiornata vedi la documentazione attuale.
Potato 2.1.0 è disponibile. Aggiunge cinque cose: un vero sistema di visualizzazione delle istanze, l'assistenza dell'AI per l'annotazione di immagini e video, il collegamento tra span, gli span su più campi e i layout personalizzati.
Sistema di visualizzazione delle istanze
L'aggiunta più grossa della 2.1 è il blocco di configurazione instance_display. Prima, per mostrare un'immagine accanto a un gruppo di radio button servivano soluzioni di ripiego, tipo creare uno schema image_annotation con min_annotations: 0. Ora puoi dire separatamente cosa mostrare e cosa raccogliere.
instance_display:
layout:
direction: horizontal
gap: 24px
fields:
- key: image_url
type: image
label: "Image to Classify"
display_options:
max_width: 600
zoomable: true
- key: description
type: text
label: "Context"
annotation_schemes:
- annotation_type: radio
name: category
labels: [nature, urban, people, objects]Supporta 11 tipi di contenuto: text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document e pdf. Puoi mettere insieme più campi di visualizzazione con qualsiasi schema di annotazione, disporli in orizzontale o in verticale e attivare l'annotazione di span sui campi di testo con span_target: true.
Una funzionalità richiesta da tempo è la valutazione dei singoli turni di dialogo. Puoi inserire un widget Likert direttamente sui turni di una conversazione, così l'annotatore valuta un parlante specifico senza uscire dalla vista della conversazione.
Leggi la documentazione completa sulla visualizzazione delle istanze →
Annotazione di span su più campi
L'annotazione di span accetta ora l'opzione target_field, che permette di annotare più di un campo di testo nella stessa istanza. Serve per task come la valutazione dei riassunti, dove si marcano le entità sia nel documento di partenza sia nel riassunto.
annotation_schemes:
- annotation_type: span
name: source_entities
labels: [PERSON, ORGANIZATION, LOCATION]
- annotation_type: span
name: summary_entities
labels: [PERSON, ORGANIZATION, LOCATION]Nell'output le annotazioni sono indicizzate per nome del campo, quindi si vede subito da quale campo di testo viene ogni span.
Leggi la documentazione aggiornata sull'annotazione di span →
Collegamento tra span
Il nuovo tipo di annotazione span_link copre l'estrazione di relazioni: crei relazioni tipizzate tra span che hai già annotato. Rientrano qui la costruzione di knowledge graph, la risoluzione della coreferenza e l'analisi del discorso.
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"
- name: "COLLABORATES_WITH"
directed: false
allowed_source_labels: ["PERSON"]
allowed_target_labels: ["PERSON"]
color: "#06b6d4"I collegamenti possono essere orientati o non orientati, n-ari (cioè unire più di due span), e compaiono come archi disegnati sopra il testo. I vincoli sulle etichette servono a dire quali tipi di entità possono entrare in ciascun tipo di relazione.
Leggi la documentazione completa sul collegamento tra span →
Supporto dell'AI visiva
Potato 2.1 aggiunge quattro endpoint di visione, che per la prima volta portano l'assistenza dell'AI nell'annotazione di immagini e video. Finora le funzionalità di AI valevano solo per il testo.
Quattro endpoint di visione
YOLO è quello da usare per il rilevamento di oggetti rapido e preciso con inferenza locale. Supporta le varianti YOLOv8 e YOLO-World per il rilevamento a vocabolario aperto.
ai_support:
enabled: true
endpoint_type: "yolo"
ai_config:
model: "yolov8m.pt"
confidence_threshold: 0.5
iou_threshold: 0.45Ollama Vision esegue in locale, tramite Ollama, i modelli visione-linguaggio. Supporta LLaVA, Llama 3.2 Vision, Qwen2.5-VL, BakLLaVA e Moondream.
ai_support:
enabled: true
endpoint_type: "ollama_vision"
ai_config:
model: "llava:latest"
base_url: "http://localhost:11434"OpenAI Vision fa l'analisi visiva nel cloud con GPT-4o e livelli di dettaglio configurabili.
ai_support:
enabled: true
endpoint_type: "openai_vision"
ai_config:
api_key: "${OPENAI_API_KEY}"
model: "gpt-4o"
detail: "auto"Anthropic Vision usa le capacità visive di Claude per la comprensione e la classificazione delle immagini.
ai_support:
enabled: true
endpoint_type: "anthropic_vision"
ai_config:
api_key: "${ANTHROPIC_API_KEY}"
model: "claude-sonnet-4-20250514"Funzionalità di AI per le immagini
Sui task con immagini l'AI visiva offre quattro modalità di assistenza:
- Il rilevamento trova gli oggetti che corrispondono alle tue etichette e disegna i bounding box proposti come sovrapposizioni tratteggiate
- La pre-annotazione (Auto) rileva tutti gli oggetti nell'immagine e crea proposte che una persona poi rivede
- La classificazione etichetta una regione selezionata o l'intera immagine e restituisce un punteggio di confidenza
- I suggerimenti indirizzano l'annotatore senza rivelare la posizione esatta, cosa utile in fase di training
annotation_schemes:
- annotation_type: image_annotation
name: object_detection
tools: [bbox, polygon]
labels:
- name: "person"
color: "#FF6B6B"
- name: "car"
color: "#4ECDC4"
ai_support:
enabled: true
features:
detection: true
pre_annotate: true
classification: false
hint: trueFunzionalità di AI per i video
Sui task con video l'AI visiva aggiunge il rilevamento delle scene (individua i confini tra le scene e propone segmenti temporali), il rilevamento dei fotogrammi chiave (isola i momenti significativi) e il tracciamento degli oggetti (propone dove si trova un oggetto nei vari fotogrammi).
Accettare e rifiutare
Le proposte dell'AI compaiono come sovrapposizioni tratteggiate. L'annotatore può accettarne una (doppio clic), rifiutarne una (clic destro), accettarle tutte o cancellarle tutte. La persona resta nel processo, l'AI si limita al primo passaggio noioso.
Endpoint separati per testo e immagini
Puoi far puntare i task testuali e quelli visivi a endpoint di AI diversi, così ogni tipo di contenuto usa il modello adatto:
ai_support:
enabled: true
endpoint_type: "ollama" # Text annotations
visual_endpoint_type: "yolo" # Image/video annotations
ai_config:
model: "llama3.2"
visual_ai_config:
model: "yolov8m.pt"
confidence_threshold: 0.5Leggi la documentazione completa sul supporto dell'AI visiva →
Personalizzazione del layout
Potato 2.1 permette di costruire layout visivi personalizzati. Di default genera un file layouts/task_layout.html modificabile, e al suo posto puoi mettere un tuo template HTML con layout a griglia CSS, opzioni distinte per colore e sezioni con stile proprio.
task_layout: layouts/custom_task_layout.htmlIn project-hub/layout-examples/ ci sono tre layout di esempio. Quello per la moderazione dei contenuti ha un banner di avviso, una griglia a due colonne e la gravità distinta per colore. Quello per il QA sui dialoghi mostra i metadati del caso, valutazioni Likert circolari e giudizi raggruppati. Quello per la revisione medica usa uno stile da referto strutturato.
I layout personalizzati vanno d'accordo con il nuovo sistema instance_display: il contenuto da visualizzare viene renderizzato sopra i tuoi moduli di annotazione.
Leggi la documentazione completa sulla personalizzazione del layout →
Altri miglioramenti
Motivazioni delle etichette
Ai suggerimenti, all'evidenziazione delle parole chiave e alle proposte di etichetta si aggiunge una quarta capacità dell'AI. Le motivazioni scrivono una spiegazione equilibrata del perché ogni etichetta potrebbe applicarsi, il che aiuta l'annotatore a vedere il ragionamento dietro una classificazione invece di andare a intuito.
ai_support:
features:
rationales:
enabled: trueCorrezioni di bug e test
- Oltre 50 nuovi test per una maggiore affidabilità
- Correzioni al design responsive nei vari tipi di annotazione
- Un project-hub più ordinato, ora con gli esempi di layout
Passare alla v2.1
pip install --upgrade potato-annotationLe configurazioni v2.0 che hai già continuano a funzionare senza modifiche. Tutto ciò che è nuovo si attiva a richiesta, tramite blocchi di configurazione aggiuntivi come instance_display, gli schemi span_link e gli endpoint di AI visiva.
Come iniziare
- Novità, la panoramica completa delle funzionalità della v2.1
- Visualizzazione delle istanze, visualizzazione di contenuti multimodali
- Supporto dell'AI visiva, AI per l'annotazione di immagini e video
- Collegamento tra span, annotazione delle relazioni tra entità
- Personalizzazione del layout, template HTML personalizzati
Per il changelog completo e le eventuali chiavi di configurazione cambiate, vedi le note di rilascio della v2.1.0 nel repository.
Hai domande o commenti? Partecipa al nostro Discord o apri una issue su GitHub.