Potato 2.1: Instanzanzeige, visuelle KI und Span-Verknüpfung
Potato 2.1.0 bringt das System zur Instanzanzeige, KI-Unterstützung für Bild- und Videoannotation, Span-Verknüpfung, feldübergreifende Spans und anpassbare Layouts.
Hinweis: Dieser Beitrag beschreibt Potato 2.1 im Zustand zum Release. Einige Konfigurationsschlüssel und Funktionen haben sich in späteren Versionen geändert. Die aktuelle Konfigurationssyntax steht in der aktuellen Dokumentation.
Potato 2.1.0 ist da. Dazugekommen sind fünf Dinge: ein richtiges System zur Instanzanzeige, KI-Unterstützung für Bild- und Videoannotation, Span-Verknüpfung, feldübergreifende Spans und eigene Layouts.
System zur Instanzanzeige
Der größte Zugang in 2.1 ist der Konfigurationsblock instance_display. Bisher war ein Bild neben einer Reihe Radio-Buttons nur über einen Umweg zu bekommen, etwa über ein image_annotation-Schema mit min_annotations: 0. Jetzt legst du getrennt fest, was angezeigt und was erhoben wird.
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]Unterstützt werden 11 Inhaltstypen: text, html, image, video, audio, dialogue, pairwise, code, spreadsheet, document und pdf. Du kannst mehrere Anzeigefelder mit jedem beliebigen Annotationsschema kombinieren, sie waagerecht oder senkrecht anordnen und für Textfelder per span_target: true die Span-Annotation einschalten.
Eine oft gewünschte Funktion sind Bewertungen einzelner Gesprächsbeiträge. Du kannst ein Likert-Widget direkt an einzelnen Turns einer Unterhaltung einblenden, sodass Annotierende eine bestimmte sprechende Person bewerten, ohne die Gesprächsansicht zu verlassen.
Zur vollständigen Dokumentation der Instanzanzeige →
Feldübergreifende Span-Annotation
Die Span-Annotation kennt jetzt die Option target_field, mit der du innerhalb einer Instanz mehr als ein Textfeld annotieren kannst. Nötig ist das etwa bei der Bewertung von Zusammenfassungen, wo du Entitäten sowohl im Ausgangsdokument als auch in der Zusammenfassung markierst.
annotation_schemes:
- annotation_type: span
name: source_entities
labels: [PERSON, ORGANIZATION, LOCATION]
- annotation_type: span
name: summary_entities
labels: [PERSON, ORGANIZATION, LOCATION]In der Ausgabe sind die Annotationen nach Feldnamen geschlüsselt, sodass klar bleibt, aus welchem Textfeld ein Span stammt.
Zur überarbeiteten Dokumentation der Span-Annotation →
Span-Verknüpfung
Der neue Annotationstyp span_link deckt die Relationsextraktion ab: Du legst typisierte Beziehungen zwischen bereits annotierten Spans an. Damit lassen sich Aufgaben wie der Aufbau von Wissensgraphen, Koreferenzauflösung und Diskursanalyse bearbeiten.
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"Verknüpfungen können gerichtet oder ungerichtet sein, auch n-är (also mehr als zwei Spans verbinden), und sie erscheinen als Bögen über dem Text. Über Label-Einschränkungen legst du fest, welche Entitätstypen an welchem Beziehungstyp beteiligt sein dürfen.
Zur vollständigen Dokumentation der Span-Verknüpfung →
Visuelle KI-Unterstützung
Potato 2.1 ergänzt vier Vision-Endpunkte und bringt damit erstmals KI-Unterstützung in die Bild- und Videoannotation. Bisher liefen die KI-Funktionen nur auf Text.
Vier Vision-Endpunkte
YOLO ist die Wahl für schnelle, präzise Objekterkennung mit lokaler Inferenz. Unterstützt werden YOLOv8-Varianten und YOLO-World für die Erkennung mit offenem Vokabular.
ai_support:
enabled: true
endpoint_type: "yolo"
ai_config:
model: "yolov8m.pt"
confidence_threshold: 0.5
iou_threshold: 0.45Ollama Vision führt Vision-Language-Modelle lokal über Ollama aus. Unterstützt werden LLaVA, Llama 3.2 Vision, Qwen2.5-VL, BakLLaVA und Moondream.
ai_support:
enabled: true
endpoint_type: "ollama_vision"
ai_config:
model: "llava:latest"
base_url: "http://localhost:11434"OpenAI Vision übernimmt die Bildanalyse in der Cloud, mit GPT-4o und einstellbarer Detailstufe.
ai_support:
enabled: true
endpoint_type: "openai_vision"
ai_config:
api_key: "${OPENAI_API_KEY}"
model: "gpt-4o"
detail: "auto"Anthropic Vision nutzt die Bildfähigkeiten von Claude für Bildverständnis und Klassifikation.
ai_support:
enabled: true
endpoint_type: "anthropic_vision"
ai_config:
api_key: "${ANTHROPIC_API_KEY}"
model: "claude-sonnet-4-20250514"KI-Funktionen für Bilder
Bei Bildaufgaben stehen vier Unterstützungsarten zur Verfügung:
- Detection findet Objekte passend zu deinen Labels und zeichnet vorgeschlagene Bounding Boxes als gestrichelte Überlagerung ein
- Vorannotation (Auto) erkennt alle Objekte im Bild und legt Vorschläge zur menschlichen Prüfung an
- Klassifikation labelt einen ausgewählten Bereich oder das ganze Bild und gibt einen Konfidenzwert aus
- Hinweise weisen Annotierende in die richtige Richtung, ohne die genaue Stelle zu verraten, was in der Einarbeitung nützlich ist
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: trueKI-Funktionen für Video
Bei Videoaufgaben kommen Szenenerkennung (findet Szenengrenzen und schlägt zeitliche Segmente vor), Keyframe-Erkennung (greift wichtige Momente heraus) und Objektverfolgung (schlägt vor, wo ein Objekt über die Einzelbilder hinweg liegt) dazu.
Annehmen und Verwerfen
KI-Vorschläge erscheinen als gestrichelte Überlagerung. Annotierende können einen Vorschlag annehmen (Doppelklick), verwerfen (Rechtsklick), alle annehmen oder alle löschen. Die Entscheidung bleibt beim Menschen, die KI erledigt nur den mühsamen ersten Durchgang.
Getrennte Endpunkte für Bild und Text
Textaufgaben und visuelle Aufgaben können auf unterschiedliche KI-Endpunkte zeigen, sodass jeder Inhaltstyp das passende Modell bekommt:
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.5Zur vollständigen Dokumentation der visuellen KI-Unterstützung →
Anpassbare Layouts
Mit Potato 2.1 kannst du eigene visuelle Layouts bauen. Standardmäßig erzeugt Potato eine bearbeitbare Datei layouts/task_layout.html, und du kannst stattdessen eine eigene HTML-Vorlage einsetzen, mit CSS-Grid-Layouts, farbig unterschiedenen Optionen und eigenem Abschnitts-Styling.
task_layout: layouts/custom_task_layout.htmlUnter project-hub/layout-examples/ liegen drei Beispiel-Layouts. Das zur Inhaltsmoderation hat ein Warnbanner, ein zweispaltiges Raster und farbig abgestufte Schweregrade. Das zur Dialogbewertung zeigt Metadaten zum Fall, kreisförmige Likert-Skalen und gruppierte Einschätzungen. Das zur medizinischen Begutachtung ist wie ein strukturierter Befund aufgebaut.
Eigene Layouts vertragen sich mit dem neuen System zur Instanzanzeige: Die angezeigten Inhalte werden oberhalb deiner eigenen Annotationsformulare gerendert.
Zur vollständigen Dokumentation der Layout-Anpassung →
Weitere Verbesserungen
Begründungen zu Labels
Zu Hinweisen, Keyword-Hervorhebung und Labelvorschlägen kommt eine vierte KI-Fähigkeit. Begründungen schreiben eine abwägende Erklärung, warum ein Label jeweils passen könnte. Das hilft Annotierenden, die Überlegung hinter einer Klassifikation nachzuvollziehen, statt zu raten.
ai_support:
features:
rationales:
enabled: trueFehlerbehebungen und Tests
- Über 50 neue Tests für mehr Verlässlichkeit
- Korrekturen am responsiven Design quer durch die Annotationstypen
- Ein aufgeräumter project-hub, jetzt mit Layout-Beispielen
Umstieg auf v2.1
pip install --upgrade potato-annotationDeine bestehenden v2.0-Konfigurationen laufen unverändert weiter. Alles Neue schaltest du selbst dazu, über zusätzliche Konfigurationsblöcke wie instance_display, span_link-Schemata und visuelle KI-Endpunkte.
Loslegen
- Was ist neu, der komplette Funktionsüberblick zu v2.1
- Instanzanzeige, Anzeige multimodaler Inhalte
- Visuelle KI-Unterstützung, KI für Bild- und Videoannotation
- Span-Verknüpfung, Annotation von Beziehungen zwischen Entitäten
- Layout-Anpassung, eigene HTML-Vorlagen
Das vollständige Changelog und alle geänderten Konfigurationsschlüssel stehen in den Release Notes zu v2.1.0 im Repository.
Fragen oder Rückmeldungen? Komm in unseren Discord oder eröffne ein Issue auf GitHub.