AI-Unterstützung
LLMs für intelligente Annotationshilfe integrieren.
Potato 2.0 enthält integrierte Unterstützung für Large Language Models (LLMs), um Annotatoren mit intelligenten Hinweisen, Schlüsselwort-Hervorhebungen und Label-Vorschlägen zu unterstützen.
Unterstützte Anbieter
Potato unterstützt mehrere LLM-Anbieter:
Cloud-Anbieter:
- OpenAI (GPT-4, GPT-4 Turbo, GPT-3.5)
- Anthropic (Claude 3, Claude 3.5)
- Google (Gemini 1.5 Pro, Gemini 2.0 Flash)
- Hugging Face
- OpenRouter
Lokal/Self-Hosted:
- Ollama (Modelle lokal ausführen)
- vLLM (hochleistungsfähige selbst gehostete Inferenz)
Konfiguration
Grundeinrichtung
Fügen Sie Ihrer Konfigurationsdatei einen ai_support-Abschnitt hinzu:
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: trueAnbieterspezifische Konfiguration
OpenAI
instance_display:
fields:
- {key: body, type: text, label: Ticket}
- {key: screenshot, type: image, label: Screenshot}Anthropic Claude
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
include:
all: false
special_include:
"0":
"0": ["hint", "keyword"]
"1":
"1": ["hint"]
"2":
"0": ["hint", "keyword"]
"1": ["hint", "keyword"]Google Gemini
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
include:
all: true
cache_config:
disk_cache:
enabled: true
path: "annotation_output/ai_cache.json"
prefetch:
warm_up_page_count: 20
on_next: 10
on_prev: 3Lokales Ollama
# config.yaml, committed, no secrets
ai_support:
enabled: true
ai_config_file: ai-config.yaml
ai_config:
temperature: 0.7
max_tokens: 800
include:
all: truevLLM (Self-Hosted)
# ai-config.yaml, gitignored
endpoint_type: ollama
model: qwen3:0.6b
base_url: http://localhost:11434Visuelle AI-Endpunkte
Neu in v2.1.0
Für Bild- und Videoannotationsaufgaben unterstützt Potato dedizierte Vision-Endpunkte wie YOLO, Ollama Vision, OpenAI Vision und Anthropic Vision. Diese ermöglichen Objekterkennung, Vorausfüllen von Annotationen und visuelle Klassifikation.
Vollständige Konfigurationsdetails finden Sie unter Visuelle AI-Unterstützung.
AI-Funktionen
Potatos AI-Unterstützung bietet fünf primäre Fähigkeiten:
1. Intelligente Hinweise
Kontextbezogene Anleitung für Annotatoren bereitstellen, ohne die Antwort zu verraten:
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true2. Schlüsselwort-Hervorhebung
Relevante Schlüsselwörter im Text automatisch hervorheben:
ai_support:
enabled: true
endpoint_type: "anthropic"
ai_config:
model: "claude-sonnet-4-20250514"
api_key: "${ANTHROPIC_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true3. Label-Vorschläge
Labels zur Berücksichtigung durch Annotatoren vorschlagen (angezeigt mit Konfidenzindikatoren):
ai_support:
enabled: true
endpoint_type: "gemini"
ai_config:
model: "gemini-2.0-flash-exp"
api_key: "${GOOGLE_API_KEY}"
max_tokens: 800
include:
all: true4. Label-Begründungen
Neu in v2.1.0
Ausgewogene Erklärungen generieren, warum jedes Label auf den Text zutreffen könnte, damit Annotatoren die Überlegungen hinter verschiedenen Klassifikationen verstehen:
ai_support:
enabled: true
endpoint_type: "ollama"
ai_config:
model: "llama3.2"
base_url: "http://localhost:11434"
max_tokens: 800
include:
all: trueBegründungen erscheinen als Tooltip mit einer Auflistung der verfügbaren Labels und einer Erklärung, warum sie zutreffen könnten. Dies ist nützlich für das Training von Annotatoren oder wenn Annotationsentscheidungen schwierig sind.
5. Optionshervorhebung
Neu in v2.2.0
KI-gestützte Hervorhebung der wahrscheinlichsten richtigen Optionen für diskrete Annotationsaufgaben (radio, multiselect, likert, select). Das System analysiert den Inhalt und hebt die top-k wahrscheinlichsten Optionen hervor, während weniger wahrscheinliche abgedunkelt werden – alle Optionen bleiben vollständig klickbar.
ai_support:
enabled: true
endpoint_type: "vllm"
ai_config:
model: "meta-llama/Llama-3.2-3B-Instruct"
base_url: "http://localhost:8000"
max_tokens: 800
include:
all: trueVollständige Konfigurationsdetails finden Sie unter Optionshervorhebung.
Ergänzend: Diversity Ordering
Neu in v2.2.0
Obwohl nicht streng eine AI-Funktion, verwendet Diversity Ordering Sentence-Transformer-Embeddings, um Elemente zu clustern und in einer vielfältigen Reihenfolge zu präsentieren, was Annotatorermüdung reduziert und die Abdeckung verbessert. Es integriert sich in die AI-Unterstützung, indem AI-Hinweise für neu geordnete Elemente automatisch vorabgeladen werden.
Caching und Leistung
AI-Antworten können gecacht werden, um die Leistung zu verbessern und API-Kosten zu reduzieren:
ai_support:
enabled: true
endpoint_type: "open_router"
ai_config:
model: "openai/gpt-4o-mini"
api_key: "${OPENROUTER_API_KEY}"
max_tokens: 800
include:
all: trueCaching-Strategien
- Warmup: Vorab AI-Hinweise für einen initialen Batch von Instanzen beim Serverstart generieren (
warm_up_page_count) - Prefetch: Hinweise für bevorstehende Instanzen generieren, während Annotatoren vorwärts (
on_next) oder rückwärts (on_prev) navigieren - Festplattenbeständigkeit: Caches werden auf Festplatte gespeichert und bleiben über Serverneustarts hinweg erhalten
Benutzerdefinierte Prompts
Potato enthält Standardprompts für jeden Annotationstyp, die in potato/ai/prompt/ gespeichert sind. Sie können diese für Ihre spezifische Aufgabe anpassen:
| Annotationstyp | Prompt-Datei |
|---|---|
| Radio-Buttons | radio_prompt.txt |
| Likert-Skalen | likert_prompt.txt |
| Checkboxen | checkbox_prompt.txt |
| Span-Annotation | span_prompt.txt |
| Schieberegler | slider_prompt.txt |
| Dropdowns | dropdown_prompt.txt |
| Zahleneingabe | number_prompt.txt |
| Texteingabe | text_prompt.txt |
Prompts unterstützen Variablensubstitution:
{text}– Der Dokumenttext{labels}– Verfügbare Labels für das Schema{description}– Die Schemabeschreibung
Multi-Schema-Unterstützung
Bei Aufgaben mit mehreren Annotationsschemata können Sie AI-Unterstützung selektiv aktivieren:
ai_support:
enabled: true
endpoint_type: "ollama"
visual_endpoint_type: "ollama_vision"
ai_config:
model: "llama3.2"
include:
all: true
visual_ai_config:
model: "qwen2.5-vl:7b"Vollständiges Beispiel
Vollständige Konfiguration für KI-gestützte Sentiment-Analyse:
annotation_task_name: "Sentiment Analysis with AI Support"
task_dir: "."
data_files:
- "data/reviews.json"
item_properties:
id_key: id
text_key: text
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the sentiment of this text?"
labels: ["positive", "negative", "neutral"]
- annotation_type: multiselect
name: topics
description: "What topics are discussed?"
labels: ["product", "service", "price", "quality"]
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
temperature: 0.7
max_tokens: 800
include:
all: true
cache_config:
disk_cache:
enabled: true
path: "annotation_output/ai_cache.json"
prefetch:
warm_up_page_count: 20
on_next: 10
on_prev: 3
output_annotation_dir: "output/"
export_annotation_format: jsonl
user_config:
allow_all_users: trueUmgebungsvariablen
API-Keys sicher über Umgebungsvariablen speichern:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="..."Referenzieren Sie diese in Ihrer Konfiguration mit der Syntax ${VARIABLE_NAME}.
Kostenüberlegungen
- AI-Aufrufe werden standardmäßig pro Instanz durchgeführt
- Caching aktivieren, um wiederholte API-Aufrufe zu reduzieren
- Warmup und Prefetch nutzen, um Hinweise vorab zu generieren
- Kleinere/günstigere Modelle für einfache Aufgaben in Betracht ziehen
- Lokale Anbieter (Ollama, vLLM) haben keine API-Kosten
Bewährte Vorgehensweisen
- AI als Unterstützung, nicht als Ersatz nutzen – Annotatoren sollten endgültige Entscheidungen treffen
- Caching für die Produktion aktivieren – Reduziert Latenz und Kosten
- Prompts gründlich testen – Benutzerdefinierte Prompts sollten validiert werden
- API-Kosten überwachen – Besonders bei Cloud-Anbietern die Nutzung verfolgen
- Lokale Anbieter in Betracht ziehen – Ollama oder vLLM für hochvolumige Annotation
- API-Anmeldedaten schützen – Umgebungsvariablen verwenden, Keys niemals einchecken
Weiterführende Informationen
- Optionshervorhebung – KI-gestützte Optionsführung
- Diversity Ordering – Embedding-basierte Elementdiversifizierung
- Visuelle AI-Unterstützung – AI für Bild- und Videoannotation
- ICL-Beschriftung – KI-gestütztes In-Context-Learning
- Active Learning – ML-basierte Instanzpriorisierung
- Produktivitätsfunktionen – Schlüsselwort-Hervorhebungen und Vorschläge
Implementierungsdetails und benutzerdefinierte Prompt-Vorlagen finden Sie in der Quelldokumentation.