Potato 2.4.0: anotación de agentes web, evaluación en vivo e integración con HuggingFace
Potato 2.4.0 trae revisión de trazas de agentes web, evaluación de agentes en vivo en tiempo real, una barra lateral de chat con LLM, exportación al Hub de HuggingFace, webhooks, SSO/OAuth y cinco estrategias de aprendizaje activo.
Nota: los recuentos de funciones de esta entrada reflejan el estado en el momento de la versión v2.4.0. Potato admite hoy más de 50 tipos de anotación. Consulta la documentación de tipos de anotación para la lista completa.
Ya está disponible Potato 2.4.0. Es la actualización más grande desde que llegó la anotación agéntica en la 2.3, y añade las funciones de evaluación de agentes que más nos pedíais, más un lote de trabajo de integración y de uso en empresa.
Anotación de agentes web
Evaluar agentes de navegación web es difícil. Necesitas ver lo que vio el agente, dónde hizo clic, cómo se desplazó y si cada paso tenía sentido. Potato 2.4 añade un visor de trazas de agente web para esto.
El modo de revisión da a los anotadores una vista en tira de película sobre capturas de pantalla pregrabadas. Las superposiciones SVG marcan los objetivos de clic, los cuadros delimitadores, los recorridos del ratón y las posiciones de desplazamiento, así que quien evalúa ve lo que vio el agente, con los controles de anotación en línea.
El modo de creación le da la vuelta a la interfaz. Los anotadores navegan por un sitio web real dentro de un iframe y Potato registra cada interacción como una traza lista para anotar. Puedes importar trazas existentes en los formatos de WebArena, Mind2Web y Anthropic Computer Use, o grabar otras nuevas sobre la marcha.
display:
type: web_agent_trace
mode: review # or "creation"
show_overlays: true
keyboard_shortcuts: trueEvaluación de agentes en vivo
A veces necesitas evaluar a los agentes mientras se ejecutan, no a toro pasado. El nuevo sistema de evaluación de agentes en vivo permite a los anotadores ver a los agentes de IA resolver tareas en tiempo real y anotar su comportamiento en plena ejecución.
Potato ejecuta agentes en paralelo mediante el Agent Runner Manager, captura las trazas según llegan a través de un receptor de webhooks y muestra a los anotadores una interfaz de evaluación en tiempo real. El acuerdo entre anotadores a nivel de paso se calcula de forma automática.
Barra lateral de chat con LLM
Las decisiones de anotación difíciles agradecen una segunda opinión. La nueva barra lateral de chat con LLM da a los anotadores un panel de asistente de IA al que pueden consultar en mitad de la tarea sin salir de la interfaz.
La barra lateral gestiona conversaciones de varios turnos e inyecta el contexto completo de la tarea automáticamente. Funciona con endpoints de OpenAI, Anthropic y Ollama, y registra cada conversación como dato de comportamiento, lo que viene bien si quieres estudiar hasta qué punto los anotadores se apoyan en la asistencia de IA.
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: trueIntegración con el ecosistema de HuggingFace
Potato se conecta ahora con HuggingFace de varias formas. Puedes subir anotaciones directamente a datasets del Hub con DatasetCards generadas automáticamente, volver a cargarlas como objetos datasets.Dataset sin pasos intermedios, desplegar una instancia de Potato en HuggingFace Spaces e ingerir trazas automáticamente cuando ejecutas agentes de LangChain mediante el callback de 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 de webhooks
Potato 2.4 incluye un sistema de webhooks completo para integraciones orientadas a eventos. Cinco tipos de evento, firmados con HMAC-SHA256 según la especificación Standard Webhooks:
| Evento | Se dispara cuando |
|---|---|
annotation.created | Un anotador envía una etiqueta |
item.fully_annotated | Un elemento alcanza el solapamiento exigido |
task.completed | Se han anotado todos los elementos de una tarea |
user.phase_completed | Un usuario termina una fase (modo Solo) |
quality.attention_check_failed | Un anotador falla un control de atención |
Los webhooks se entregan sin bloquear, con reintentos configurables, y se gestionan desde la API de administración.
webhooks:
- url: https://your-system.example.com/potato-events
secret: your-signing-secret
events: [annotation.created, item.fully_annotated]Aprendizaje activo avanzado: 5 estrategias y arranque en frío con LLM
El sistema de aprendizaje activo trae ahora cinco estrategias de consulta:
- Muestreo por incertidumbre: selecciona los elementos sobre los que el modelo tiene menos confianza
- Selección por diversidad: maximiza la cobertura del espacio de entrada
- BADGE: Batch Active Learning by Diverse Gradient Embeddings
- BALD: Bayesian Active Learning by Disagreement
- Ensamblado híbrido: combina estrategias para una selección más robusta
También está el arranque en frío con LLM, que elige elementos antes de que exista ninguna etiqueta. Apuntas un modelo de lenguaje a tu bolsa de datos y dejas que saque a la superficie los elementos difíciles o representativos con los que sembrar la anotación. CoverICL también es nuevo, para elegir ejemplos diversos de aprendizaje en contexto.
Gestión de contraseñas y SSO/OAuth
Dos funciones de autenticación muy pedidas:
La gestión de contraseñas usa hashing PBKDF2-SHA256 con sal por usuario, admite restablecimientos desde la CLI de administración y desde la API, e incluye un flujo de restablecimiento autoservicio basado en tokens sobre SQLite o PostgreSQL.
SSO/OAuth resuelve el inicio de sesión único con Google, GitHub o cualquier proveedor OIDC genérico a través de Authlib.
pip install potato-annotation[auth]Recuentos actualizados
| Capacidad | 2.3 | 2.4 |
|---|---|---|
| Tipos de anotación | 20 | 21 |
| Tipos de visualización | 15 | 17+ |
| Endpoints de IA | 7 | 11 |
| Proyectos de ejemplo | 15 | 40+ |
| Estrategias de aprendizaje activo | 1 | 5 |
| Tipos de evento de webhook | 0 | 5 |
| Proyectos de ejemplo con agentes | 0 | 14 |
Instalación
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] # everythingPruébalo
La forma más rápida de ver la 2.4 en marcha es la demo en vivo en HuggingFace Spaces, sin instalar nada. Ejecuta una tarea de evaluación de trazas de agente con botones de opción, escalas likert, anotación de tramos y notas de texto libre:
O ejecuta un ejemplo en local:
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 8000Para el registro de cambios completo, consulta las notas de la versión v2.4.0, y el resto de la documentación en el repositorio de GitHub.