Etiquetado ICL
Etiquetado asistido por IA con aprendizaje en contexto y verificación humana para anotación escalable.
Etiquetado ICL Asistido por IA
La función de etiquetado ICL (In-Context Learning) de Potato permite la anotación asistida por IA utilizando anotaciones humanas de alta confianza como ejemplos en contexto para guiar a un LLM en el etiquetado de los datos restantes. El sistema rastrea la confianza del LLM y envía las predicciones de vuelta a los humanos para su verificación.
Descripción General
El sistema de etiquetado ICL:
- Recopila Ejemplos de Alta Confianza: Identifica instancias donde los anotadores coinciden (por ejemplo, 80%+ de acuerdo)
- Etiqueta con LLM: Usa los ejemplos para solicitar al LLM que etiquete instancias sin etiquetar
- Rastrea la Confianza: Registra las puntuaciones de confianza del LLM para cada predicción
- Verifica la Precisión: Envía una muestra de instancias etiquetadas por el LLM a humanos para verificación ciega
- Reporta Métricas: Calcula y muestra la precisión del LLM basándose en los resultados de verificación
Características
Recopilación Automática de Ejemplos
El sistema identifica automáticamente ejemplos de alta confianza donde múltiples anotadores coinciden:
- Umbral de acuerdo configurable (por defecto: 80%)
- Requisito mínimo de número de anotadores (por defecto: 2)
- Actualización automática en intervalo configurable
- Grupos de ejemplos por esquema
Etiquetado LLM con Límites
Para permitir mejora iterativa en lugar de etiquetado masivo:
- Máximo total de etiquetas: Limita el número total de predicciones del LLM
- Ratio máximo sin etiquetar: Solo etiqueta un porcentaje de los datos restantes
- Pausar por baja precisión: Se pausa automáticamente si la precisión cae por debajo del umbral
Verificación Ciega
La verificación utiliza "etiquetado ciego" — los anotadores ven la instancia como una tarea normal sin conocer la predicción del LLM:
- Tasa de muestreo configurable (por defecto: 20% de las etiquetas del LLM)
- Múltiples estrategias de selección:
low_confidence,random,mixed - Las tareas de verificación se mezclan naturalmente con las asignaciones regulares
Configuración
El etiquetado ICL requiere que ai_support esté habilitado:
# 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.2Estrategias de Selección
- low_confidence: Prioriza la verificación de las predicciones menos confiables del LLM primero
- random: Muestreo aleatorio de todas las predicciones
- mixed: 50% baja confianza + 50% aleatorio
API de Administración
Endpoint de Estado
GET /admin/api/icl/statusDevuelve el estado general del etiquetador ICL incluyendo ejemplos por esquema, predicciones realizadas, tamaño de la cola de verificación y métricas de precisión.
Endpoint de Ejemplos
GET /admin/api/icl/examples?schema=sentimentDevuelve ejemplos de alta confianza, opcionalmente filtrados por esquema.
Endpoint de Precisión
GET /admin/api/icl/accuracy?schema=sentimentDevuelve métricas de precisión basadas en los resultados de verificación humana.
Endpoint de Activación Manual
POST /admin/api/icl/trigger
Content-Type: application/json
{"schema_name": "sentiment"}Activa manualmente el etiquetado por lotes para un esquema específico.
Flujo de Trabajo
1. Configura Tu Proyecto
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. Recopila Anotaciones Humanas
Haz que los anotadores etiqueten datos normalmente. A medida que alcanzan consenso (80%+ de acuerdo), esas instancias se vuelven disponibles como ejemplos.
3. Monitorea el Progreso
curl http://localhost:8000/admin/api/icl/status4. Revisa la Precisión
curl http://localhost:8000/admin/api/icl/accuracy5. Itera
Basándote en la precisión:
- Si la precisión es alta (>80%), aumenta
max_total_labels - Si la precisión es baja, agrega más ejemplos humanos antes de continuar
Mejores Prácticas
-
Comienza Pequeño: Empieza con límites conservadores (
max_total_labels: 50) para evaluar la precisión antes de escalar -
Verifica Temprano: Usa una tasa de muestreo más alta inicialmente (0.3-0.5) para obtener estimaciones de precisión confiables
-
Monitorea Activamente: Revisa las métricas de precisión regularmente a través de la API de administración
-
Ajusta los Umbrales: Si la precisión del LLM es baja:
- Aumenta
min_agreement_thresholdpara ejemplos más limpios - Aumenta
trigger_thresholdpara más ejemplos antes del etiquetado - Reduce
confidence_thresholdpara rechazar predicciones inciertas
- Aumenta
-
Usa Estrategias de Selección:
low_confidence: Mejor para identificar categorías problemáticasrandom: Mejor para estimaciones de precisión imparcialesmixed: Enfoque equilibrado
Solución de Problemas
El LLM No Etiqueta
- Verifica que
ai_supportesté configurado correctamente - Comprueba que existan suficientes ejemplos de alta confianza
- Verifica si el etiquetado está pausado debido a límites o baja precisión
Baja Precisión
- Aumenta
min_agreement_thresholdpara ejemplos más limpios - Agrega más guías/instrucciones de anotación
- Revisa los ejemplos que se están usando (
/admin/api/icl/examples)
Las Tareas de Verificación No Aparecen
- Verifica que
verification.enabledsea true - Comprueba que
mix_with_regular_assignmentssea true - Verifica que haya verificaciones pendientes en la cola
Lecturas Adicionales
- AI Support - Configuración general del endpoint de IA
- Active Learning - Funciones relacionadas asistidas por IA
- Quality Control - Seguimiento de precisión
Para detalles de implementación, consulta la documentación fuente.