Skip to content
Announcements7 min read

Potato 2.1 : Affichage d'instances, IA visuelle et liaison de spans

Potato 2.1.0 apporte le système d'affichage d'instances, le support de l'IA visuelle pour l'annotation d'images et de vidéos, la liaison de spans, les spans multi-champs et la personnalisation de la mise en page.

Potato Team·

Potato 2.1 : Affichage d'instances, IA visuelle et liaison de spans

Nous sommes ravis d'annoncer Potato 2.1.0, une version riche en fonctionnalités qui apporte cinq capacités majeures à la plateforme d'annotation. Cette mise à jour se concentre sur l'affichage de contenu multimodal, l'annotation visuelle assistée par IA et l'annotation de relations plus riche.

Système d'affichage d'instances

La fonctionnalité phare de la v2.1 est le nouveau bloc de configuration instance_display. Auparavant, afficher une image à côté de boutons radio nécessitait des contournements maladroits comme créer un schéma image_annotation avec min_annotations: 0. Désormais, vous pouvez séparer explicitement le contenu à afficher des annotations à collecter.

yaml
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]

L'affichage d'instances supporte 11 types de contenu : text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document et pdf. Vous pouvez combiner plusieurs champs d'affichage avec n'importe quel schéma d'annotation, les disposer horizontalement ou verticalement, et activer l'annotation de spans sur les champs texte avec span_target: true.

Une fonctionnalité remarquable est les notations par tour de dialogue -- vous pouvez ajouter des widgets de notation Likert en ligne sur des tours de conversation individuels, permettant aux annotateurs de noter des locuteurs spécifiques sans quitter la vue de conversation.

Lire la documentation complète de l'affichage d'instances →

Annotation de spans multi-champs

L'annotation de spans supporte désormais une option target_field, permettant l'annotation sur plusieurs champs texte dans la même instance de données. C'est essentiel pour les tâches comme l'évaluation de résumés où vous devez annoter des entités à la fois dans un document source et son résumé.

yaml
annotation_schemes:
  - annotation_type: span
    name: source_entities
    target_field: "source_text"
    labels: [PERSON, ORGANIZATION, LOCATION]
 
  - annotation_type: span
    name: summary_entities
    target_field: "summary"
    labels: [PERSON, ORGANIZATION, LOCATION]

Les annotations de sortie sont indexées par nom de champ, rendant clair à quel champ texte chaque span appartient.

Lire la documentation mise à jour de l'annotation de spans →

Liaison de spans

Le nouveau type d'annotation span_link permet l'extraction de relations en créant des relations typées entre des spans annotés. Cela ouvre la voie à des tâches comme la construction de graphes de connaissances, la résolution de coréférences et l'analyse du discours.

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"
      - name: "COLLABORATES_WITH"
        directed: false
        allowed_source_labels: ["PERSON"]
        allowed_target_labels: ["PERSON"]
        color: "#06b6d4"

Les capacités clés incluent les liens dirigés et non dirigés, les relations n-aires (liens entre plus de deux spans), l'affichage visuel d'arcs au-dessus du texte et les contraintes d'étiquettes qui restreignent les types d'entités pouvant participer à chaque type de relation.

Lire la documentation complète de la liaison de spans →

Support de l'IA visuelle

Potato 2.1 introduit quatre nouveaux endpoints de vision qui apportent l'assistance IA dans les tâches d'annotation d'images et de vidéos. C'est une expansion majeure des capacités IA de Potato au-delà du texte.

Quatre endpoints de vision

YOLO -- Idéal pour la détection d'objets rapide et précise en utilisant l'inférence locale. Supporte les variantes YOLOv8 et YOLO-World pour la détection à vocabulaire ouvert.

yaml
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5
    iou_threshold: 0.45

Ollama Vision -- Exécutez des modèles vision-langage localement avec Ollama. Supporte LLaVA, Llama 3.2 Vision, Qwen2.5-VL, BakLLaVA et Moondream.

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"
    base_url: "http://localhost:11434"

OpenAI Vision -- Analyse de vision cloud utilisant GPT-4o avec des niveaux de détail configurables.

yaml
ai_support:
  enabled: true
  endpoint_type: "openai_vision"
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o"
    detail: "auto"

Anthropic Vision -- Claude avec des capacités de vision pour la compréhension et la classification d'images.

yaml
ai_support:
  enabled: true
  endpoint_type: "anthropic_vision"
  ai_config:
    api_key: "${ANTHROPIC_API_KEY}"
    model: "claude-sonnet-4-20250514"

Fonctionnalités IA pour les images

Pour les tâches d'annotation d'images, l'IA visuelle fournit quatre modes d'assistance :

  • Détection -- Trouve les objets correspondant à vos étiquettes configurées et dessine des suggestions de boîtes englobantes en superposition en pointillés
  • Pré-annotation (Auto) -- Détecte automatiquement tous les objets dans l'image et crée des suggestions pour examen humain
  • Classification -- Classifie une région sélectionnée ou l'image entière avec un score de confiance
  • Indices -- Fournit des indications sans révéler les emplacements exacts, utile pour la formation des annotateurs
yaml
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: true

Fonctionnalités IA pour les vidéos

Pour les tâches vidéo, l'IA visuelle ajoute la détection de scènes (identification des limites de scènes et suggestion de segments temporels), la détection d'images clés (identification des moments significatifs) et le suivi d'objets (suggestion de positions entre les images).

Flux de travail accepter/rejeter

Les suggestions IA apparaissent sous forme de superpositions en pointillés que les annotateurs peuvent accepter (double-clic), rejeter (clic droit), tout accepter ou tout effacer -- gardant les humains dans la boucle tout en accélérant l'annotation.

Endpoints visuels et textuels séparés

Vous pouvez configurer différents endpoints IA pour les tâches textuelles et visuelles, en utilisant le meilleur modèle pour chaque type de contenu :

yaml
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.5

Lire la documentation complète du support IA visuelle →

Personnalisation de la mise en page

Potato 2.1 ajoute le support de mises en page visuelles personnalisées sophistiquées. Potato génère par défaut un fichier layouts/task_layout.html éditable, et vous pouvez fournir un template HTML entièrement personnalisé avec des grilles CSS, des options codées par couleur et du style de section.

yaml
task_layout: layouts/custom_task_layout.html

Trois exemples de mises en page sont inclus dans project-hub/layout-examples/ :

  • Modération de contenu -- Bannière d'avertissement, grille à 2 colonnes, sévérité codée par couleur
  • QA de dialogue -- Métadonnées de cas, notations Likert circulaires, évaluations groupées
  • Examen médical -- Style médical professionnel, rapport structuré

Les mises en page personnalisées fonctionnent en parallèle du nouveau système instance_display -- le contenu affiché s'affiche au-dessus de vos formulaires d'annotation personnalisés.

Lire la documentation complète de la personnalisation de mise en page →

Autres améliorations

Justifications d'étiquettes

Une quatrième capacité IA rejoint les indices, la mise en surbrillance de mots-clés et les suggestions d'étiquettes. Les justifications génèrent des explications équilibrées sur les raisons pour lesquelles chaque étiquette pourrait s'appliquer, aidant les annotateurs à comprendre le raisonnement derrière différentes classifications.

yaml
ai_support:
  features:
    rationales:
      enabled: true

Corrections de bugs et tests

  • Plus de 50 nouveaux tests pour une fiabilité améliorée
  • Améliorations du design responsive pour tous les types d'annotation
  • Organisation améliorée du project-hub avec des exemples de mise en page

Mise à niveau vers la v2.1

bash
pip install --upgrade potato-annotation

Les configurations v2.0 existantes fonctionnent sans modification -- toutes les nouvelles fonctionnalités sont optionnelles via des blocs de configuration supplémentaires comme instance_display, les schémas span_link et les endpoints IA visuels.

Pour commencer


Des questions ou des commentaires ? Rejoignez notre Discord ou ouvrez un ticket sur GitHub.