Rotulagem por ICL
Use aprendizado em contexto no Potato para que um LLM pré-rotule instâncias e depois encaminhe as ambíguas para verificação humana — escalando a anotação com IA no fluxo.
O recurso de rotulagem por ICL (In-Context Learning, aprendizado em contexto) do Potato possibilita a anotação assistida por IA usando anotações humanas de alta confiança como exemplos em contexto para guiar um LLM na rotulagem dos dados restantes. O sistema acompanha a confiança do LLM e encaminha as previsões de volta aos humanos para verificação.
Visão Geral
O sistema de rotulagem por ICL:
- Coleta Exemplos de Alta Confiança: Identifica instâncias em que os anotadores concordam (por exemplo, 80% ou mais de concordância)
- Rotula com o LLM: Usa os exemplos para instruir um LLM a rotular as instâncias não rotuladas
- Acompanha a Confiança: Registra as pontuações de confiança do LLM para cada previsão
- Verifica a Precisão: Encaminha uma amostra das instâncias rotuladas pelo LLM para verificação cega por humanos
- Reporta Métricas: Calcula e exibe a precisão do LLM com base nos resultados da verificação
Recursos
Coleta Automática de Exemplos
O sistema identifica automaticamente exemplos de alta confiança em que vários anotadores concordam:
- Limite de concordância configurável (padrão: 80%)
- Requisito de contagem mínima de anotadores (padrão: 2)
- Atualização automática em intervalo configurável
- Conjuntos de exemplos por esquema
Rotulagem por LLM com Limites
Para possibilitar a melhoria iterativa em vez da rotulagem em massa:
- Máximo total de rótulos: Limita o número total de previsões do LLM
- Razão máxima de não rotulados: Rotula apenas uma porcentagem dos dados restantes
- Pausa em baixa precisão: Pausa automaticamente se a precisão cair abaixo do limite
Verificação Cega
A verificação usa "rotulagem cega" - os anotadores veem a instância como uma tarefa normal sem conhecer a previsão do LLM:
- Taxa de amostragem configurável (padrão: 20% dos rótulos do LLM)
- Múltiplas estratégias de seleção:
low_confidence,random,mixed - Tarefas de verificação misturadas naturalmente com as atribuições regulares
Configuração
A rotulagem por ICL requer que o ai_support esteja 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.2Estratégias de Seleção
- low_confidence: Prioriza verificar primeiro as previsões menos confiantes do LLM
- random: Amostragem aleatória de todas as previsões
- mixed: 50% de baixa confiança + 50% aleatório
API de Administração
Endpoint de Status
GET /admin/api/icl/statusRetorna o status geral do rotulador ICL, incluindo exemplos por esquema, previsões feitas, tamanho da fila de verificação e métricas de precisão.
Endpoint de Exemplos
GET /admin/api/icl/examples?schema=sentimentRetorna os exemplos de alta confiança, opcionalmente filtrados por esquema.
Endpoint de Precisão
GET /admin/api/icl/accuracy?schema=sentimentRetorna métricas de precisão com base nos resultados da verificação humana.
Endpoint de Acionamento Manual
POST /admin/api/icl/trigger
Content-Type: application/json
{"schema_name": "sentiment"}Aciona manualmente a rotulagem em lote para um esquema específico.
Fluxo de Trabalho de Uso
1. Configure Seu Projeto
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. Colete Anotações Humanas
Faça os anotadores rotularem os dados normalmente. À medida que chegam a um consenso (80% ou mais de concordância), essas instâncias ficam disponíveis como exemplos.
3. Acompanhe o Progresso
curl http://localhost:8000/admin/api/icl/status4. Revise a Precisão
curl http://localhost:8000/admin/api/icl/accuracy5. Itere
Com base na precisão:
- Se a precisão for alta (>80%), aumente
max_total_labels - Se a precisão for baixa, adicione mais exemplos humanos antes de continuar
Boas Práticas
-
Comece Pequeno: Inicie com limites conservadores (
max_total_labels: 50) para avaliar a precisão antes de escalar -
Verifique Cedo: Use uma
sample_ratemais alta no início (0,3-0,5) para obter estimativas de precisão confiáveis -
Monitore Ativamente: Verifique as métricas de precisão regularmente pela API de administração
-
Ajuste os Limites: Se a precisão do LLM for baixa:
- Aumente
min_agreement_thresholdpara exemplos mais limpos - Aumente
trigger_thresholdpara mais exemplos antes de rotular - Reduza
confidence_thresholdpara rejeitar previsões incertas
- Aumente
-
Use Estratégias de Seleção:
low_confidence: Melhor para identificar categorias problemáticasrandom: Melhor para estimativas de precisão imparciaismixed: Abordagem equilibrada
Solução de Problemas
O LLM Não Está Rotulando
- Verifique se o
ai_supportestá configurado corretamente - Confirme se há exemplos de alta confiança suficientes
- Verifique se a rotulagem está pausada por causa de limites ou baixa precisão
Baixa Precisão
- Aumente
min_agreement_thresholdpara exemplos mais limpos - Adicione mais diretrizes/instruções de anotação
- Revise os exemplos em uso (
/admin/api/icl/examples)
Tarefas de Verificação Não Aparecem
- Confirme se
verification.enabledé true - Verifique se
mix_with_regular_assignmentsé true - Confirme se há verificações pendentes na fila
Leitura Complementar
- Suporte de IA - Configuração geral de endpoint de IA
- Aprendizado Ativo - Recursos relacionados assistidos por IA
- Controle de Qualidade - Acompanhamento de precisão
Para detalhes de implementação, consulte a documentação de origem.