Skip to content
Announcements7 min read

Potato 2.1: Exibição de Instâncias, IA Visual e Vinculação de Spans

O Potato 2.1.0 traz o sistema de exibição de instâncias, suporte de IA visual para anotação de imagens e vídeos, vinculação de spans, spans multicampo e personalização de layout.

Potato Team

Nota: Este post descreve o Potato 2.1 como ele era no lançamento. Algumas chaves de configuração e recursos foram atualizados em versões posteriores. Consulte a documentação atual para a sintaxe de configuração mais recente.

O Potato 2.1.0 está disponível. Ele adiciona cinco coisas: um sistema de exibição de instâncias completo, assistência de IA para anotação de imagens e vídeos, vinculação de spans, spans multicampo e layouts personalizados.

Sistema de exibição de instâncias

A grande novidade no 2.1 é o bloco de configuração instance_display. Antes disso, exibir uma imagem ao lado de um conjunto de botões de opção exigia uma solução improvisada, como criar um esquema image_annotation com min_annotations: 0. Agora você pode definir o que exibir e o que coletar separadamente.

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]

Ele suporta 11 tipos de conteúdo: text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document e pdf. Você pode combinar vários campos de exibição com qualquer esquema de anotação, organizá-los na horizontal ou na vertical e ativar a anotação de spans para campos de texto com span_target: true.

Um recurso que as pessoas vêm pedindo são avaliações de diálogo por turno. Você pode colocar um widget Likert embutido em turnos individuais de conversa, para que os anotadores avaliem um falante específico sem sair da visualização da conversa.

Leia a documentação completa de exibição de instâncias →

Anotação de spans multicampo

A anotação de spans agora aceita a opção target_field, que permite anotar em mais de um campo de texto na mesma instância. Você precisa disso para tarefas como avaliação de resumos, em que você marca entidades tanto no documento de origem quanto no resumo.

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]

As anotações de saída são indexadas pelo nome do campo, então fica claro de qual campo de texto cada span veio.

Leia a documentação atualizada de anotação de spans →

Vinculação de spans

O novo tipo de anotação span_link lida com extração de relações: você cria relacionamentos tipados entre spans que já anotou. Isso cobre tarefas como construção de grafos de conhecimento, resolução de correferência e análise de discurso.

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"

Os links podem ser direcionados ou não direcionados, n-ários (unindo mais de dois spans) e aparecem como arcos desenhados acima do texto. As restrições de rótulo permitem definir quais tipos de entidade podem participar de cada tipo de relacionamento.

Leia a documentação completa de vinculação de spans →

Suporte de IA visual

O Potato 2.1 adiciona quatro endpoints de visão, que trazem assistência de IA para anotação de imagens e vídeos pela primeira vez. Até agora os recursos de IA só funcionavam com texto.

Quatro endpoints de visão

O YOLO é o ideal para detecção de objetos rápida e precisa com inferência local. Ele suporta as variantes do YOLOv8 e o YOLO-World para detecção de vocabulário aberto.

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

O Ollama Vision executa modelos de visão-linguagem localmente por meio do Ollama. Ele suporta LLaVA, Llama 3.2 Vision, Qwen2.5-VL, BakLLaVA e Moondream.

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

O OpenAI Vision faz análise de visão na nuvem com o GPT-4o e níveis de detalhe configuráveis.

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

O Anthropic Vision usa os recursos de visão do Claude para compreensão e classificação de imagens.

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

Recursos de IA para imagens

Em tarefas de imagem, a IA visual oferece quatro modos de assistência:

  • A detecção encontra objetos que correspondem aos seus rótulos e desenha caixas delimitadoras de sugestão como sobreposições tracejadas
  • A pré-anotação (Auto) detecta todos os objetos da imagem e cria sugestões para um humano revisar
  • A classificação rotula uma região selecionada ou a imagem inteira e fornece uma pontuação de confiança
  • As dicas apontam os anotadores na direção certa sem revelar a localização exata, o que é útil para treinamento
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

Recursos de IA para vídeo

Em tarefas de vídeo, a IA visual adiciona detecção de cenas (encontra os limites das cenas e sugere segmentos temporais), detecção de keyframes (seleciona os momentos significativos) e rastreamento de objetos (sugere onde um objeto está ao longo dos quadros).

Fluxo de aceitar e rejeitar

As sugestões da IA aparecem como sobreposições tracejadas. Os anotadores podem aceitar uma (duplo clique), rejeitar uma (clique com o botão direito), aceitar todas ou limpar todas. O humano permanece no comando; a IA apenas faz a primeira passagem tediosa.

Endpoints de visão e texto separados

Você pode apontar tarefas de texto e tarefas visuais para endpoints de IA diferentes, para que cada tipo de conteúdo use o modelo mais adequado a ele:

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

Leia a documentação completa de suporte de IA visual →

Personalização de layout

O Potato 2.1 permite criar layouts visuais personalizados. Por padrão, ele gera um arquivo editável layouts/task_layout.html, e você pode substituí-lo pelo seu próprio template HTML com layouts em grade CSS, opções com cores codificadas e estilização de seções.

yaml
task_layout: layouts/custom_task_layout.html

Há três layouts de exemplo em project-hub/layout-examples/. O de moderação de conteúdo tem um banner de aviso, uma grade de duas colunas e severidade com cores codificadas. O de QA de diálogo mostra metadados do caso, avaliações Likert circulares e avaliações agrupadas. O de revisão médica usa um estilo de relatório estruturado.

Os layouts personalizados se integram bem com o novo sistema instance_display: o conteúdo de exibição é renderizado acima dos seus formulários de anotação personalizados.

Leia a documentação completa de personalização de layout →

Outras melhorias

Justificativas de rótulos

Uma quarta capacidade de IA se junta às dicas, ao destaque de palavras-chave e às sugestões de rótulo. As justificativas escrevem uma explicação equilibrada de por que cada rótulo pode se aplicar, o que ajuda os anotadores a entender o raciocínio por trás de uma classificação em vez de apenas adivinhar.

yaml
ai_support:
  features:
    rationales:
      enabled: true

Correções de bugs e testes

  • Mais de 50 novos testes para maior confiabilidade
  • Correções de design responsivo nos tipos de anotação
  • Um project-hub mais organizado, agora com exemplos de layout

Atualizando para a v2.1

bash
pip install --upgrade potato-annotation

Suas configurações existentes da v2.0 continuam funcionando sem alterações. Tudo que é novo é opcional, por meio de blocos de configuração extras como instance_display, esquemas span_link e endpoints de IA visual.

Primeiros passos

Para o changelog completo e quaisquer chaves de configuração que mudaram, consulte as notas de lançamento da v2.1.0 no repositório.


Tem dúvidas ou comentários? Entre no nosso Discord ou abra uma issue no GitHub.