ICL-Beschriftung
KI-gestützte In-Context-Learning-Beschriftung mit menschlicher Verifikation für skalierbare Annotation.
KI-gestützte ICL-Beschriftung
Potatos ICL (In-Context Learning)-Beschriftungsfunktion ermöglicht KI-gestützte Annotation, indem hochkonfidente menschliche Annotationen als In-Context-Beispiele genutzt werden, um ein LLM bei der Beschriftung der restlichen Daten zu leiten. Das System verfolgt die LLM-Konfidenz und leitet Vorhersagen zur Verifikation zurück an Menschen.
Übersicht
Das ICL-Beschriftungssystem:
- Sammelt hochkonfidente Beispiele: Identifiziert Instanzen, bei denen Annotatoren übereinstimmen (z. B. 80 %+ Übereinstimmung)
- Beschriftet mit LLM: Verwendet Beispiele, um ein LLM zur Beschriftung nicht annotierter Instanzen zu prompen
- Verfolgt Konfidenz: Erfasst LLM-Konfidenzwerte für jede Vorhersage
- Verifiziert Genauigkeit: Leitet eine Stichprobe LLM-beschrifteter Instanzen zur blinden Verifikation an Menschen
- Berichtet Metriken: Berechnet und zeigt LLM-Genauigkeit basierend auf Verifikationsergebnissen
Funktionen
Automatische Beispielerfassung
Das System identifiziert automatisch hochkonfidente Beispiele, bei denen mehrere Annotatoren übereinstimmen:
- Konfigurierbarer Übereinstimmungsschwellenwert (Standard: 80 %)
- Mindestanzahl an Annotatoren (Standard: 2)
- Automatische Aktualisierung in konfigurierbaren Intervallen
- Beispielmengen pro Schema
LLM-Beschriftung mit Grenzen
Um iterative Verbesserung statt Massen-Beschriftung zu ermöglichen:
- Max. Gesamtlabels: Gesamtzahl der LLM-Vorhersagen begrenzen
- Max. unbeschriftetes Verhältnis: Nur einen Prozentsatz der verbleibenden Daten beschriften
- Pause bei niedriger Genauigkeit: Automatisch pausieren, wenn die Genauigkeit unter den Schwellenwert fällt
Blinde Verifikation
Die Verifikation verwendet "blinde Beschriftung" – Annotatoren sehen die Instanz als normale Aufgabe, ohne die LLM-Vorhersage zu kennen:
- Konfigurierbarer Stichprobensatz (Standard: 20 % der LLM-Labels)
- Mehrere Auswahlstrategien:
low_confidence,random,mixed - Verifikationsaufgaben werden natürlich mit regulären Zuweisungen gemischt
Konfiguration
ICL-Beschriftung erfordert die Aktivierung von ai_support:
# AI endpoint configuration (required)
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
# ICL labeling configuration
icl_labeling:
enabled: true
# Example selection settings
example_selection:
min_agreement_threshold: 0.8 # 80% annotators must agree
min_annotators_per_instance: 2 # Minimum annotations for consensus
max_examples_per_schema: 10 # Max examples per schema in prompt
refresh_interval_seconds: 300 # How often to refresh examples
# LLM labeling settings
llm_labeling:
batch_size: 20
trigger_threshold: 5 # Min examples before LLM labeling starts
confidence_threshold: 0.7 # Min confidence to accept prediction
batch_interval_seconds: 600
max_total_labels: 100 # Max instances to label total
max_unlabeled_ratio: 0.5 # Max portion of unlabeled to label
pause_on_low_accuracy: true
min_accuracy_threshold: 0.7
# Human verification settings
verification:
enabled: true
sample_rate: 0.2 # 20% of LLM labels verified
selection_strategy: "low_confidence"
mix_with_regular_assignments: true
assignment_mix_rate: 0.2Auswahlstrategien
- low_confidence: Priorisiert die Verifikation der am wenigsten konfidenten LLM-Vorhersagen
- random: Zufällige Stichprobe aus allen Vorhersagen
- mixed: 50 % niedrige Konfidenz + 50 % zufällig
Admin-API
Status-Endpunkt
GET /admin/api/icl/statusGibt den Gesamtstatus des ICL-Beschrifters zurück, einschließlich Beispiele pro Schema, gemachte Vorhersagen, Größe der Verifikationswarteschlange und Genauigkeitsmetriken.
Beispiele-Endpunkt
GET /admin/api/icl/examples?schema=sentimentGibt hochkonfidente Beispiele zurück, optional nach Schema gefiltert.
Genauigkeits-Endpunkt
GET /admin/api/icl/accuracy?schema=sentimentGibt Genauigkeitsmetriken basierend auf menschlichen Verifikationsergebnissen zurück.
Manueller Auslöse-Endpunkt
POST /admin/api/icl/trigger
Content-Type: application/json
{"schema_name": "sentiment"}Löst die Batch-Beschriftung für ein bestimmtes Schema manuell aus.
Nutzungsworkflow
1. Projekt konfigurieren
ai_support:
enabled: true
endpoint_type: "openai"
ai_config:
model: "gpt-4o-mini"
api_key: "${OPENAI_API_KEY}"
icl_labeling:
enabled: true
example_selection:
min_agreement_threshold: 0.8
llm_labeling:
max_total_labels: 50 # Start small
verification:
enabled: true
sample_rate: 0.3 # Verify 30% initially2. Menschliche Annotationen sammeln
Annotatoren beschriften Daten normal. Sobald sie Konsens erreichen (80 %+ Übereinstimmung), stehen diese Instanzen als Beispiele zur Verfügung.
3. Fortschritt überwachen
curl http://localhost:8000/admin/api/icl/status4. Genauigkeit überprüfen
curl http://localhost:8000/admin/api/icl/accuracy5. Iterieren
Basierend auf der Genauigkeit:
- Wenn die Genauigkeit hoch ist (>80 %),
max_total_labelserhöhen - Wenn die Genauigkeit niedrig ist, mehr menschliche Beispiele hinzufügen, bevor fortgefahren wird
Bewährte Vorgehensweisen
-
Klein anfangen: Mit konservativen Grenzen beginnen (
max_total_labels: 50), um die Genauigkeit vor dem Skalieren zu beurteilen -
Früh verifizieren: Anfangs einen höheren
sample_rate(0,3–0,5) verwenden, um konfidente Genauigkeitsschätzungen zu erhalten -
Aktiv überwachen: Genauigkeitsmetriken regelmäßig über die Admin-API prüfen
-
Schwellenwerte anpassen: Wenn die LLM-Genauigkeit niedrig ist:
min_agreement_thresholdfür sauberere Beispiele erhöhentrigger_thresholderhöhen, um vor der Beschriftung mehr Beispiele zu habenconfidence_thresholdsenken, um unsichere Vorhersagen abzulehnen
-
Auswahlstrategien nutzen:
low_confidence: Am besten zur Identifizierung problematischer Kategorienrandom: Am besten für unvoreingenommene Genauigkeitsschätzungenmixed: Ausgewogener Ansatz
Fehlerbehebung
LLM beschriftet nicht
- Prüfen, ob
ai_supportkorrekt konfiguriert ist - Sicherstellen, dass ausreichend hochkonfidente Beispiele vorhanden sind
- Prüfen, ob die Beschriftung aufgrund von Grenzen oder niedriger Genauigkeit pausiert ist
Niedrige Genauigkeit
min_agreement_thresholdfür sauberere Beispiele erhöhen- Weitere Annotationsrichtlinien/Anweisungen hinzufügen
- Verwendete Beispiele überprüfen (
/admin/api/icl/examples)
Verifikationsaufgaben erscheinen nicht
- Sicherstellen, dass
verification.enabledtrue ist - Prüfen, ob
mix_with_regular_assignmentstrue ist - Sicherstellen, dass ausstehende Verifikationen in der Warteschlange vorhanden sind
Weiterführende Informationen
- AI-Unterstützung – Allgemeine AI-Endpunkt-Konfiguration
- Active Learning – Verwandte KI-gestützte Funktionen
- Qualitätskontrolle – Genauigkeitsverfolgung
Implementierungsdetails finden Sie in der Quelldokumentation.