Potato 2.4.0: annotazione di agenti web, valutazione dal vivo e integrazione con HuggingFace
Potato 2.4.0 porta la revisione delle trace di agenti web, la valutazione dal vivo degli agenti in tempo reale, una barra laterale di chat LLM, l'esportazione su HuggingFace Hub, i webhook, SSO/OAuth e cinque strategie di active learning.
Nota: i conteggi delle funzionalità in questo post rispecchiano la situazione al rilascio della v2.4.0. Potato oggi supporta più di 50 tipi di annotazione. Vedi la documentazione sui tipi di annotazione per l'elenco completo.
Potato 2.4.0 è disponibile. È il nostro aggiornamento più corposo da quando l'annotazione agentiva è arrivata nella 2.3, e aggiunge le funzionalità di valutazione degli agenti che continuavano a chiederci, più un blocco di lavoro su integrazioni e uso in azienda.
Annotazione di agenti web
Valutare gli agenti di navigazione web è difficile. Devi vedere che cosa ha visto l'agente, dove ha cliccato, come ha scorso la pagina e se ogni passo aveva senso. Potato 2.4 aggiunge a questo scopo un visualizzatore di trace per agenti web.
La modalità di revisione dà agli annotatori una vista a pellicola sugli screenshot preregistrati. Gli overlay SVG segnano i target dei clic, i bounding box, i percorsi del mouse e le posizioni di scorrimento, così chi valuta vede quello che ha visto l'agente, con i controlli di annotazione in linea.
La modalità di creazione ribalta l'interfaccia. Gli annotatori navigano un sito reale dentro un iframe e Potato registra ogni interazione come una trace pronta per l'annotazione. Puoi importare trace esistenti nei formati WebArena, Mind2Web e Anthropic Computer Use, oppure registrarne di nuove strada facendo.
display:
type: web_agent_trace
mode: review # or "creation"
show_overlays: true
keyboard_shortcuts: trueValutazione di agenti dal vivo
A volte serve valutare gli agenti mentre girano, non a cose fatte. Il nuovo sistema di valutazione dal vivo permette agli annotatori di guardare gli agenti AI eseguire i compiti in tempo reale e di annotarne il comportamento durante l'esecuzione.
Potato esegue gli agenti in parallelo tramite l'Agent Runner Manager, cattura le trace man mano che arrivano attraverso un ricevitore di webhook e mostra agli annotatori un'interfaccia di valutazione in tempo reale. L'accordo tra annotatori a livello di passo viene tracciato automaticamente.
Barra laterale di chat LLM
Le decisioni di annotazione difficili traggono vantaggio da un secondo parere. La nuova barra laterale di chat LLM offre agli annotatori un pannello con un assistente AI da consultare a metà compito senza uscire dall'interfaccia.
La barra laterale gestisce conversazioni multi-turno e inserisce automaticamente il contesto completo del compito. Funziona con endpoint OpenAI, Anthropic e Ollama, e registra ogni conversazione come dato comportamentale, il che torna utile se vuoi studiare quanto gli annotatori si appoggino all'assistenza dell'AI.
llm_sidebar:
enabled: true
provider: anthropic
model: claude-3-5-sonnet-20241022
system_prompt: "You are a helpful annotation assistant for this {task_name} task."
collapsible: trueIntegrazione con l'ecosistema HuggingFace
Potato ora si collega a HuggingFace in vari modi. Puoi inviare le annotazioni direttamente ai dataset dell'Hub con DatasetCard generate automaticamente, ricaricarle come oggetti datasets.Dataset senza passaggi intermedi, distribuire un'istanza di Potato su HuggingFace Spaces e importare le trace in automatico quando esegui agenti LangChain tramite il callback di LangChain.
pip install potato-annotation[huggingface]from potato import PotatoDataset
ds = PotatoDataset.from_output("annotations/")
ds.push_to_hub("my-org/my-annotation-dataset")Sistema di webhook
Potato 2.4 include un sistema di webhook completo per le integrazioni guidate dagli eventi. Cinque tipi di evento, firmati con HMAC-SHA256 secondo la specifica Standard Webhooks:
| Evento | Si attiva quando |
|---|---|
annotation.created | Un annotatore invia un'etichetta |
item.fully_annotated | Un elemento raggiunge la sovrapposizione richiesta |
task.completed | Tutti gli elementi di un compito sono annotati |
user.phase_completed | Un utente completa una fase (modalità Solo) |
quality.attention_check_failed | Un annotatore non supera un controllo di attenzione |
I webhook vengono consegnati in modo non bloccante con retry configurabile e si gestiscono dall'API di amministrazione.
webhooks:
- url: https://your-system.example.com/potato-events
secret: your-signing-secret
events: [annotation.created, item.fully_annotated]Active learning avanzato: 5 strategie + cold-start con LLM
Il sistema di active learning ora offre cinque strategie di query:
- Campionamento per incertezza: seleziona gli elementi su cui il modello è meno sicuro
- Selezione per diversità: massimizza la copertura dello spazio di input
- BADGE: Batch Active Learning by Diverse Gradient Embeddings
- BALD: Bayesian Active Learning by Disagreement
- Ensemble ibrido: combina le strategie per una selezione robusta
C'è anche il cold-start con LLM, che sceglie gli elementi prima che esista una sola etichetta. Punti un modello linguistico sul tuo pool e lo lasci far emergere gli elementi difficili o rappresentativi da cui far partire l'annotazione. Anche CoverICL è una novità, per scegliere esempi diversificati di in-context learning.
Gestione delle password e SSO/OAuth
Due funzionalità di autenticazione che ci venivano chieste di continuo:
La gestione delle password usa hashing PBKDF2-SHA256 con sale per utente, supporta il reset da CLI di amministrazione e da API, e include un flusso di reset self-service basato su token, appoggiato a SQLite o PostgreSQL.
SSO/OAuth gestisce il single sign-on tramite Google, GitHub o un qualsiasi provider OIDC generico attraverso Authlib.
pip install potato-annotation[auth]Conteggi aggiornati
| Funzionalità | 2.3 | 2.4 |
|---|---|---|
| Tipi di annotazione | 20 | 21 |
| Tipi di display | 15 | 17+ |
| Endpoint AI | 7 | 11 |
| Progetti di esempio | 15 | 40+ |
| Strategie di active learning | 1 | 5 |
| Tipi di evento webhook | 0 | 5 |
| Progetti di esempio con agenti | 0 | 14 |
Installazione
pip install potato-annotation # core
pip install potato-annotation[ai] # OpenAI, Ollama
pip install potato-annotation[huggingface] # HF Hub + Spaces
pip install potato-annotation[langchain] # LangChain callback
pip install potato-annotation[auth] # SSO/OAuth
pip install potato-annotation[all] # everythingProvala
Il modo più rapido per vedere la 2.4 all'opera è la demo dal vivo su HuggingFace Spaces, senza installare nulla. Esegue un compito di valutazione di trace di agenti con pulsanti radio, scale likert, annotazione di span e note in testo libero:
Oppure esegui un esempio in locale:
git clone https://github.com/davidjurgens/potato.git
cd potato
pip install -e .
python potato/flask_server.py start examples/agent-traces/complex-annotation/config.yaml -p 8000Per il changelog completo, vedi le note di rilascio della v2.4.0 e il resto della documentazione nel repository GitHub.