Skip to content

Novedades

Novedades de Potato v2.x: el motor psicométrico, las salas multijugador, Boundary Lab, Truth Serum, el modo pensar en voz alta, el modo QDA, la calibración de LLM-as-judge, la evaluación multiagente y más de 50 tipos de anotación. Ahora con licencia GPL-3.0-or-later.

Esta página cubre las nuevas funcionalidades y mejoras en las versiones Potato v2.x.


Potato 2.7.2

Publicado en agosto de 2026

Registro de pulsaciones para campos de texto libre. Potato registra los tiempos que hay detrás de una respuesta y nunca los caracteres, y eso resulta suficiente para distinguir la escritura del pegado.

  • Registro de pulsaciones — captura ciega al contenido de pausas, ráfagas, revisiones y pegados en cada campo de texto libre, con unas cuarenta características de resumen calculadas por respuesta. Desactivado por defecto.
  • Detección del proceso de escritura — seis reglas con nombre y umbrales explícitos que informan de los valores de las características detrás de cada marca. Los umbrales se pueden reajustar a tu propio proyecto, y hay una vía supervisada si dispones de etiquetas.
  • Guía de ética — texto de consentimiento de ejemplo, retención y eliminación, el problema de la tasa base, y por qué una marca es una invitación a mirar y no un hallazgo.
  • Exportaciones opcionalesexport_include_typing_dynamics escribe un archivo de resumen adjunto, y --format keystrokes escribe los flujos en bruto en Parquet. Ninguna está activada por defecto, así que los datos de comportamiento nunca acaban en una publicación de datos por accidente.

La divulgación a los anotadores viene activada por defecto, y desactivarla registra una advertencia al arrancar.


Potato 2.7.1

Publicado en julio de 2026

Ingesta de transcripciones, partiendo de que la transcripción ya existe. Alguien ejecutó Whisper, o descargó los subtítulos, o recibió un corpus, y el paso siguiente no debería ser escribir un script de conversión.

  • 21 formatos de transcripción y subtítulos, frente a los 6 anteriores. Whisper, WhisperX, whisper.cpp, AWS Transcribe, Deepgram, AssemblyAI, Rev.ai, SPoRC, SubRip, WebVTT, SubStation Alpha, TTML/DFXP, json3 y srv1/srv2/srv3 de YouTube, NIST CTM, Praat TextGrid y ELAN EAF. La detección se hace por el contenido del archivo, no por la extensión.
  • Archivos de transcripción externos — un archivo de datos puede apuntar a media/int_001.srt en disco en lugar de incrustar la transcripción. Las rutas se resuelven bajo task_dir con la comprobación de seguridad de rutas habitual, así que tus transcripciones siguen siendo archivos que puedes comparar y volver a exportar.
  • potato transcripts — un conversor que convierte una carpeta de salida de ASR en un archivo de datos listo para anotar, emparejando transcripciones con archivos multimedia por el nombre base. --dry-run informa de lo que ha detectado antes de escribir nada, y --emit-config imprime una configuración acorde.
  • Un solo vocabulario de formatos en cuatro esquemasspeech_transcript, voice_interaction y tiered_annotation aceptan ahora todo lo que acepta la visualización audio_dialogue. Antes solo lo hacía la visualización.
  • Anotar transcripciones de Whisper y Anotar subtítulos de YouTube recorren ambos puntos de partida de principio a fin.

El ASR y la diarización siguen ejecutándose antes. Potato lee su salida; no transcribe.


Potato 2.7.0

Publicado en julio de 2026

Potato 2.7 se apoya en una sola idea: una herramienta de anotación debería medir cómo se toman los juicios, no solo registrar cuáles fueron. Eso vale para los dos tipos de juez: las personas que anotan y los modelos de IA que se evalúan.

Medir cómo etiquetan las personas

Siete funcionalidades opcionales, ninguna de las cuales requiere un LLM.

  • Motor psicométrico — una capa de teoría de respuesta al ítem en vivo que da a cada etiqueta una posterior y un intervalo de confianza (p = 0.94 [0.88–0.97]) en lugar de un voto mayoritario a secas. Estima la habilidad del anotador y la dificultad del ítem solo a partir de los patrones de acuerdo, dirige cada ítem al anotador cuyo juicio aporta más información y señala probables errores del libro de códigos.
  • Salas multijugador — la reunión de calibración que tu equipo ya hace por pantalla compartida, integrada en la herramienta e instrumentada: voto a ciegas, revelación por parte del anfitrión, discusión y nueva votación, con un medidor de α de Krippendorff en vivo que muestra lo que valió la sesión.
  • Laboratorio de fronteras — sondeos contrafactuales después de cada etiqueta («¿seguiría siendo cierto?»), que convierten la anotación corriente en conjuntos de contraste y detectan anotadores inconsistentes sin sembrar ítems de oro.
  • Truth Serum — puntuación por predicción entre pares del tipo «sorprendentemente popular», que supera al voto mayoritario donde la anotación es difícil, sin etiquetas de oro.
  • Modo pensar en voz alta — los anotadores hablan mientras trabajan; el reconocimiento de voz se ejecuta por completo en local y la transcripción literal se convierte en la justificación.
  • Modo Paper — un comando convierte un proyecto en un informe de dataset en LaTeX compilable, con estadísticas de acuerdo y citas incluidas.
  • Modo Pocket — anotación móvil de primera clase con una pila de tarjetas deslizables, sincronización sin conexión e instalación como PWA.

Evaluar agentes de IA

El conjunto de evaluación de agentes creció para cubrir la estructura del equipo y los agentes multimodales: un grafo de interacción de agentes navegable, atribución de fallos entre agentes, revisión de traspasos, cuadros de mando por agente y por equipo, líneas temporales de contención de herramientas y etiquetado de comportamiento emergente, además de trayectorias de GUI y uso del ordenador, líneas temporales de voz full-duplex, anclaje temporal en vídeo y estructura de tablas en documentos.

En todo lo demás

Anotación de eventos entre documentos, anotación por turnos, un libro de códigos vivo con editor a página completa, vinculación entre páginas en PDF con OCR opcional, roles RBAC con esquemas por cohorte, paneles de administración y de anotador en 10 idiomas y una instalación mucho más ligera: los SDK de IA ahora se cargan de forma diferida, lo que reduce el tiempo de arranque de unos 2,0 s a 0,7 s.


Potato 2.6.0

Publicado en junio de 2026

Potato 2.6 entra en el análisis de datos cualitativos y amplía las herramientas de evaluación de agentes. Añade el modo QDA, un flujo de calibración y alineación de LLM como juez con una cola de triaje basada en señales, y esquemas de edición de trayectorias que producen datos de entrenamiento SFT y DPO. Potato pasa además a estar relicenciado bajo GPL-3.0-or-later (desde PolyForm Shield).

Modo QDA

Un qda_mode opcional convierte Potato en un espacio de trabajo colaborativo de codificación cualitativa. Al activarlo se combinan un libro de códigos vivo, codificación in vivo, memos del analista, casos y búsqueda en texto completo, con valores por defecto pensados para un solo analista codificando un corpus entero.

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

Más información sobre el modo QDA →

Calibración y alineación de LLM como juez

Etiqueta datos automáticamente con uno o varios jueces LLM y ejecuta después una pasada de calibración humana a ciegas para medir precisión, acuerdo y error de calibración. Un flujo aparte de alineación con un solo juez sigue la kappa de Cohen frente a tus etiquetas de oro humanas a medida que refinas la rúbrica, con un veredicto en línea opcional durante la anotación.

Más información sobre la calibración de jueces → · Alineación de jueces →

Cola de triaje basada en señales

Prioriza la cola de anotación con una señal de calidad por ítem —un error del agente, un pulgar abajo en producción, una puntuación baja o cualquier campo personalizado— para que los revisores vean primero los ítems más sospechosos en vez de por orden de llegada.

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

Más información sobre la cola de triaje →

Edición de trayectorias para SFT/DPO

Los nuevos esquemas trajectory_edit y trajectory_correction permiten a los anotadores reescribir los pasos de la traza de un agente. El exportador convierte cada par original/corregido en objetivos de ajuste fino supervisado (trajectory_sft.jsonl) y en pares de preferencia DPO (trajectory_dpo.jsonl).

Más información sobre la edición de trayectorias →

Visualización eval_trace

Una visualización de trazas de agente en tres paneles —Razonamiento, Llamadas a funciones y Respuesta final— pensada para la evaluación continua, donde las trazas llegan por un webhook, un sondeador de Langfuse o un directorio vigilado y se juzgan según van llegando.

Más información sobre eval_trace →

Flujo de trabajo y asignación

  • Cobertura heterogénea — límites de anotadores por ítem, informes de acuerdo entre anotadores y enrutamiento de adjudicación para tareas en las que los ítems necesitan un número distinto de anotadores.
  • Recuperar asignaciones abandonadas — recupera las asignaciones que dejaron trabajadores de Prolific o bloqueados por control de calidad, con retención configurable y recuperación idempotente.
  • Estrategia de asignación por lotes personalizados — asigna lotes predefinidos de ítems a anotadores concretos.
  • Prefijos de URL para proxy inverso — sirve Potato bajo una subruta detrás de un proxy inverso.

Licencia

Potato se publica ahora bajo GPL-3.0-or-later, relicenciado desde PolyForm Shield. Puedes usarlo, modificarlo y redistribuirlo, incluso con fines comerciales, siempre que las obras derivadas sigan bajo la GPL. Consulta la página Acerca de para más detalles.

Rendimiento y estabilidad

  • Arranque unas 3× más rápido. La pila de ML ya no se carga de forma anticipada al inicio: el tiempo de importación bajó de unos 6,5 s a 2 s, un arranque con 50 000 ítems de unos 10 s a 5,7 s y la memoria residente de unos 750 MB a 365 MB.
  • Cambio de nombre de esquema. annotation_type: highlight pasa a ser span, con una migración incluida. Actualiza las configuraciones antiguas renombrando el tipo; las configuraciones span existentes no se ven afectadas.
  • Una amplia tanda de refuerzo de QA tocó el registro de rutas, las fases de entrenamiento, Prolific, la persistencia, la exportación y el manejo de encuestas, los webhooks, el modo solo y el aprendizaje activo.

Potato 2.5.0

Publicado en 2026

Una tanda de codificación cualitativa que hace a Potato creíble para flujos de investigación cualitativa junto a su superficie de anotación para NLP y ML.

  • Acuerdo entre anotadores — kappa de Cohen (por pares) y kappa de Fleiss (N evaluadores) además del alfa de Krippendorff, expuestos por la API de acuerdo de administración. Consulta la guía de acuerdo entre anotadores.
  • Nuevos exportadorescodebook (CSV por esquema con jerarquía de códigos, color, descripción y número de usos) y quotation_report (CSV por segmento con texto, desplazamientos, documento de origen y codificador).
  • Analítica de códigos — endpoints de administración para la co-ocurrencia de códigos por pares y una tabla cruzada de códigos por atributo sobre los metadatos de instancia existentes.

Potato 2.4.5

Publicado en 2026

Una versión de estabilidad y herramientas.

  • Refinamiento validado — un marco modular para mejorar de forma iterativa las guías de anotación del modo solo, con protecciones frente a contradicciones en las guías y filtraciones de metadatos.
  • Validador de configuración — una nueva CLI python -m potato.validate_cli que comprueba las claves de configuración contra el esquema de configuración conocido.
  • Seguridad — corrección de una elusión por prefijo hermano en el recorrido de rutas dentro de la validación de rutas (GHSA-q9m2-fhv9-3jcf).
  • Correcciones en la sincronización de estado de guardado y navegación, la integración con Prolific, la navegación multifase y la retroalimentación de control de calidad.

Potato 2.3.0

Publicado el 9 de marzo de 2026

Potato 2.3 es la versión más grande de la historia de Potato: introduce anotación agéntica, modo solo, escalado mejor-peor, autenticación SSO/OAuth, exportación a Parquet, 15 nuevos proyectos de demostración y refuerzo de seguridad.

Anotación agéntica

Un sistema completo para evaluar agentes de IA mediante anotación humana. Incluye 12 conversores de formatos de traza, 3 tipos de visualización especializados y 9 esquemas de anotación predefinidos.

12 conversores de formatos de traza — Importa trazas de agentes desde OpenAI, Anthropic, SWE-bench, OpenTelemetry, MCP, CrewAI/AutoGen/LangGraph, LangChain, LangFuse, ReAct, WebArena/VisualWebArena, ATIF y grabaciones de navegador en bruto. Con detección automática disponible.

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

3 tipos de visualización:

  • Visualización de traza de agente — Tarjetas de pasos con código de colores, observaciones plegables, JSON formateado y barra lateral con línea temporal para agentes que usan herramientas
  • Visualización de traza de agente web — Capturas completas con superposiciones SVG que muestran objetivos de clic, entradas de texto y acciones de desplazamiento; navegación tipo filmstrip para agentes de navegación
  • Visualización de chat interactivo — Modo de chat en vivo (el anotador interactúa con el agente vía proxy) y modo de revisión de trazas para agentes conversacionales

Valoraciones por turno — Valora pasos individuales junto a la traza completa para una evaluación de grano fino.

9 esquemas predefinidosagent_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 de proxy de agentes — Proxies de OpenAI, HTTP y echo para la evaluación de agentes en vivo.

Más información sobre la anotación agéntica →


Modo solo

Un flujo inteligente de 12 fases en el que un único anotador humano colabora con un LLM para etiquetar datasets completos, alcanzando más del 95 % de acuerdo con las canalizaciones multianotador y requiriendo solo entre el 10 y el 15 % de las etiquetas humanas totales.

Las 12 fases:

  1. Anotación semilla — la persona etiqueta 50 instancias diversas
  2. Calibración inicial del LLM — el LLM etiqueta usando los ejemplos semilla
  3. Análisis de confusión — identificar patrones sistemáticos de desacuerdo
  4. Refinamiento de guías — el LLM propone y la persona aprueba las guías actualizadas
  5. Generación de funciones de etiquetado — reglas programáticas inspiradas en ALCHEmist
  6. Etiquetado activo — la persona etiqueta las instancias más informativas
  7. Bucle de refinamiento automatizado — reetiquetado iterativo con guías mejoradas
  8. Exploración de desacuerdos — la persona resuelve los conflictos entre LLM y LF
  9. Síntesis de casos límite — el LLM genera ejemplos ambiguos para que los etiquete la persona
  10. Escalado en cascada por confianza — la persona revisa las etiquetas de menor confianza
  11. Optimización de prompts — búsqueda automatizada de prompts inspirada en DSPy
  12. Validación final — revisión de una muestra aleatoria
yaml
solo_mode:
  enabled: true
  llm:
    endpoint_type: openai
    model: "gpt-4o"
    api_key: ${OPENAI_API_KEY}
  seed_count: 50
  accuracy_threshold: 0.92

Priorización de instancias multiseñal — 6 grupos ponderados (uncertain, disagreement, boundary, novel, error_pattern, random) para seleccionar las instancias más valiosas.

Más información sobre el modo solo →


Escalado mejor-peor

Anotación comparativa eficiente en la que los anotadores eligen el mejor y el peor elemento de una tupla. Generación automática de tuplas con diseños de bloques incompletos equilibrados y tres métodos de puntuación (conteo, Bradley-Terry y Plackett-Luce).

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

Más información sobre el escalado mejor-peor →


Autenticación SSO y OAuth

Autenticación lista para producción con Google OAuth (restricción por dominio), GitHub OAuth (restricción por organización) y OIDC genérico (Okta, Azure AD, Auth0, Keycloak). Admite autorregistro, modo mixto y gestión de sesiones.

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

Más información sobre SSO y OAuth →


Exportación a Parquet

Exporta anotaciones al formato Apache Parquet, produciendo tres archivos estructurados: annotations.parquet, spans.parquet e items.parquet. Admite compresión snappy, gzip, zstd, lz4 y brotli, exportación incremental y particionado por fecha o anotador. Compatible con pandas, DuckDB, PyArrow, Polars y Hugging Face Datasets.

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

Más información sobre la exportación a Parquet →


15 nuevos proyectos de demostración

Nuevas demos en project-hub/ que cubren anotación agéntica (5 demos), modo solo (3 demos), escalado mejor-peor (3 demos), autenticación (2 demos) y flujos de exportación (2 demos). Arranca cualquier demo con potato start config.yaml.


Refuerzo de seguridad

  • Tokens de sesión criptográficamente seguros con caducidad configurable
  • Protección CSRF activada por defecto
  • Limitación de tasa en los endpoints de autenticación
  • Saneamiento de la entrada para el contenido proporcionado por el usuario
  • Auditoría de dependencias con todos los paquetes actualizados
  • Cabeceras de política de seguridad de contenido (CSP)

Otras mejoras

  • Conversores de trazas personalizados para frameworks de agentes no soportados
  • Modo solo híbrido con muestreo de verificación multianotador
  • Pestaña del panel de administración para BWS con gráficas de convergencia de puntuaciones
  • Exportación incremental a Parquet con particionado por fecha

Comparación v2.2 y v2.3

Funcionalidadv2.2v2.3
Anotación agénticaNo disponible12 conversores, 3 visualizaciones, 9 esquemas
Modo soloNo disponibleFlujo humano-LLM de 12 fases
Escalado mejor-peorNo disponibleBWS con 3 métodos de puntuación
AutenticaciónSolo nombre de usuario+ Google OAuth, GitHub OAuth, OIDC
Exportación a ParquetNo disponibleParquet de 3 archivos con 6 opciones de compresión
Proyectos de demostraciónMás de 125Más de 140 (15 nuevos)
SeguridadBásicaCSRF, limitación de tasa, CSP, sesiones seguras

Potato 2.2.0

Publicado el 20 de febrero de 2026

Potato 2.2 es una versión mayor con 9 nuevos esquemas de anotación, un sistema de exportación modular, estimación de competencia MACE, 55 instrumentos de encuesta validados y fuentes de datos remotas.

Nuevos Esquemas de Anotación (9)

Anotación de Eventos — Estructuras de eventos N-arios con segmentos de activación y roles de argumento tipados. Anota eventos como ATTACK, HIRE y TRAVEL con argumentos de entidades restringidos y visualización de arcos 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

Más información sobre Anotación de Eventos →

Vinculación de Entidades — Vincula anotaciones de segmentos a bases de conocimiento externas (Wikidata, UMLS, APIs REST personalizadas). Añade un bloque entity_linking: a cualquier esquema de segmentos para habilitar la búsqueda y vinculación a bases de conocimiento.

Más información sobre Vinculación de Entidades →

Triaje — Interfaz de aceptar/rechazar/omitir al estilo Prodigy para la revisión rápida de datos. Etiquetas personalizables, atajos de teclado y avance automático para anotación de alto rendimiento.

Más información sobre Triaje →

Comparación por Pares — Compara dos elementos con modos binario (clic en el mosaico preferido) o de escala (deslizador). Soporta items_key, allow_tie, bloque scale: con rango configurable.

Más información sobre Comparación por Pares →

Árboles de Conversación — Anota estructuras de conversación jerárquicas con calificaciones por nodo, selección de caminos y comparación de ramas.

Más información sobre Árboles de Conversación →

Cadenas de Correferencia — Agrupa menciones de texto correferentes en cadenas con indicadores visuales. Soporta tipos de entidad, control de elementos individuales y múltiples modos de resaltado.

Más información sobre Cadenas de Correferencia →

Máscaras de Segmentación — Nuevas herramientas fill, eraser y brush para segmentación de imágenes a nivel de píxel.

Cuadros Delimitadores para PDF/Documentos — Dibuja cuadros en páginas PDF para tareas de anotación de documentos.

Segmentos Discontinuosallow_discontinuous: true permite seleccionar segmentos de texto no contiguos como un solo segmento.


Anotación Inteligente

Estimación de Competencia MACE — Algoritmo EM de Bayes variacional que estima conjuntamente las etiquetas verdaderas y las puntuaciones de competencia de los anotadores (0.0-1.0). Funciona con esquemas radio, likert, select y multiselect.

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

Más información sobre MACE →

Resaltado de Opciones — Resaltado basado en LLM de las opciones probablemente correctas para tareas de anotación discretas. Resalta las top-k opciones con un indicador de estrella mientras atenúa las opciones menos probables.

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

Más información sobre Resaltado de Opciones →

Ordenamiento por Diversidad — Agrupamiento basado en embeddings y muestreo round-robin para asegurar que los anotadores vean contenido diverso en lugar de elementos similares en secuencia.

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

Más información sobre Ordenamiento por Diversidad →


Sistema de Exportación

Un nuevo CLI de exportación modular (python -m potato.export) convierte anotaciones a 6 formatos estándar de la industria: COCO, YOLO, Pascal VOC, CoNLL-2003, CoNLL-U y Máscaras de Segmentación.

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

Más información sobre Formatos de Exportación →


Fuentes de Datos Remotas

Carga datos de anotación desde URLs, S3, Google Drive, Dropbox, Hugging Face, Google Sheets y bases de datos SQL mediante el nuevo bloque de configuración data_sources:. Incluye carga parcial, caché y gestión de credenciales.

Más información sobre Fuentes de Datos Remotas →


Instrumentos de Encuesta

55 cuestionarios validados en 8 categorías (Personalidad, Salud Mental, Afecto, Autoconcepto, Actitudes Sociales, Estilo de Respuesta, Formularios Cortos, Demografía). Úsalos en fases de pre-estudio/post-estudio con instrument: "tipi".

Más información sobre Instrumentos de Encuesta →


Otras Mejoras

  • Seguimiento de objetos en video con interpolación de fotogramas clave
  • Soporte de archivo de configuración de IA externo
  • Mejoras en la cuadrícula de diseño de formularios
  • Manejadores de formato para PDF, Word, código y hojas de cálculo

Potato 2.1.0

Publicado el 5 de febrero de 2026

Potato 2.1 introduce el sistema de visualización de instancias, soporte visual de IA, vinculación de segmentos, anotación de segmentos multi-campo y personalización de diseño.

Sistema de Visualización de Instancias

Un nuevo bloque de configuración instance_display que separa la visualización del contenido de la anotación. Muestra cualquier combinación de imágenes, videos, audio, texto y diálogos junto con cualquier esquema de anotación.

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]

Soporta 11 tipos de visualización incluyendo text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document y pdf.

Más información sobre Visualización de Instancias →


Anotación de Segmentos Multi-Campo

Los esquemas de anotación de segmentos ahora soportan una opción target_field para anotar múltiples campos de texto en la misma instancia.

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

Más información sobre Anotación de Segmentos →


Vinculación de Segmentos

Un nuevo tipo de anotación span_link para crear relaciones tipadas entre segmentos anotados. Soporta enlaces dirigidos y no dirigidos, relaciones n-arias, visualización de arcos y restricciones de etiquetas.

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"

Más información sobre Vinculación de Segmentos →


Soporte Visual de IA

Cuatro nuevos endpoints de visión para asistencia de IA en la anotación de imágenes y video:

  • YOLO — Detección rápida de objetos local
  • Ollama Vision — Modelos de visión-lenguaje locales (LLaVA, Qwen-VL)
  • OpenAI Vision — Visión en la nube con GPT-4o
  • Anthropic Vision — Claude con visión

Las funcionalidades incluyen detección de objetos, pre-anotación, clasificación, pistas, detección de escenas, detección de fotogramas clave y seguimiento de objetos.

Más información sobre Soporte Visual de IA →


Personalización de Diseño

Crea diseños visuales personalizados sofisticados usando plantillas HTML y CSS. Potato genera un archivo de diseño editable, o puedes proporcionar una plantilla completamente personalizada con diseños de cuadrícula, opciones codificadas por color y estilos de sección.

yaml
task_layout: layouts/custom_task_layout.html

Se incluyen tres diseños de ejemplo: moderación de contenido, diálogo de QA y revisión médica.

Más información sobre Personalización de Diseño →


Justificaciones de Etiquetas

Una cuarta capacidad de IA que genera explicaciones equilibradas de por qué cada etiqueta podría aplicarse, ayudando a los anotadores a comprender diferentes perspectivas de clasificación.

yaml
ai_support:
  features:
    rationales:
      enabled: true

Más información sobre Soporte de IA →


Otras Mejoras

  • Más de 50 nuevas pruebas para mayor confiabilidad
  • Mejoras en el diseño responsivo
  • Organización mejorada del project-hub con ejemplos de diseño
  • Correcciones de errores en tipos de anotación

Comparación v2.0 vs v2.1

Funcionalidadv2.0v2.1
Visualización de InstanciasMediante hacks de anotaciónBloque dedicado instance_display
Objetivos de SegmentosCampo de texto únicoMulti-campo con target_field
Vinculación de SegmentosNo disponibleTipo completo span_link
IA VisualNo disponibleYOLO, Ollama Vision, OpenAI Vision, Anthropic Vision
Personalización de DiseñoAuto-generado básicoAuto-generado + plantillas personalizadas
Capacidades de IA3 (pistas, palabras clave, sugerencias)4 (+ justificaciones)

Potato 2.0

Potato 2.0 es una versión mayor que introduce potentes nuevas funcionalidades para anotación inteligente y escalable. Esta sección destaca las principales incorporaciones y mejoras.

Soporte de IA

Integra Modelos de Lenguaje Grandes para asistir a los anotadores con pistas inteligentes, resaltado de palabras clave y sugerencias de etiquetas.

Proveedores soportados:

  • OpenAI (GPT-4, GPT-3.5)
  • Anthropic (Claude 3, Claude 3.5)
  • Google (Gemini)
  • Ollama (modelos locales)
  • vLLM (auto-alojado)
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

Más información sobre Soporte de IA →


Anotación de Audio

Anotación de audio con todas las funcionalidades, con visualización de forma de onda impulsada por Peaks.js. Crea segmentos, etiqueta regiones de tiempo y anota habla con atajos de teclado.

Funcionalidades clave:

  • Visualización de forma de onda
  • Creación y etiquetado de segmentos
  • Preguntas de anotación por segmento
  • Más de 15 atajos de teclado
  • Caché de formas de onda del lado del servidor
yaml
annotation_schemes:
  - annotation_type: audio_annotation
    name: speakers
    mode: label
    labels:
      - Speaker A
      - Speaker B

Más información sobre Anotación de Audio →


Aprendizaje Activo

Prioriza automáticamente las instancias de anotación basándose en la incertidumbre del modelo. Entrena clasificadores con anotaciones existentes y enfoca a los anotadores en los ejemplos más informativos.

Capacidades:

  • Múltiples opciones de clasificador (LogisticRegression, RandomForest, SVC, MultinomialNB)
  • Varios vectorizadores (TF-IDF, Count, Hashing)
  • Persistencia del modelo entre reinicios
  • Selección mejorada con LLM
  • Soporte multi-esquema
yaml
active_learning:
  enabled: true
  schema_names:
    - sentiment
  min_instances_for_training: 30
  update_frequency: 50
  classifier:
    type: LogisticRegression

Más información sobre Aprendizaje Activo →


Fase de Entrenamiento

Cualifica a los anotadores con preguntas de práctica antes de la tarea principal. Proporciona retroalimentación inmediata y asegura la calidad mediante criterios de aprobación configurables.

Funcionalidades:

  • Preguntas de práctica con respuestas conocidas
  • Retroalimentación inmediata y explicaciones
  • Criterios de aprobación configurables
  • Opciones de reintento
  • Seguimiento de progreso en el panel de administración
yaml
phases:
  training:
    enabled: true
    data_file: "data/training.json"
    passing_criteria:
      min_correct: 8
      total_questions: 10

Más información sobre Fase de Entrenamiento →


Panel de Administración Mejorado

Interfaz integral de monitoreo y gestión para tareas de anotación.

Pestañas del panel:

  • Resumen: Métricas de alto nivel y tasas de finalización
  • Anotadores: Seguimiento de rendimiento, análisis de tiempos
  • Instancias: Explorar datos con puntuaciones de desacuerdo
  • Configuración: Ajuste de configuración en tiempo real
yaml
admin_api_key: ${ADMIN_API_KEY}

Más información sobre el Panel de Administración →


Backend de Base de Datos

Soporte de MySQL para despliegues a gran escala con agrupación de conexiones y soporte de transacciones.

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

Potato crea automáticamente las tablas necesarias en el primer inicio.


Historial de Anotación

Seguimiento completo de todos los cambios de anotación con marcas de tiempo, IDs de usuario y tipos de acción. Permite auditoría y análisis de comportamiento.

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

Flujos de Trabajo Multi-Fase

Construye flujos de trabajo de anotación complejos con múltiples fases secuenciales:

  1. Consentimiento - Recopilación de consentimiento informado
  2. Pre-estudio - Demografía y cribado
  3. Instrucciones - Directrices de la tarea
  4. Entrenamiento - Preguntas de práctica
  5. Anotación - Tarea principal
  6. Post-estudio - Encuestas de retroalimentación
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"

Más información sobre Flujos de Trabajo Multi-Fase →


Cambios de Configuración en v2.0

Nueva Estructura de Configuración

Potato 2.0 utiliza un formato de configuración más limpio:

v1 (anterior):

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

v2 (nuevo):

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

Requisito de Seguridad

Los archivos de configuración ahora deben estar ubicados dentro del task_dir:

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

Comparación Rápida

Funcionalidadv1v2.0v2.1v2.2v2.3
Soporte IA/LLMNoSí + IA Visual + Justificaciones+ Resaltado de Opciones+ Modo Solo
Anotación AgénticaNoNoNoNo12 conversores, 3 visualizaciones
Escalado Mejor-PeorNoNoNoNoSí (3 métodos de puntuación)
Anotación de AudioBásicaForma de onda completaForma de onda completaForma de onda completaForma de onda completa
Aprendizaje ActivoNoSí + Ordenamiento por Diversidad+ Integración con Modo Solo
Visualización de InstanciasNoNo
Vinculación de SegmentosNoNo
Anotación de EventosNoNoNo
Vinculación de EntidadesNoNoNo
Pares/Triaje/Correferencia/ÁrbolesNoNoNo
Personalización de DiseñoNoAuto-generadoAuto + Plantillas personalizadasAuto + Plantillas personalizadasAuto + Plantillas personalizadas
Fase de EntrenamientoNo
Panel de AdministraciónBásicoMejoradoMejoradoMejorado + MACE+ Pestaña BWS, Modo Solo
Backend de Base de DatosSolo archivosArchivos + MySQLArchivos + MySQLArchivos + MySQLArchivos + MySQL
CLI de ExportaciónNoNoNoSí (COCO, YOLO, CoNLL, etc.)+ Parquet
AutenticaciónNombre de usuarioNombre de usuarioNombre de usuarioNombre de usuario+ Google/GitHub OAuth, OIDC
Instrumentos de EncuestaNoNoNo55 cuestionarios validados55 cuestionarios validados
Fuentes de Datos RemotasNoNoNoS3, GDrive, HuggingFace, etc.S3, GDrive, HuggingFace, etc.

Guía de Migración

Actualizar Tu Configuración (v1 a v2)

  1. Configuración de datos

    yaml
    # Old
    id_key: id
    text_key: text
     
    # New
    item_properties:
      id_key: id
      text_key: text
  2. Configuración de salida

    yaml
    # Old
    output_file: annotations.json
     
    # New
    output_annotation_dir: "output/"
    output_annotation_format: "json"
  3. Ubicación del archivo de configuración Asegúrate de que tu archivo de configuración esté dentro del directorio del proyecto.

Iniciar el Servidor

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

Comenzar

¿Listo para probar Potato? Comienza con la Guía de Inicio Rápido o explora funcionalidades específicas:

Funcionalidades de v2.3:

Funcionalidades de v2.2:

Funcionalidades de v2.1:

Funcionalidades Principales: